vim編輯器基本操作總結

2021-10-10 02:34:26 字數 4952 閱讀 3098

在命令列視窗中輸入以下命令即可

vim filename 開啟vim並建立名為filename的檔案
開啟單個檔案
vim file
同時開啟多個檔案
vim file1 file2 file3 ...
:open file
:split file
切換到下乙個檔案
:bn
切換到上乙個檔案
:bp
:args
開啟遠端檔案,比如ftp或者share folder
:e 

:e \qadrive est.txt

正常模式(按esc或ctrl+[進入) 左下角顯示檔名或為空

插入模式(按i鍵進入) 左下角顯示–insert–

可視模式(不知道如何進入) 左下角顯示–visual–

導航命令

% 括號匹配
插入命令

i 在當前位置生前插入

i 在當前行首插入

a 在當前位置後插入

a 在當前行尾插入

o 在當前行之後插入一行

o 在當前行之前插入一行

查詢命令
/text 查詢text,按n健查詢下乙個,按n健查詢前乙個。

?text 查詢text,反向查詢,按n健查詢下乙個,按n健查詢前乙個。

vim中有一些特殊字元在查詢時需要轉義  .*^%/?~$
:set ignorecase 忽略大小寫的查詢

:set noignorecase 不忽略大小寫的查詢

查詢很長的詞,如果乙個詞很長,鍵入麻煩,可以將游標移動到該詞上,按*或#鍵即可以該單詞進行搜尋,相當於/搜尋。而#命令相當於?搜尋。
:set hlsearch 高亮搜尋結果,所有結果都高亮顯示,而不是只顯示乙個匹配。

:set nohlsearch 關閉高亮搜尋顯示

:nohlsearch 關閉當前的高亮顯示,如果再次搜尋或者按下n或n鍵,則會再次高亮。

:set incsearch 逐步搜尋模式,對當前鍵入的字元進行搜尋而不必等待鍵入完成。

ra 將當前字元替換為a,當期字元即游標所在字元。

s/old/new/ 用old替換new,替換當前行的第乙個匹配

s/old/new/g 用old替換new,替換當前行的所有匹配

%s/old/new/ 用old替換new,替換所有行的第乙個匹配

%s/old/new/g 用old替換new,替換整個檔案的所有匹配

:10,20 s/^/ /g 在第10行知第20行每行前面加四個空格,用於縮排。

ddp 交換游標所在行和其下緊鄰的一行。

###移動命令

h 左移乙個字元

l 右移乙個字元,這個命令很少用,一般用w代替。

k 上移乙個字元

j 下移乙個字元

w 向前移動乙個單詞(游標停在單詞首部),如果已到行尾,則轉至下一行行首。此命令快,可以代替l命令。

b 向後移動乙個單詞 2b 向後移動2個單詞

e,同w,只不過是游標停在單詞尾部

ge,同b,游標停在單詞尾部。

^ 移動到本行第乙個非空白字元上。

0(數字0)移動到本行第乙個字元上,

移動到本行第乙個字元。同0健。

$ 移動到行尾 3$ 移動到下面3行的行尾

gg 移動到檔案頭。 = [[

g(shift + g) 移動到檔案尾。 = ]]

f(find)命令也可以用於移動,fx將找到游標後第乙個為x的字元,3fd將找到第三個為d的字元。

f 同f,反向查詢。

跳到指定行,冒號+行號,回車,比如跳到240行就是 :240回車。另乙個方法是行號+g,比如230g跳到230行。
ctrl + e 向下滾動一行

ctrl + y 向上滾動一行

ctrl + d 向下滾動半屏

ctrl + u 向上滾動半屏

ctrl + f 向下滾動一屏

ctrl + b 向上滾動一屏

撤銷和重做
u 撤銷(undo)

u 撤銷對整行的操作

ctrl + r 重做(redo),即撤銷的撤銷。

刪除命令
x 刪除當前字元

3x 刪除當前游標開始向後三個字元

x 刪除當前字元的前乙個字元。x=dh

dl 刪除當前字元, dl=x

dh 刪除前乙個字元

dd 刪除當前行

dj 刪除上一行

dk 刪除下一行

10d 刪除當前行開始的10行。

d 刪除當前字元至行尾。d=d$

d$ 刪除當前字元之後的所有字元(本行)

kdgg 刪除當前行之前所有行(不包括當前行)

jdg(jd shift + g) 刪除當前行之後所有行(不包括當前行)

:1,10d 刪除1-10行

:11,$d 刪除11行及以後所有的行

:1,$d 刪除所有行

j(shift + j)  刪除兩行之間的空行,實際上是合併兩行。

拷貝和貼上
yy 拷貝當前行

nyy 拷貝當前後開始的n行,比如2yy拷貝當前行及其下一行。

p 在當前游標後貼上,如果之前使用了yy命令來複製一行,那麼就在當前行的下一行貼上。

shift+p 在當前行前貼上

:1,10 co 20 將1-10行插入到第20行之後。

:1,$ co $ 將整個檔案複製乙份並新增到檔案尾部。

正常模式下按v(逐字)或v(逐行)進入可視模式,然後用jklh命令移動即可選擇某些行或字元,再按y即可複製
ddp交換當前行和其下一行

xp交換當前字元和其後乙個字元

剪下命令

正常模式下按v(逐字)或v(逐行)進入可視模式,然後用jklh命令移動即可選擇某些行或字元,再按d即可剪下

ndd 剪下當前行之後的n行。利用p命令可以對剪下的內容進行貼上

:1,10d 將1-10行剪下。利用p命令可將剪下後的內容進行貼上。

:1, 10 m 20 將第1-10行移動到第20行之後。

:wq 儲存並退出

zz 儲存並退出

:q! 強制退出並忽略所有更改

:e! 放棄所有修改,並開啟原來檔案。

:split或new 開啟乙個新視窗,游標停在頂層的視窗上

:split file或:new file 用新視窗開啟檔案

split開啟的視窗都是橫向的,使用vsplit可以縱向開啟視窗。

ctrl+ww 移動到下乙個視窗

ctrl+wj 移動到下方的視窗

ctrl+wk 移動到上方的視窗

:close 最後乙個視窗不能使用此命令,可以防止意外退出vim。

:q 如果是最後乙個被關閉的視窗,那麼將退出vim。

zz 儲存並退出。

關閉所有視窗,只保留當前視窗
:only

錄製巨集按q鍵加任意字母開始錄製,再按q鍵結束錄製(這意味著vim中的巨集不可巢狀),使用的時候@加巨集名,比如qa。。。q錄製名為a的巨集,@a使用這個巨集。

執行shell命令

:!command

:!ls 列出當前目錄下檔案

:!perl -c script.pl 檢查perl指令碼語法,可以不用退出vim,非常方便。

:!perl script.pl 執行perl指令碼,可以不用退出vim,非常方便。

:suspend或ctrl - z 掛起vim,回到shell,按fg可以返回vim。

perl程式中#開始的行為注釋,所以要注釋某些行,只需在行首加入#

3,5 s/^/#/g 注釋第3-5行

3,5 s/^#//g 解除3-5行的注釋

1,$ s/^/#/g 注釋整個文件。

:%s/^/#/g 注釋整個文件,此法更快。

:help or f1 顯示整個幫助

:help *** 顯示***的幫助,比如 :help i, :help ctrl-[(即ctrl+[的幫助)。

:help 'number' vim選項的幫助用單引號括起

:help 特殊鍵的幫助用<>擴起

:help -t vim啟動引數的幫助用-

:help i_ 插入模式下esc的幫助,某個模式下的幫助用模式_主題的模式

. 重複前一次命令

:set ruler? 檢視是否設定了ruler,在.vimrc中,使用set命令設制的選項都可以通過這個命令檢視

:scriptnames 檢視vim指令碼檔案的位置,比如.vimrc檔案,語法檔案及plugin等。

:set list 顯示非列印字元,如tab,空格,行尾等。如果tab無法顯示,請確定用set lcs=tab:>-命令設定了.vimrc檔案,並確保你的檔案中的確有tab,如果開啟了expendtab,那麼tab將被擴充套件為空格。

vim教程

在unix系統上

$ vimtutor
在windows系統上
:help tutor

:syntax 列出已經定義的語法項

:syntax clear 清除已定義的語法規則

:syntax case match 大小寫敏感,int和int將視為不同的語法元素

:syntax case ignore 大小寫無關,int和int將視為相同的語法元素,並使用同樣的配色方案

vim編輯器基本操作

root localhost vim saberlily.c vim加檔名 vim分為3種模式插入模式 低行模式命令模 一,插入模式 切換 在進入vim之後按esc i進入插入模式 功能 可以輸入 二,低行模式 切換 按esc shift 進入低行模式 功能 q退出 w儲存 qw儲存並退出 q!強制...

vim編輯器的基本操作

先稍為介紹一下 vim.vi 是 unix linux 下極為普遍的一種文字編輯器,大部分機器上都 有.vi 有各種變種,在不同的機器上常用不同的變種軟體.其中 vim 比較好用也用得比較 廣泛.vim 是 vi improved 的縮寫,表示更好的 vi.我個人覺得它是非常好的編輯器 為 了避免 ...

Vim編輯器基本操作學習 一

最近在服務端編輯檔案總不可避免要使用vim編輯器,下面就對學習到的常用命令進行總結,以便自己以後檢視。刪除字元 x 刪除一行 dd 刪除換行符 j,同時將兩行合併成一行 重做,反轉撤銷 ctrl r 一些基本編輯命令可以使用命令計數,比如向下移動3行,可以直接使用3j,代替jjj 另比如dd操作等。...