移動光標的方法 | |
h 或 向左方向鍵(←) | 光標向左移動一個字元 |
j 或 向下方向鍵(↓) | 光標向下移動一個字元 |
k 或 向上方向鍵(↑) | 光標向上移動一個字元 |
l 或 向右方向鍵(→) | 光標向右移動一個字元 |
如果你將右手放在鍵盤上的話,你會發(fā)現(xiàn) hjkl 是排列在一起的,因此可以使用這四個鍵來移動光標。 如果想要進行多次的話,例如向下移動 30 行,可以使用 “30j” 或 “30↓” 的組合按鍵, 亦即加上想要進行的次數(shù)(數(shù)字)后,按下動作即可! | |
[Ctrl] + [f] | 屏幕『向下』移動一頁,相當于 [Page Down]按鍵 (常用) |
[Ctrl] + [b] | 屏幕『向上』移動一頁,相當于[Page Up] 按鍵 (常用) |
[Ctrl] + [d] | 屏幕『向下』移動半頁 |
[Ctrl] + [u] | 屏幕『向上』移動半頁 |
+ | 光標移動到非空白字元的下一列 |
- | 光標移動到非空白字元的上一列 |
nspace> | 那個 n 表示『數(shù)字』,例如 20 。按下數(shù)字后再按空白鍵,光標會向右移動這一行的 n 個字元。例如 20space> 則光標會向后面移動 20 個字元距離。 |
0 或^或功能鍵[Home] | 這是數(shù)字『 0 』:移動到這一行的最前面字元處 (常用) |
$ 或功能鍵[End] | 移動到這一行的最后面字元處(常用) |
H | 光標移動到這個屏幕的最上方那一行的第一個字元 |
M | 光標移動到這個屏幕的中央那一行的第一個字元 |
L | 光標移動到到這個屏幕的最下方那一行的第一個字元 |
G | 移動到這個文件的最后一行(常用) |
nG | n 為數(shù)字。移動到這個文件的第 n 行。例如 20G 則會移動到的第 20 行(可配合 :set nu) |
1G或者gg | 移動到這個文件的第 1 行 (常用) |
nEnter> | n 為數(shù)字。光標向下移動 n 行(常用) |
搜尋與取代 | |
/word | 向光標之下尋找一個名叫 word 的字串。例如要在文件內(nèi)搜尋yidao這個字符串,就輸入 /yidao 即可! (常用) |
?word | 向光標之上尋找一個字串名稱為 word 的字串。 |
n | 這個 n 是英文的小寫按鍵n。代表『重復(fù)前一個搜尋動作』。舉例來說, 如果剛剛我們執(zhí)行 /yidao 去向下搜尋 yidao 這個字符串,則按下 n 后,會向下繼續(xù)搜尋名為 yidao的字串。如果是執(zhí)行 ?yidao 的話,那么按下 n 則會向上繼續(xù)搜尋名為 yidao的字串! |
N | 這個 N 是英文大寫按鍵N。與n剛好相反,為『反向』進行前一個動作。 例如 /yidao 后,按下 N 則表示『向上』搜尋yidao 。 |
使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復(fù)的找到一些你搜尋關(guān)鍵詞! | |
:n1,n2s/word1/word2/g | n1與n2為數(shù)字。在第 n1 與 n2 行之間尋找 word1 這個字串,并將該字符串替換為 word2 !舉例來說,在 100 到 200 行之間搜尋 yidao并取代為YIDAO: 『:100,200s/yidao/YIDAO/g』。(常用) |
:1,$s/word1/word2/g | 從第一行到最后一行尋找 word1 字串,并將該字符串替換為 word2 !(常用) |
:1,$s/word1/word2/gc | 從第一行到最后一行尋找 word1 字串,并將該字符串替換為 word2 !每次替換前會提示用戶消息是否替換!(常用) |
刪除、復(fù)制、粘貼 | |
x, X | 在一行中,x 為向后刪除一個字符 (相當于 [del] 按鍵), X 為向前刪除一個字符(相當于 [backspace] 亦即是倒退鍵) (常用) |
nx | n 為數(shù)字,連續(xù)向后刪除 n 個字元。比如,我要連續(xù)刪除 10 個字元, 『10x』。 |
dd | 刪除光標所在的那一行(常用) |
ndd | n 為數(shù)字。刪除光標所在的向下 n 列,例如 20dd則是刪除 20 行 (常用) |
d1G | 刪除光標所在到第一行的所有數(shù)據(jù) |
dG | 刪除光標所在到最后一行的所有數(shù)據(jù) |
d$ | 刪除光標所在處,到該行的最后一個字符 |
d0 | 那個是數(shù)字的 0 ,刪除光標所在處,到該行的最前面一個字符 |
yy | 復(fù)制光標所在的那一行(常用) |
nyy | n 為數(shù)字。復(fù)制光標所在的向下 n 行,例如 20yy 則是復(fù)制 20 行(常用) |
y1G | 復(fù)制光標所在行到第一個行的所有資料 |
yG | 復(fù)制光標所在行到最后一行的所有資料 |
y0 | 復(fù)制光標所在的字符到該行行首的所有字符 |
y$ | 復(fù)制光標所在的字符到該行行尾的所有字符 |
p, P | p 為將已經(jīng)復(fù)制的數(shù)據(jù)在光標下一行粘貼上,P則為粘貼在光標上一行! (常用) |
J | 將光標所在行和下一行數(shù)據(jù)合并成一行 |
c | 重復(fù)刪除多個資料,例如向下刪 10 行,[ 10cj ] |
u | 還原(undo)前一個動作。(常用) |
[Ctrl]+r | 重做上一個動作。(常用) |
這個 u 與 [Ctrl]+r 是很常用的指令!一個是還原,另一個是重做~ 利用這兩個功能按鍵,你的編輯,嘿嘿!很爽的啦! | |
. | 不要懷疑,這個就是小數(shù)點!意思是重復(fù)前一個動作的意思。 如果你想要重復(fù)刪除、重復(fù)粘貼等,按下小數(shù)點『.』就好了! (常用) |
====塊選擇(Visual Block)====
區(qū)塊選擇按鍵說明 | |
v | 字符選擇,會將光標經(jīng)過的地方反白選擇 |
V | 行選擇,會將光標經(jīng)過的行反白選擇! |
[Ctrl]+v | 列選擇模式 |
y | 將反白的區(qū)域復(fù)制下來 |
d | 將反白的區(qū)域刪除掉 |
====多文件編輯====
可以用vim file1 file2來打開多個文件同時編輯,多文件的三個命令:
多文件編輯的按鍵 | |
:n | 編輯下一個文件 |
:N | 編輯上一個文件 |
:files | 列出目前這個 vim 的開啟的所有文件 |
====多窗口功能====
在命令模式下輸入:sp [filename],可在新窗口打開filename文件,如果沒有輸入filename,則默認把當前文件切割成兩個。
窗口切換:
* ctrl+w+j把光標移動到下一個窗口
* ctrl+w+k把光標移動到上一個窗口
* ctrl+w+q其實就是:q結(jié)束離開的意思
====vim環(huán)境設(shè)置:~/.vimrc,~/.viminfo====
有沒有發(fā)現(xiàn)呢,如果我們以vim查找一個文件內(nèi)容,然后再次打開后,那個查找的字符串還是會反白顯示。另外我們光標所在行數(shù)也是上次你關(guān)閉vim時候的行數(shù),這個就是通過~/.viminfo這個文件記錄的。相當于vim編輯的history文件,你編輯的歷史記錄基本都記錄在這里頭。自動產(chǎn)生的。o(╯□╰)o
vim的配置文件為/etc/vimrc,不過不建議你修改它,因為它是所有用戶公共的默認配置文件,如果你想擁有自己的配置文件,可以修改~/.vimrc,這個文件默認是沒有的,你可以手動建立一個,然后寫入你自己有個性的設(shè)置:
====DOS與linux斷行字符====
dos斷行字符為CR(回車)與LF(換行)兩個字符,而linux只有LF(換行)一個字符,如果是dos和windows系統(tǒng)需要跟linux系統(tǒng)進行文件文件的交互,需要進行轉(zhuǎn)換。
命令:
# dos2UNIX [-kn] file [newfile]
# UNIX2dos [-kn] file [newfile]
-k:保留該文件的mtime時間
-n:保留舊文件,將轉(zhuǎn)換后的內(nèi)容輸入到新文件newfile中
====語系編碼轉(zhuǎn)換====
# iconv –list
# iconv -f 原來編碼 -t 新編碼 filename [-o newfile]
實例分析:將繁體中文的utf8轉(zhuǎn)換成簡體中文的utf8編碼:
# iconv -f utf8 -t big5 vi.utf8 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o vi.gb.utf8
==============End=====================