vim是一個(gè)多模式的編輯器。就目前來看,主要有以下幾個(gè)主要模式。
1.通常模式(n) 在其它任何一個(gè)模式下,用ESC或者 ctrl+c 鍵可以退到通常模式
2.插入模式(i) 在這個(gè)模式下,vim像一個(gè)常見的編輯器.在通常模式下,用i或者a可以進(jìn)行本模式,當(dāng)然,還有一些其它命令也可以.
3.可視模式(v) 在這個(gè)模式下,可以使用hjkl進(jìn)行選擇.然后進(jìn)行copy,paste或者其它操作. 在通常模式下,用v命令進(jìn)行可視模式.
4. 塊操作模式(V) 這是塊操作模式. 在通常模式下,用ctrl+v進(jìn)入本模式.
5. 修改模式(R) 這是改寫的模式.很多軟件法用insert鍵來完成這個(gè)切換.在vim中,從通常模式用R即可進(jìn)入改寫模式.
6. 擴(kuò)展命令模式(ex) 這是命令執(zhí)行模式 在通常模式下用:切換到此模式.
個(gè)人常用的VIM命令列表:
移動(dòng)光標(biāo)
上:k nk:向上移動(dòng)n行 9999k或gg可以移到第一行 G移到最后一行
下:j nj:向下移動(dòng)n行
左:h nh:向左移動(dòng)n列
右:l nl:向右移動(dòng)n列
w:光標(biāo)以單詞向前移動(dòng) nw:光標(biāo)向前移動(dòng)n個(gè)單詞 光標(biāo)到單詞的第一個(gè)字母上
b:與w相反
e: 光標(biāo)以單詞向前移動(dòng) ne:光標(biāo)向前移動(dòng)n個(gè)單詞 光標(biāo)到單詞的最后一個(gè)字母上
ge:與e相反
$:移動(dòng)光標(biāo)到行尾 n$:移動(dòng)到第n行的行尾
0(Num):移動(dòng)光標(biāo)到行首
^:移動(dòng)光標(biāo)到行首第一個(gè)非空字符上去
f<a>:移動(dòng)光標(biāo)到當(dāng)前行的字符a上,nf<a>移動(dòng)光標(biāo)到當(dāng)前行的第n個(gè)a字符上
F:相反
%:移動(dòng)到與制匹配的括號(hào)上去(),{},[],<>等。
nG:移動(dòng)到第n行上 G:到最后一行
CTRL+G 得到當(dāng)前光標(biāo)在文件中的位置
向前翻頁:CTRL+F
向下移動(dòng)半屏:CTRL+G
向后翻頁:CTRL+B
存盤:
:q! :不存盤退出
:e! :放棄修改文件內(nèi)容,重新載入該文件編輯
:wq :存盤退出
dw:刪除一個(gè)單詞,需將光標(biāo)移到單詞的第一個(gè)字母上,按dw,如果光標(biāo)在單詞任意位置,用daw
dnw:刪除n個(gè)單詞
dne:也可,只是刪除到單詞尾
dnl:向右刪除n個(gè)字母
dnh:向左刪除n個(gè)字母
dnj:向下刪除n行
dnk:向上刪除n行
d$:刪除當(dāng)前光標(biāo)到改行的行尾的字母
dd:刪除一行
cnw[word]:將n個(gè)word改變?yōu)閣ord
cc:改變整行
C$:改變到行尾
J: 刪除換行符,將光標(biāo)移到改行,按shift+j刪除行尾的換行符,下一行接上來了.
u: 撤銷前一次的操作
shif+u(U):撤銷對(duì)該行的所有操作。
:set showmode :設(shè)置顯示工作模式
o:在當(dāng)前行的下面另起一行
O(shift+o):在當(dāng)前行的上面另起一行
nk或nj:光標(biāo)向上或向下移n行,n為數(shù)字
an!【ESC】:在行后面加n個(gè)感嘆號(hào)(!)
nx:執(zhí)行n次x(刪除)操作
ZZ:保存當(dāng)前文檔并退出VIM
:help :查看幫助文檔,在這之中,按CTRL+] 進(jìn)入超連接,按CTRL+O 返回。
:help subject :看某一主題的幫助,ZZ 退出幫助
:set number / set nonumber :顯示/不顯示行號(hào)
:set ruler /set noruler:顯示/不顯示標(biāo)尺
/pattern 正方向搜索一個(gè)字符模式
?pattern 反方向搜索一個(gè)字符模式
然后按n 繼續(xù)向下找
把光標(biāo)放到某個(gè)單詞上面,然后按×號(hào)鍵,表示查找這個(gè)單詞
查找整個(gè)單詞:/\<word\>
:set hlsearch 高亮顯示查找到的單詞
:set nohlsearch 關(guān)閉改功能
m[a-z]:在文中做標(biāo)記,標(biāo)記號(hào)可為a-z的26個(gè)字母,用`a可以移動(dòng)到標(biāo)記a處
r:替換當(dāng)前字符
nr字符:替換當(dāng)前n個(gè)字符
查找替換:
way1:
/【word】 :查找某個(gè)word
cw【newword】:替換為新word
n: 繼續(xù)查找
.: 執(zhí)行替換
way2:
:s/string1/string2/g:在一行中將string1替換為string2,g表示執(zhí)行 用c表示需要確認(rèn)
:num1,num2 s/string1/string2/g:在行num1至num2中間將string1替換為string2
:1,$ s/string1/string2/g:在全文中將string1替換為string2
v:進(jìn)入visual 模式
【ESC】退出
V:shift+v 進(jìn)入行的visual 模式
CTRL+V:進(jìn)如塊操作模式用o和O改變選擇的邊的大小。
粘貼:p,這是粘貼用x或d刪除的文本
復(fù)制:
ynw:復(fù)制n個(gè)單詞
yy:復(fù)制一行
ynl:復(fù)制n個(gè)字符
y$:復(fù)制當(dāng)前光標(biāo)至行尾處
nyy:拷貝n行
完了用p粘貼
:split:分割一個(gè)窗口
:split file.c :為另一個(gè)文件file.c分隔窗口
:nsplit file.c: 為另一個(gè)文件file.c分隔窗口,并指定其行數(shù)
CTRL+W在窗口中切換
:close:關(guān)閉當(dāng)前窗口
在所有行插入相同的內(nèi)容如include<,操作方法如下:
將光標(biāo)移到開始插入的位置,按CTRL+V進(jìn)入VISUAL模式,選擇好模塊后
按I(shift+i),后插入要插入的文本,按[ESC]完成。
:read file.c 將文件file.c的內(nèi)容插入到當(dāng)前光標(biāo)所在的下面
:0read file.c 將文件file.c的內(nèi)容插入到當(dāng)前文件的開始處(第0行)
:nread file.c 將文件file.c的內(nèi)容插入到當(dāng)前文件的第n行后面
:read !cmd :將外部命令cmd的輸出插如到當(dāng)前光標(biāo)所在的下面
:n1,n2 write temp.c 將本文件中的n1,到n2行寫入temp.c這個(gè)文件中去
CTRL+L刷新屏幕
shift + < 左移一行
shift + > 右移一行
u: undo
CTRL+R: re-do
J: 合并一行
CTRL+p 自動(dòng)完成功能
CTRL+g 查看當(dāng)前文件全路徑
q[a-z] 開始記錄但前開始的操作為宏,名稱可為【a-z】,然后用q終止錄制宏。
用reg顯示當(dāng)前定義的所有的宏,用@[a-z]來在當(dāng)前光標(biāo)處執(zhí)行宏[a-z].
posted on 2010-03-03 18:01
李陽 閱讀(445)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Linux