vim指令速查表

2021-08-24 17:54:59 字數 4849 閱讀 3741

命令

描述vim filename

開啟或新建檔案,並將游標置於第一行首

vim +n filename

開啟檔案,並將游標置於第n行首

vim + filename

開啟檔案,並將游標置於最後一行首

vim +/pattern filename

開啟檔案,並將游標置於第乙個與pattern匹配的串處

vim -r filename

在上次正用vim編輯時發生系統崩潰,恢復filename

vim filename….filename

開啟多個檔案,依次編輯

命令描述

all列出所有選項設定情況

term

設定終端型別

ignorance

在搜尋中忽略大小寫

list

顯示製表位(ctrl+i)和行尾標誌($)

number

顯示行號

report

顯示由面向行的命令修改過的數目

terse

顯示簡短的警告資訊

warn

在轉到別的檔案時若沒儲存當前檔案則顯示no write資訊

nomagic

允許在搜尋模式中,使用前面不帶「\」的特殊字元

nowrapscan

禁止vi在搜尋到達檔案兩端時,又從另一端開始

mesg

允許vi顯示其他使用者用write寫到自己終端上的資訊

:set number / set nonumber

顯示/不顯示行號

:set ruler /set noruler

顯示/不顯示標尺

:set hlsearch

高亮顯示查詢到的單詞

:set nohlsearch

關閉高亮顯示

:syntax on

語法高亮

:set nu

顯示行號

:set tabstop=8

設定tab大小,8為最常用最普遍的設定

:set softtabstop=8

4:4個空格,8:正常的製表符,12:乙個製表符4個空格,16:兩個製表符

:set autoindent

自動縮排

:set cindent

c語言格式裡面的自動縮排

長跳 如end-of-line被認為是乙個字

命令

描述k nk

上 向上移動n行

j nj

下 向下移動n行

h nh

左 向左移動n行

l nl

右 向右移動n行

space

游標右移乙個字元

backspace

游標左移乙個字元

enter

游標下移一行

w/w游標右移乙個字至字首(w 長跳)

b/b游標左移乙個字至字首(b 長跳)

e或e游標右移乙個字至字尾(e 長跳)

)游標移至句尾

(游標移至句首

}游標移至段落開頭

,,<>等

ng移動到第n行上

g到最後一行

命令描述

ctrl+u

向檔案首翻半屏

ctrl+d

向檔案尾翻半屏

ctrl+f

向檔案尾翻一屏

ctrl+b

向檔案首翻一屏

nz將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部

命令描述

i在游標前

i在當前行首

a游標後

a在當前行尾

o在當前行之下新開一行

o在當前行之上新開一行

r替換當前字元

r替換當前字元及其後的字元,直至按esc鍵

s從當前游標位置處開始,以輸入的文字替代指定數目的字元

s刪除指定數目的行,並以所輸入文字代替之

ncw/ncw

修改指定數目的字

ncc修改指定數目的行

==自動縮排當前行

命令描述

x/x刪除乙個字元,x刪除游標後的,而x刪除游標前的

dw刪除乙個單詞(刪除游標位置到下乙個單詞開始的位置)

dnw刪除n個單詞

dne也可,只是刪除到單詞尾

do刪至行首

d$刪至行尾

dd刪除一行

ndd刪除當前行及其後n-1行

dnl向右刪除n個字母

dnh向左刪除n個字母

dnj向下刪除n行,當前行+其上n行

dnk向上刪除n行,當期行+其下n行

cnw[word]

將n個word改變為word

c$改變到行尾

cc改變整行

shift+j

刪除行尾的換行符,下一行接上來了

命令描述

p貼上用x或d刪除的文字

ynw複製n個單詞

yy複製一行

ynl複製n個字元

y$複製當前游標至行尾處

nyy拷貝n行

命令描述

u撤銷前一次的操作

shif+u(u)

撤銷對該行的所有操作

命令描述

/pattern

從游標開始處向檔案尾搜尋pattern

?pattern

從游標開始處向檔案首搜尋pattern

n在同一方向重複上一次搜尋命令

n在反方向上重複上一次搜尋命令

cw newword

替換為newword

n繼續查詢

.執行替換

:s/p1/p2/g

