vi命令可以說是unix/linux世界裡最常用的編輯檔案的命令了,但是因為它的命令集眾多,很多人都不習慣使用它,其實您只需要掌握基本命令,然後加以靈活運用,就會發現它的優勢,並會逐漸喜歡使用這種方法。本文旨在介紹vi的一些最常用命令和高階應用技巧。
編輯模式(命令模式)
輸入模式
末行模式
i: 在當前游標所在字元的前面,轉為輸入模式;
a: 在當前游標所在字元的後面,轉為輸入模式;
o: 在當前游標所在行的下方,新建一行,並轉為輸入模式;
i:在當前游標所在行的行首,轉換為輸入模式
a:在當前游標所在行的行尾,轉換為輸入模式
o:在當前游標所在行的上方,新建一行,並轉為輸入模式;
escesc, esc
# vim /path/to/somefile
vim +# :開啟檔案,並定位於第#行
vim +:開啟檔案,定位至最後一行
vim +/pattern : 開啟檔案,定位至第一次被pattern匹配到的行的行首
預設處於編輯模式
:q 退出
:wq 儲存並退出
:q! 不儲存並退出
:w 儲存
:w! 強行儲存
:wq --> :x
zz: 儲存並退出
h: 左
l: 右
j: 下
k: 上
#h: 移動#個字元;
w: 移至下乙個單詞的詞首
e: 跳至當前或下乙個單詞的詞尾
b: 跳至當前或前乙個單詞的詞首
#w:
0: 絕對行首
^: 行首的第乙個非空白字元
$: 絕對行尾
#g:跳轉至第#行;
g:最後一行
末行模式下,直接給出行號回車即可
ctrl + n : 跳轉到下一行行首
ctrl + p : 跳轉到上一行行首
ctrl+f: 向下翻一屏
ctrl+b: 向上翻一屏
ctrl+d: 向下翻半屏
ctrl+u: 向上翻半屏
x: 刪除游標所在處的單個字元
#x: 刪除游標所在處及向後的共#個字元
d: 命令跟跳轉命令組合使用;
#dw : 刪除乙個單詞
#de : 刪除到乙個單詞的尾部
#db : 刪除到乙個單詞的首部
dd : 刪除當前游標所在行
#dd : 刪除包括當前游標所在行在內的#行;
d$ : 刪除到行末
d0 : 刪除到行首
格式: startadd,endaddd
. : 表示當前行
$ : 最後一行
+# : 向下的#行
如 : 1,8d 刪除1到8行; .,+5d 刪除當前行和之後的5行; .,$-3d 刪除當前行到倒數第3行;
最後一次被刪除的內容會被放入緩衝區當中,可用於黏貼
連續u命令可撤消此前的n次編輯操作
#u: 直接撤消最近#次編輯操作
撤消最近一次撤消操作:ctrl+r
最多能撤銷最近50操作;
v: 按字元選取
v:按矩形選取
shift+3 : 查詢游標所在字元(?\)
shift+8 : 查詢游標所在字元(/\)
/pattern
?patternnn
在末行模式下使用s命令
addr1,addr2s@pattern@string@gi
1,$%:表示全文
如: 1,$-2s/h/h/gi ; %s/h/h/gi
vim file1 file2 file3
:next 切換至下乙個檔案
:prev 切換至前乙個檔案
:last 切換至最後乙個檔案
:first 切換至第乙個檔案
退出:qa 全部退出
ctrl+w, s: 水平拆分視窗
ctrl+w, v: 垂直拆分視窗
在視窗間切換游標:
ctrl+w, arrow
:qa 關閉所有視窗
vim -o : 水平分割顯示
vim -o : 垂直分割顯示
末行模式下使用w命令
:w:addr1,addr2w /path/to/somewhere
如: 1,2w 12line
:r /path/to/somefile
:! command
1、顯示或取消顯示行號
:set number
:set nu
:set nonu
2、顯示忽略或區分字元大小寫
:set ignorecase
:set ic
:set noic
3、設定自動縮排
:set autoindent
:set ai
:set noai
4、查詢到的文字高亮顯示或取消
:set hlsearch
:set nohlsearch
5、語法高亮
:syntax on
:syntax off
/etc/vimrc
~/.vimrc
vi 常用技巧
vi命令可以說是unix linux世界裡最常用的編輯檔案的命令了,但是因為它的命令集眾多,很多人都不習慣使用它,其實您只需要掌握基本命令,然後加以靈活運用,就會發現它的優勢,並會逐漸喜歡使用這種方法。本文旨在介紹vi的一些最常用命令和高階應用技巧。編輯模式 命令模式 輸入模式 末行模式 i 在當前...
Vi常用小技巧
set nu 顯示行號 set nonu 取消顯示行號 shift g 最後一行 1 shift g 第一行 gg也行 ng n 為數字。移動到這個檔案的第 n 行 shift 4 行尾 0 行首 d158 刪除158行 dd 刪除當前一行 在一般模式之中,只要按下 i,o,a 等字元就可以進入輸入...
10個VI的常用技巧
1.開啟和關閉行號 set nu set nonu 2.自動縮排 set autoindent set shiftwidth 4 3.搜尋時不區分大小寫 set ic set noic 4.復合搜尋 如果希望搜尋出現在另乙個模式或字串後面的某個模式或字串,不管這兩個模式或 字串是否在同一行上,那麼可...