Linux基礎(chǔ)教程之vim編輯器使用入門
1、vim介紹
Vim是從 vi 發(fā)展出來的一個文本編輯器,處理文本文件功能強大。
三種主要模式:
Vim打開文件,默認命令(Normal)模式,可以移動光標,剪切和粘貼。
按鍵i 進入插入(Insert)模式,用戶可以編輯文本。
擴展(Extended)命令模式(或末行模式)用戶:wq可保存退出,或者:q!強制退出。
Exc按鍵可退出當前模式。2、文本操作
vim 打開文本文件
????????vim +# :打開文件,并定位于第#行
????????vim +:打開文件,定位至最后一行
????????vim +/PATTERN : 打開文件,定位至第一次被PATTERN匹配到的行的行首
移動光標(編輯模式)
單個移動: h: 左, l: 右, j: 下, k: 上。
? ? ? ?#h: 移動#個字符
w: 移至下一個單詞的詞首
行內(nèi)跳轉(zhuǎn):0: 絕對行首??$: 絕對行尾??^: 跳轉(zhuǎn)至行首的第一個非空白字符
句間移動:):下一句(:上一句
段落間移動:}:下一段{:上一段
在整個文件里面移動光標
<Ctrl-f>:向下移動一屏。<Ctrl-d>:向下移動半屏。
<Ctrl-b>:向上移動一屏。<Ctrl-u>:向上移動半屏。
G:到文件尾
#G:移動光標到指定的行
gg:到文件首
H:移動光標到屏幕上面
M:移動光標到屏幕中間
L:移動光標到屏幕下面
3、搜索
/word:從當前光標處開始搜索字符串?word,按?n移動到下個單詞處,N 移動到上一個。
?word:和上面類似,但是是反方向。
4、編輯文本
插入模式
i:在當前字符的左邊插入
I:在當前行首插入
a:在當前字符的右邊插入
A:在當前行尾插入
o:在當前行下面插入一個新行
O:在當前行上面插入一個新行
刪除單個字符
x: 刪除光標所在處的單個字符
#x: 刪除光標所在處及向后的共#個字符
刪除命令:
d$: 刪除到行尾
d^:刪除到非空行首
d0:刪除到行首
dd: 刪除當前光標所在行
#dd: 刪除包括當前光標所在行在內(nèi)的#行;
剪切和拷貝
y:拷貝選擇的內(nèi)容到剪貼板。
c:剪貼選擇的內(nèi)容到剪貼板并且進入插入模式。
yy:拷貝當前行。
cc:剪切當前行并且進入插入模式。
D:剪切從光標位置到行尾到剪貼板。
Y:拷貝當前行。
C:和 D 類似,最后進入插入模式。
x:剪切當前字符到剪貼板。
粘貼:p
5、Vim多緩沖區(qū)編輯
剪貼板在?VIM 里面被稱為寄存器(Registers)。你可以列出當前定義的所有寄存器名和它們的內(nèi)容
比如:我們要拷貝當前行到寄存器?a 或者其他字母。你應(yīng)該按?“ayy。現(xiàn)在當前行已存在寄存器 a?里面直到你又拷貝了一些東西進入寄存器?a。你可以使用命令?“ap 來粘貼寄存器 a?里面的內(nèi)容到你想要的位置。
6、撤銷改變
u:撤消前一次的編輯操作
? ? ? ? ? ? ?連續(xù)u命令可撤消此前的n次編輯操作
#u: 直接撤消最近#次編輯操作
撤消最近一次撤消操作:Ctrl+r
7、多文件編輯
vim FILE1 FILE2 FILE3 …
:next 下一個
:prev前一個
:first 第一個
:last 最后一個
:wall 保存所有
:qall退出所有
:wqall
多文件分割
vim -o|-O FILE1 FILE2 …
-o: 水平分割
-O: 垂直分割
在窗口間切換:Ctrl+w, Arrow
單文件窗口分割:
Ctrl+w,s: split, 水平分割
Ctrl+w,v: vertical, 垂直分割
ctrl+w,q:取消相鄰窗口
ctrl+w,o:取消全部窗口
:wqall退出
8、編輯命令
將當前文件中部分內(nèi)容另存為另外一個文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere
將另外一個文件的內(nèi)容填充在當前文件中
:r /path/to/somefile
跟shell交互?:! COMMAND