Vim常用命令整理

2021-09-14 00:59:50 字數 2965 閱讀 6461

vim命令浩如煙雲,我們很難精通所有命令,在實際工作中我們常用的命令也就那麼幾十個。文字整理了工作中常用的vim命令,掌握了以下命令就基本滿足我們工作需要。

我們經常使用vim file 命令開啟乙個檔案,同時我們也可以使用vim file1 file2 file3 ...開啟多個檔案。

如果我們已經開啟了某個檔案file1,使用 :open file2 在新視窗中開啟其他檔案。這個時候我們只是看得到file2,使用      :split file1 命令可以分割當前視窗顯示file1。

:bn 切換到下乙個檔案

:bp 切換到上乙個檔案

:args 檢視當前開啟的檔案列表,正在編輯的會用方括號擴起來。

上面提到使用split用新視窗開啟檔案,但是視窗都是橫向的,使用vsplit可以縱向開啟視窗。

使用crtl+ww 移動游標到下乙個視窗

使用crtl+wj 移動游標到下方視窗

使用trl+wk 移動游標到上方視窗

使用 :close 關閉視窗,為防止誤操作,最後乙個視窗不能使用這個命令關閉。

使用 zz (注意是大寫的)儲存並關閉除當前視窗外的所有其他視窗。

在視窗中我們可以使用一些命令來輔助我們進行一些操作

命令格式:   :!command

例如::!pwd 檢視當前檔案路徑

:!ls -al 檢視當前路徑下的檔案

:!php file.php 執行某個php指令碼

:suspend或ctr+z(注意是大寫的)可以掛起vim,使用fg可以返回到vim。

php**使用//注釋**,在vim中可以快速注釋某些行。

:20,40 s/^/\/\/ 注釋20到40行

:20,40 s/^\/\/ 取消20到40行的注釋

:1,$ s/^/\/\/ 注釋整個文件

:1,$ s/^\/\/ 取消整個文件的注釋

:% s/^/\/\/ 注釋整個文件

:% s/^\/\/ 取消整個文件的注釋

i 在當前位置前插入

a 在當前位置後插入

i 在當前行首插入

a 在當前行尾插入

o 在當前行的下一行插入新行

o 在當前行的上一行插入新行

關於搜尋的一些設定:

:set ignorecase 設定忽略大小寫

:set noignorecase 設定不忽略大小寫

如果某個詞太長,不便拼寫,可將游標移到這個詞上,然後按*或#可以對該詞進行搜尋,相當於/text搜尋

:set  hlsearch 高亮搜尋結果,所有匹配的字元都高亮

:set nohlsearch 關閉高亮顯示

:nohlsearch 關閉當前高亮顯示,如果重新搜尋或按n或n鍵則會在此高亮

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

u 撤銷

u 撤銷對正航的的操作

ctr+r 重做。

ra 把當前游標所在字元替換成a。

:s/old/new/ 把當前所在行中第乙個匹配的old字串用new字串替換

:s/old/new/g 把當前所在行中所有匹配old的字串替換成new

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

:%s/old/new/g 用new替換old,替換文字中所有滿足的字串

:10,20 s/^/    /g 在第10行到20行每行行首加四個空格。

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

h 向左移動乙個字元

l 向右移動乙個字元

j 向下移動一行

k 向上移動一行

個人覺得使用h、l、j、k還不如直接使用四個方向鍵更直接些。

在vim中很多命令可以結合數字使用,比如20h表示向左移動20個字元,

w 向後移動乙個單詞

b 向前移動乙個單詞

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

^ 移動到本行行首非空白字元上

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

$ 移動到本行行尾,3$移動到下面3行行尾

gg 移動到檔案頭部

g 移動到檔案尾部

:50 移動到第50行

ctrl+e 向下滾動一行

ctrl+y 向上滾動一行

ctrl+d 向下滾動半屏

ctrl+u 向上滾動半屏

ctrl+f 向下滾動一屏

ctrl+b 向上滾動一屏

x 刪除當前字元,等同dl,3x刪除當前位置起的三個字元

x 刪除當前字元的前乙個字元,等同dh

dd 刪除當前行

dj 刪除上一行

dk 刪除下一行

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

d 刪除當前位置至行尾,等同d$

kdgg 刪除當前之前的所有行,不包括當前行

jdg 刪除當前行後的所有行,不包括當前行

:1,10d 刪除1~10行

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

:1,$ 刪除文件中的所有行,等同於dg

j 刪除兩行之間的空行

yy 複製當前行

3yy 拷貝當前行開始的3行,nyy表示從當前行開始拷貝n行(包括當前行)

p 在當前游標之後貼上,如果拷貝的行就在當前行的下一行開始貼上

p 在當前行前一行貼上

:1,20 co 30 把第一行到20行插入到第30行後

:1,$ co $ 把檔案複製乙份並追加到末尾

進入檢視模式移動游標即可選中文字,按p鍵複製選中的文字

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

進入檢視模式移動游標即可選中文字,按d鍵剪下選中的文字

3dd 從當前行開始剪下3行

:1,10d 剪下1到10行

:1,10 m 20 將1到10行移到20行後

:wq 儲存並退出

:x 儲存並退出

:q! 強制退出並放棄所有修改

:e! 放棄所有修改並重新開啟檔案

本文參考:

VIM常用命令整理

1 移動游標 上下左右 四個方向箭頭或k j h l 上下翻頁 pageup,pagedn 文首文尾 gg跳到文件起始位置,g跳到末尾位置 行首行尾 home跳到行首,end跳到行尾 到指定行 esc進入命令模式,ngg,如果沒有顯示行號,set number,取消顯示行號,set nonumber...

Vim 模式及常用命令整理

vim 命令 以 和 開頭的命令都有歷史紀錄,可以首先鍵入 或 然後按上下箭頭來選擇某個歷史命令。vim的模式 基本上可以分為3種模式,分別是命令模式 command mode 插入模式 insert mode 和底行模式 last line mode 下圖所示為vim各種模式相互轉換的關係圖。插入...

vim 命令 Vim常用命令

4.編輯 我發現膝上型電腦接外接鍵盤以後,使用觸控板和操作滑鼠都變得比較麻煩,所以想要學習一下vim,寫一篇筆記記錄常用命令。基本上vim共分為三種模式,分別是命令模式 command mode 輸入模式 insert mode 和底線命令模式 last line mode 啟動vim,便進入了命令...