將當前行中所有p1均用p2替代,g表示執行 用c表示需要確認

:n1,n2 s/p1/p2/g

將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g

將檔案中所有p1均用p2替換

:1,$ s/string1/string2/g

在全文中將string1替換為string2

命令描述

m[a-z]

在文中做標記,標記號可為a-z的26個字母

`a移動到標記a處

:tabe fn

在乙個新的標籤頁中編輯檔案fn

gt切換到下乙個標籤頁

gt切換到上乙個標籤頁

:tabr

切換到第乙個標籤頁

:tabl

切換到最後乙個標籤頁

:tabm [n]

把當前tab移動到第n個tab之後

命令描述

標記文字

v進入visual 模式

v進入行的visual 模式

ctrl+v

進如塊操作模式用o和o改變選擇的邊的大小

在所有行插入相同的內容如include<

將游標移到開始插入的位置,按ctrl+v進入visual模式,選擇好模組後按i(shift+i),後插入要插入的文字,按[esc]完成

o跳轉游標到選中塊的另乙個端點

u將選中塊中的內容轉成大寫

o跳轉游標到塊的另乙個端點

aw選中乙個字

ab選中括號中的所有內容,包括括號本身

ab選中{}括號中的所有內容

ib選中括號中的內容,不含括號

ib選中{}中的內容,不含{}

對標記進行動作

>

塊右移<

塊左移y

複製塊d

刪除塊~

切換塊中內容的大小寫

命令描述

:n1,n2 co n3

將n1行到n2行之間的內容拷貝到第n3行下

:n1,n2 m n3

將n1行到n2行之間的內容移至到第n3行下

:n1,n2 d

將n1行到n2行之間的內容刪除

:n1,n2 w!command

將檔案中n1行至n2行的內容作為command的輸入並執行之 若不指定n1,n2,則表示將整個檔案內容作為command的輸入

命令描述

q[a-z]

開始記錄但前開始的操作為巨集,名稱可為【a-z】,然後用q終止錄製巨集

reg顯示當前定義的所有的巨集,用@[a-z]來在當前游標處執行巨集[a-z]

命令描述

:split

橫向分割視窗

:split file.c

為另乙個檔案file.c分隔視窗

:vsplit

縱向分割視窗

:nsplit file.c

為另乙個檔案file.c分隔視窗,並指定其行數

ctrl+w

在視窗中切換

:close

關閉當前視窗

ctrl+w s

水平分割視窗

ctrl+w w

切換視窗

ctrl+w q

退出當前視窗(由於同時有多個檔案,此命令不會影響其他視窗)

ctrl+w v

垂直分割視窗

命令描述

:q退出vi

:q!不儲存檔案並退出vi

:wq儲存修改並退出

:w將緩衝區寫入檔案,即儲存修改

:x儲存修改並退出

:zz儲存當前文件並退出vim

命令描述

:e filename

開啟檔案filename進行編輯

:e!放棄修改檔案內容,重新載入該檔案編輯

:!command

執行shell命令command

:r!command

將命令command的輸出結果放到當前行

:n1,n2 write temp.c

:read file.c

將檔案file.c的內容插入到當前游標所在的下面

VIM 命令速查表

今天整理乙份 vim 常用命令速查表,當做給自己備忘。進入vim 相關 命令描述 vim filename 開啟或者新建檔案 vim n filename 開啟檔案並將游標置於第n行行首 vim filename 開啟檔案並將游標置於最後一行行首 vim pattern filename 開啟檔案並...

linux重要指令速查表

brew install findutils with default namesdocker build t link v2 qemu img create f qcow2 test vm 1.qcow2 10g f 選項用於指定映象的格式,qcow2 格式是 qemu 最常用的映象格式,採用來寫...

mo彙編指令 彙編指令速查表

一 資料傳輸指令 它們在存貯器和暫存器 暫存器和輸入輸出埠之間傳送資料.1.通用資料傳送指令.mov 傳送字或位元組.movsx 先符號擴充套件,再傳送.movzx 先零擴充套件,再傳送.push 把字壓入堆疊.pop 把字彈出堆疊.pusha 把 ax,cx,dx,bx,sp,bp,si,di 依...