更詳細說明見:Linux中vim編輯器的總結html
普通模式:光標移動vim |
|
G Shift + gapp |
文件最後一行編輯器 |
gg 1gg 1Gide |
文件首行post |
0 ^url |
零,本行行首spa |
$命令行 |
本行行尾orm |
n<Enter> |
數字n以後回車,下移n行 |
ngg nG |
移動到文件的第n行,常配合 :set nu |
H |
移動到本窗口的最上面一行 |
M |
移動到本窗口的最中間一行 |
L |
移動到本窗口的最下面一行 |
h ← |
左移一個字符 |
j ↓ |
下移一個字符 |
k ↑ |
上移一個字符 |
l → |
右移一個字符 |
普通模式:搜索與替換 |
|
/str |
從當前位置開始,向下尋找str字符串 |
?str |
從當前位置開始,向上尋找str字符串 |
n |
從當前位置開始,向下重複上一個搜索動做 |
N |
從當前位置開始,向上重複上一個搜索動做 |
:g/A/s//B/g |
把符合A的內容所有替換爲B,斜線爲分隔符(也能夠是@、#等) |
:%s/A/B/g |
把符合A的內容所有替換爲B,斜線爲分隔符(也能夠是@、#等) |
:n1,n2s/A/B/g |
將第n1至n2行中符合A的內容所有替換爲B,斜線爲分隔符 |
普通模式:複製(y,yank)、粘貼p(paste)、刪除d(delete) |
|
yy Y |
複製當前行 |
nyy |
複製從當前行開始向下的n行 |
p |
小寫,粘貼到當前行的下一行 |
P |
大寫,粘貼到當前行的上一行 |
dd |
刪除當前行 |
ndd |
刪除從當前行開始向下的n行 |
x |
刪除光標所在的字符 |
u |
恢復/回滾前一個操做 |
. |
重複前一個操做 |
進入編輯模式 |
|
i |
當前光標處插入文字 |
a |
當前光標處的下一個字符插入文字 |
I |
在當前行行首第一個非空格字符處插入文字 |
A |
在當前行行尾插入文字 |
O |
在當前行的上一行插入新的一行 |
o |
在當前行的下一行插入新的一行 |
ESC |
退出編輯模式,回到命令模式 |
命令行(末行)模式 |
|
:wq |
保存退出 |
:wq! |
退出並強制保存 |
:q! |
強制退出 |
:n1,n2 w filename |
從第n1至第n2行保存成文件filename中 (剪切並另存爲) |
:n1,n2 co n3 |
將第n1至第n2行復制到第n3行的下面 |
:n1,n2 m n3 |
將第n1至第n2行移動到第n3行的下面 |
:!command |
暫時離開vi,到命令行模式下執行command命令並顯示執行結果 |
:set nu |
顯示行號 |
:set nonu |
不顯示行號 |
:vs filename |
垂直分屏顯示當前文件和filename文件的內容 |
:sp filename |
水平分屏顯示當前文件和filename文件的內容 |
Ctrl + V |
可視塊模式(豎行操做模式) |
多文件分屏對比
[root@ant tmp]# vimdiff ./fstab /etc/fstab