文本編輯器不同于字處理器(word、wps),前者純文字,後者有多樣修飾符
vim 編輯器
vi Visual Interface
vim Vi iMproved
全屏編輯器,模式化編輯器
vim 模式
編輯模式(指令模式)
輸入模式
末行模式
模式轉換
編輯-->輸入
i 在目前光标所在字元前面轉換為輸入模式
a 在目前光标所在字元後面轉換為輸入模式
o 在目前光标所行下一行轉換為輸入模式
I 目前光标所在行行首轉換為輸入模式
A 目前光标所在行尾首轉換為輸入模式
O 目前光标所在行上一行轉換為輸入模式
輸入-->編輯
ESC
編輯--> 末行
:
末行-->編輯
ESC,ESC
1、打開檔案,迅速定位。
#vim /path/to/somefile
+12 打開後定位到12行
+ 打開後定位在最後一行
+/PATTERN 打開檔案,定位至第一次被PATTERN比對到的行首
2、關閉檔案
末行模式關閉檔案
:q 退出
:wq 儲存并退出
:q! 不儲存退出
:w 儲存
:w! 強型儲存
:wq -- > :x
編輯模式下關閉檔案
ZZ 儲存退出
3、移動光标(編輯模式)
字元移動
h 左
l 右
j 下
k 上
num+
單詞移動
w 下一個單詞詞首
e 跳至目前機關詞尾或下一個單詞詞尾
b 跳至目前單詞詞首或下一個單詞詞首
num+
行内移動
0 行首 (行首的第一個空白字元)
^ 絕對行首(空白字元也算)
$ 絕對行尾
行間跳轉
#G 跳轉至第#行
G 最後一行
末行模式下 也可以跳轉
4、翻屏
Ctrl+f 下一屏
Ctrl+b 上一屏
Ctrl+d 下半屏
Ctrl+u 上半屏
5、删除單個字元
x 删除光标所在處字元
#x 删除光标所在處#字元
6、删除指令
d$ 删除目前光标到行尾
d0 删除目前光标到行首
3dw 删除目前光标所在處向後三個單詞
3de next
3db before
dd 删除目前光标所在行
#dd 删除目前光标和下行共#行
末行模式下可以使用
StartADD,EndADD
:1,8d 删除第一行到第八行
:.,+5d 删除目前行和向下的五行,一共删除6行。
:.,100d 目前行到100行,一共删除100行。
:.,$-2 删除目前光标所在行到倒數第二行。
7、粘貼指令 p
p 如果删除或複制為整行内容,則粘貼至光标所在行下方,如果複制或删除的内容為非整行,則粘貼至光标所在字元的後面
P 如果删除或複制為整行内容,則粘貼至光标所在行上方,如果複制或删除的内容為非整行,則粘貼至光标所在字元的前面
8、複制 y
用法同d指令
1,100
yg
yG
y$
y0
9、先删除内容,再轉換為輸入模式
c 同d指令
10、替換單個字元 r
R 替換模式 替換多個字元
11、撤銷編輯操作
u 撤銷前一次操作
# 撤銷最近#次操作
撤銷最近一次撤銷操作 Ctrl+r
12、重複前一次編輯操作
.
13、可視化模式
v 按字元選取
V 按矩形選取
14、查找
/PATTERN 往下找
?PATTERN 往上找
n 下一個
N 上一個
15、查找并替換,用法跟sed一樣,用s
ADDR1,ADDR2S@PATTERN@string@gi 全局替換,忽略大小寫
1,$ 可以簡寫為 %表示全文查找
16、編輯多個檔案
vim file1 file2 file3 預設情況下隻打開第一個檔案
在末行模式下輸入 :next 切換下一個檔案
:prev 切換上一個檔案
:last 切換至最後一個檔案
:first 切換至第一個檔案
:qa 全部退出
17、分屏顯示
Ctrl+w,s 水準拆分視窗
Ctrl+w,v 垂直拆分視窗
在視窗間切換光标
Ctrl+W,ARROW
:wq 關閉所有視窗
18、分屏顯示多個檔案
vim -o file1 file2 file3 水準分割視窗
-O 垂直分割視窗
19、将目前檔案中部分内容另存為另外一個檔案
末行模式下使用w指令
:w
:ADDR1,ADDR2w /path/to/somewhere 将某些内容儲存至某檔案中
20、将另一檔案内容填充在目前檔案中
:r /path/to/somefile
21、跟shell互動
:! COMMAND
22、進階話題
顯示或取消顯示行号
:setnu
:set nonu
顯示忽略或區分字元大小寫
:set ignorecase
:set ic
:set noic
設定自動縮進
:set autoindent
:set ai
:set noai
查找到的文本高亮顯示
:set hlsearch
:set nohlsearch
文法高亮
:syntax on
:syntax off
23、配置檔案
/etc/vimrc 所有使用者生效
~/.vimrc 目前使用者生效
vimtutor 學習向導
本文轉自 ftmoonfans 51CTO部落格,原文連結:http://blog.51cto.com/soulboy/1259050