歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Vim簡單使用

Vim簡單使用

日期:2017/2/28 14:36:17   编辑:Linux教程

一、簡介:
vim是vi的升級版本,是vi的升級版中最優秀的一款文本編輯。vim是模式化的文本編輯器,通過搭配各種編輯命令可以很高效的完成文本的各種操作。

二、vim的3種模式:
1、插入模式
vim的插入模式是最簡單的模式,插入模式就相當於windows 下notepad一樣。但是,vim默認打開的是編輯模式,需要通過編輯命令才可以進入插入模式。
2、編輯模式
vim的編輯模式是默認打開的,進入其他2種模式都需要通過編輯模式,並且絕大部分的操作都是在編輯模式完成的。
3、末行模式
vim的末行模式可以完成編輯模式的絕大部分功能並且還可以完成一些在編輯模式下無法完成的功能,比如各種屬性的設置等等。


三、簡單的使用介紹
1、vim的使用格式
vim [options] [FILE]...

vim:打開一個空文件
vim /path/to/somefile:打開/path/to/somefile


vim +[#] /path/to/somefile:'#'代表數字, 打開/path/to/somefile文件並自動將光標定位到'#'行。'#'是可選的,vim後面只跟'+'號代表打開文件後自動將光標定位到行尾。


vim -o /path/to/somefile ...:以橫向分割的方式打開多個文件,多個文件間通過next、prev、first、last進行移動
vim -O /path/to/somefile ...:以縱向分割的方式打開多個文件,多個文件間通過next、prev、first、last進行移動


2、vim的退出方式
編輯模式下:ZZ(shift+zz),表示如果文件內容有改變則保存退出,沒有改變則不保存退出
末行模式下:
:q,不保存退出
:w,保存
:wq,保存退出
:x,保存退出
:{q|wq|w|x}!,表示強行執行前面字符代表的動作
:{q|w|wq|x}all,在同時打開多個文件時關閉所有的文件,


3、模式間的轉換:
編輯模式--->插入模式
i,在當前光標處進入插入模式
I,在當前光標所在行首進入插入模式
a,在當前光標後進入插入模式
A,在當前光標所在行尾進入插入模式
o,在當前光標所在行下方行首進入插入模式
O,在當前光標所在行上方行首進入插入模式


編輯模式--->末行模式
:,輸入':'進入


插入模式--->編輯模式
按ESC進入


插入模式--->末行模式
按ESC先進入編輯模式,再輸入':'進入末行模式


末行模式--->編輯模式
按ESC ESC進入


末行模式--->插入模式
按兩個ESC先進入編輯模式,再通過{iIaAoO}進入插入模式


4、編輯模式下光標間的跳轉


光標移動:


j:向下移動,#j:'#'代表數字,向下移動'#'行
k:向上移動,#k:'#'代表數字,向上移動'#'行
h:向左移動,#h:'#'代表數字,向左移動'#'個字符
l:向右移動,#l:'#'代表數字,向右移動'#'個字符


行間移動:


gg|1G,移動到文件首部
#G,'#'代表數字,移動到'#'行
G,移動到文件尾部


單詞移動:


w,向後移動一個單詞,並定位到單詞的首部
b,向前移動一個單詞,並定位到單詞的首部,如果光標在一個單詞的中間,首先移動到此單詞的首部
e,向後移動一個單詞,並定位到單詞的尾部,如果光標在一個單詞的中間,首先移動到此單詞的尾部
#{wbe},表示移動'#'個單詞,並定位到相應的位置


行內移動:
^,表示移動到第一個非空白字符處
0,表示移動到絕對行首
$,表示移動到絕對行尾


句間移動:
(,表示移動到上一句
),表示移動到下一句


段間移動:
{,表示移動到上一段
},表示移動到下一段


屏間移動:
ctrl+f,向下翻一屏
ctrl+b,向上翻一屏
ctrl+d,向下翻半屏
ctrl+u,向上翻半屏


5、編輯命令
x:從當前光標開始向後刪除單個字符
#x:從當前光標開始向後刪除'#'個字符
X:從當前光標開始向前刪除單個字符
#X:從當前光標開始向前刪除'#'個字符

d:表示刪除,d命令只能搭配光標間跳轉命令一起使用,常用的組合有:


d^:刪除當前光標所在位置到行首非空白字符之間的所有內容
d0:刪除當前光標所在位置到行首之間的所有內容
d$:刪除當前光標所在位置到行尾之間的所有內容
dG:刪除當前光標所在行到文件尾部的所有內容
ggdG:刪除全文
dd:刪除當前光標所在行
#dd:刪除當前光標所在行及向下的行,一共'#'行


y:表示復制,y命令使用方式與d命令相同


p:粘貼,復制或刪除的內容是整行則粘貼到光標所在行下方,復制或刪除內容不是整行則粘貼到光標所在位置後方
P:粘貼,復制或刪除的內容是整行則粘貼到光標所在行上方,復制或刪除內容不是整行則粘貼到光標所在位置前方


u:撤銷當前操作,最多可以進行撤銷最近50次操作
ctrl+r:撤銷之前的撤銷


c:刪除所選內容並進入插入模式。c命令的使用方法和d、y命令相同
cc:刪除光標所在行並進入插入模式


s:刪除光標所在字符,並進入插入模式
S:刪除光標所在行,並進入插入模式,等同於cc


v:可視化編輯,縱向進行選擇,可以在字符間進行移動選擇,選擇完成後可以搭配{dyp}命令進行操作
V:可視化編輯,縱向整行選擇,選擇完成後可以搭配{dyp}命令進行操作


ctrl+w,s:水平分割顯示同一個文件
ctrl+w,v:垂直分割顯示同一個文件
ctrl+w,箭頭:進行分割的窗口中移動

6、末行模式
a,地址定界,末行模式支持地址定界,可以指定在第幾行到第幾行之間進行操作:
1,10:表示1到10行
1,$:表示1到文件尾部
%:表示全文
.,$:表示光標所在行到文件尾部
1,+#:表示從光標所在行開始再向下數'#'行


d命令可以搭配地址定界更加靈活的使用,如:
1,10d:表示刪除1到10行
%d:表示刪除全文
b,文件搜索,搜索可以使用模式搭配正則表達式進行
/:表示向文件尾部進行搜索
?:表示向文件首部進行搜索
n:表示以搜索方向一致的方向搜索下一個
N:表示以搜索方向相反的方向搜索下一個
c,查找替換,查找替換前可以搭配地址定界符進行范圍定界,查找部分可以使用模式搭配正則表達式進行,替換部分不能使用模式
格式:
s///[options]:s是命令,第一個'/'和第二個'/'之間是查找部分,第二個'/'和第三個'/'之間是替換部分,[options]是修飾參數可選。


常用修飾參數:
g:全局替換
i:忽略大小寫


///:可以使用任意不被匹配到符號


例如:
刪除行首開頭的#;
:%s/^#//
刪除行首開頭的#及後面緊跟的空白字符;
:%s/^#[[:space:]]*//
為空白字符開頭的行的行首加上#;
:%s/^[[:sapce:]]/#&/
刪除/etc/grub.conf文件中行首的空白符;
:%s/^[[:space:]]//
替換/etc/inittab文件中"id:3:initdefault:"一行中的數字為5;
:%s/:3:/:5:/
刪除某文件中開頭的#號及後面的空白字符,但要求#號後面必須有空白字符;
:s/^#[[:space:]]\{1,\}//
替換文件中/dev/null為/tmp/null.txt忽略大小寫;
:s/\/dev\/null/\/tmp\/null.txt/gi
:s#/dev/null#/tmp/null.txt#gi
d,屬性定制,只針對當前vim進程生效
常用選項:
:set nu ,打開行號
:set nonu ,關閉行號


:set ai ,打開自動縮進
:set noai ,關閉自動縮進


:set ic ,不區分大小寫
:set noic ,區分大小寫


:set sm,顯示匹配括號
:set nosm ,不現實匹配括號


:set hlsearch ,打開搜索高亮
:set nohlsearch ,關閉搜索高亮


:syntax on ,打開語法高亮
:syntax off ,關閉語法高亮


e、配置文件
全局配置文件/etc/vimrc,只有管理員可以編輯,所有用戶有效
用戶配置文件~/.vimrc ,只有當前用戶有效

屬性定制選項全部可以寫入配置文件中,以便長期生效

推薦閱讀:

Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm

快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm

強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm

在CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm

Vim 7.4a 發布,全新更快的正則表達式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htm

CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm

Vim技巧分享:C語言設置 http://www.linuxidc.com/Linux/2012-12/77124.htm

Ubuntu中設置Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm

Vim編輯器使用基礎教程 http://www.linuxidc.com/Linux/2013-05/84031.htm

Copyright © Linux教程網 All Rights Reserved