vim常用的一些命令

2022-07-17 05:45:10 字數 3402 閱讀 4583

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次。這個在文字的批...