vim的命令很多,很難記全,所以結合我平時的實踐,經常要用到的命令已經用紅體字標出。如果有何錯誤,歡迎指出。
三種狀態
command: 任何輸入都會作為編輯命令,而不會出現在螢幕上,任何輸入都引起立即反映
insert: 任何輸入的資料都置於編輯暫存器,按esc,可跳回command方式
escape: 以「:」或者「/」為前導的指令,出現在螢幕的最下一行,任何輸入都被當成特別指令。
離開vi
:q! 離開vi,並放棄剛在緩衝區內編輯的內容。
:wq 將緩衝區內的資料寫入磁碟中,並離開vi。
:x 同wq。
x 刪除游標所在之前一字元。
r 用接於此指令之後的字元取代(replace)游標所在字元。如:ra將游標所在字元以 a 取代之。
r 進入取代狀態,直到《esc》為止。
s 刪除游標所在之字元,並進入輸入模式直到《esc》。
s 刪除游標所在之該行資料,並進入輸入模式直到《esc》。
游標的移動
m設定書籤
『移至書籤處
0 移至該行之首
$ 移至該行之末。
e 移動到下個字的最後乙個字母
w 移動到下個字的第乙個字母。
b 移動到上個字的第乙個字母。
^ 移至該行的第乙個字元處。
h 移至視窗的第一行。
m 移至視窗的中間那行。
l 移至視窗的最後一行。
g 移至該檔案的最後一行。
+ 移至下一列的第乙個字元處。
- 移至上一列的第乙個字元處。
:n 移至該檔案的第 n 列。
n+ 移至游標所在位置之後的第 n 列。
n- 移至游標所在位置之前的第 n 列。
顯示該行之行號、檔名稱、檔案中最末行之行號、游標所在行號佔總行號之百分比。
(vim) 游標移動基本用法小解:
(這只要組合上邊的功能就可以明白了,不用再一一講解了吧!)
ge b w e
← ← ---→ --→
this is-a line, with special/separated/words (and some more).
←- ←-- -----------------→ ---→
ge b w e
視窗的移動
視窗往下卷一頁。
視窗往上捲一頁。
視窗往下卷半頁。
視窗往上捲半頁。
視窗往下卷一行。
視窗往上捲一行。
剪下、複製、刪除
operator + scope = command
operator
d 剪下
y 複製。
p 粘帖,與 d 和 y 配和使用。可將最後d或y的資料放置於游標所在位置之行列下。
c 修改,類似delete與insert的組和。刪除乙個字組、句子等之資料,並插入新建資料。
整行動作
dd 刪除整行。
d 以行為單位,刪除游標後之所有字元。
cc 修改整行的內容。
yy 使游標所在該行複製到記憶體緩衝區。
取消前一動作(undo)
u 恢復最後乙個指令之前的結果。
u 恢復游標該行之所有改變。
(vim) u 可以多次撤消指令,一次撤消乙個操作,直至本次操作開始為止。
(vim) ctrl+r 可以恢復撤消前內容,按多次可恢復多次。
查詢與替換
/字串 往游標之後尋找該字串。
?字串 往游標之前尋找該字串。
n 往下繼續尋找下乙個相同的字串。
n 往上繼續尋找下乙個相同的字串。
% 查詢「(」,「)」,「」的配對符。
s 搜尋某行列範圍。
g 搜尋整個編輯緩衝區的資料。
:1,$s/old/new/g 將檔案中所有的『old』改成『new』。
:10,20s/^/ / 將第10行至第20行資料的最前面插入5個空白。
(vim)
/字串 後邊輸入查詢內容可儲存至緩衝區中,可用↑↓進行以往內容選擇。
另外:將游標移動在選定單詞下方按*,則可以選中此單詞作為查詢字元,可以避免輸入一長串字元的麻煩。
(vim) 大小寫替換
首先用按v開啟選擇功能,然後用↑↓←→鍵來選定所要替換的字元,若是小寫變大寫,則按u;反之按u;
如果是選擇單詞,則可以在按v後,按w,最後按u/u,這樣就可以將字元隨意的改變大小寫了,而不用刪除後重新敲入。
資料的連線
j 句子的連線。將游標所在之下一行連線至游標該行的後面。
環境的設定
:set all 可設定的環境變數列表
:set 環境變數的當前值
:set nu 設定資料的行號。
:set nonu 取消行號設定。
:set ai 自動內縮。
:set noai 取消自動內縮。
(vim)
:set ruler 會在螢幕右下角顯示當前游標所處位置,並隨光移動而改變,占用螢幕空間較小,使用也比較方便,推薦使用。
:set hlsearch 在使用查詢功能時,會高亮顯示所有匹配的內容。
:set nohlsearch 關閉此功能。
:set incsearch 使vim在輸入字串的過程中,游標就可定位顯示匹配點。
:set nowrapscan 關閉查詢自動回環功能,即查詢到檔案結尾處,結束查詢;預設狀態是自動回環
ex指令
讀寫資料
:10,20w test 將第10行至第20行的資料寫入test檔案。
:10,20w>>test 將第10行至第20行的資料加在test檔案之後。
:r test 將test檔案的資料讀入編輯緩衝區的最後。
:e [filename] 編輯新的檔案。
:e! [filename] 放棄當前修改的檔案,編輯新的檔案。
:sh 進入shell環境,使用exit退出,回到編輯器中。
:!cmd 執行命令cmd後,返回到編輯器中。
刪除、複製及搬移
:10,20d 刪除第10行至第20行的資料。
:10d 刪除第10行的資料。
:%d 刪除整個編輯緩衝區。
:10,20co30 將第10行至第20行的資料複製至第30行之後。
:10,20mo30 將第10行至第20行的資料搬移至第30行之後。
Vim的一些常用方便命令
一 撤銷和重做 按 u 可以撤銷,有時候會不小心撤銷過頭,一直不知道重做的快捷鍵,很頭大,其實按 ctrl r 即可 二 單詞移動和刪除 按 w b 可以按照單詞前後移動,同理,dw db 是前後刪除單詞 de不會刪除單詞後的空格,dw會 三 同時編輯多個檔案 vsp,開啟乙個垂直的新編輯介面 sp...
Vim常用的一些操作命令
1.關於vim 1.2 vim強大的兩個原因 1.支援非常豐富的快捷鍵 操作效率高,但學習成本高 快捷鍵風格已經演化成了一種思想 2.支援非常強大的擴充套件能力 外掛程式機制 背後依賴著乙個程式語言 viml 1.3 vim的對手們 emaces notepad notepadplus sublim...
一些VIM命令
qx 開始記錄巨集,並將結果存入暫存器x q 退出記錄模式 稍微解釋一下,當在normal模式下輸入 qx後,你對文字的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模 式,然後輸入 x對剛才記錄下來的命令進行重複,此命令後可跟數字,表示要重複多少次,比如 x20,可以重複20次。這個在文字的批...