Vim常用命令

2021-06-29 09:05:15 字數 3909 閱讀 5272

:wq

shift zz (按住shift,按z是大寫的z)

:r  檔案路徑檔名    (匯入檔案內容到游標下一行)

檔案命令

同時開啟多個檔案  

vim file1 file2 file3 

在vim視窗下開啟乙個新檔案

:open file

在新視窗中開啟檔案

:split file

切換到下乙個檔案

:bn切換到上乙個檔案

:bp檢視當前開啟的檔案列表,當前正在編輯的檔案會用 [ ] 標註

:args

插入命令

i  在游標前插入

a  在游標後插入

i  在游標行首插入,本行第乙個字元前

a  在游標行末尾插入

o (小寫)在游標下方新建行

o (大寫)在游標上方新建行

u  撤銷

查詢命令

/file 查詢file,按 n 鍵查詢下乙個,按 n 鍵查詢上乙個。

:set ignorecase    或  :set ic         忽略字母大小寫的查詢

:set noignorecase  或  :set noic       不忽略字母大小寫的查詢

:set hlsearch              高亮顯示搜尋結果,高亮顯示所有查詢內容

:set nohlsearch            關閉高亮顯示,下次查詢不開啟

:nohlsearch                關閉本次查詢的高亮顯示,下次開啟

:set nu   或者 :set number  設定行數 

: set nonu  取消行號 替換

shif + ~    (esc模式下)游標所在處的字元進行大小寫互換

:%s/old/new/g    全文替換字串,把old替換成new

: 2,10s/old/new/g   替換2到10行字串

如果要確認 選擇c 不確認是g

:2,10s/old/new/c

:32, $s/name//        替換32行的第乙個 name 為空

移動

h     左移乙個字元

l     右移乙個字元 (此命令少用,一般用 w 代替)

k     上移乙個字元

j     下移乙個字元

(10h,向左移動10個字元;   8j,向下移動8行)

w     向前(右)移動乙個單詞(2w,向前移動2個單詞),游標停在單詞首部。

b     向後(左)移動乙個單詞 (2b,……)

e     同 w   但是游標停在單詞尾部

ge    同 b   游標停在單詞尾部

gg    移動到本檔案頭部,最頂端。

g     移動到檔案尾部

ng    到n行

:n   到n行

0 (零)     移動到本行第乙個字元上(含空白字元)

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

$            移動到行尾 (3$ 移動到下面三行的行尾)

跳到指定行,冒號+行號,回車,比如跳到240行就是 :240回車。另乙個方法是行號+g,比如230g跳到230行。

ctrl + e 向下滾動一行

ctrl + y 向上滾動一行

ctrl + d 向下滾動半屏

ctrl + u 向上滾動半屏

ctrl + f 向下滾動一屏

ctrl + b 向上滾動一屏

撤銷和重做

u 撤銷(undo)

u 撤銷對整行的操作

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

刪除

x   刪除當前字元(也可以是 dl )(3x 刪除當前游標開始向後三個字元)

x   刪除當前字元的前乙個字元(也可以是 dh)

dd  刪除當前行

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

dj  刪除上一行

dk  刪除下一行 

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

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

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

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

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

:1,10d  刪除1-10行

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

:1,$d   刪除所有行 :

1,10g/^$/d         刪除1到10之間的空行

複製和黏貼剪下

yy   或 y   拷貝當前行

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

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

p   大p,當前游標行之上覆制

shift+p 在當前行前貼上 

dd   按p剪下 dd也是刪除命令

定義快捷鍵

:map  ^p  i#ctrl+p     (  ^是按ctrl+v出來的,大寫的i是在行首插入,行首插入#號,然後esc鍵返回命令模式)

:map ^b 0x                       ctrl+b         (刪除行首的字元,x表示刪除游標所在的字元)

取消:unmap ^p

:2,7s/^/#/g              在2到7行的行首加上#號   ^ 表示行首

:2,7s/#//g                把行首的#號去掉      //無內容表示替換為空,但是如果後面也有#號也會去掉

:2,7s/^#//g              只把行首的#號去掉

如果行首需要加上 // 兩個斜槓,需要用轉義符\

:2,7s/^/\/\//g 

替換 :ab  sb   [email protected]    輸入sb 回車就會變成[email protected]

取消  :unab  [email protected]

永久配置以上

如果是個人使用者在使用者家目錄

自建乙個 .vimrc的檔案

set nu 

map ^b i#

就可以了

全域性使用者在 /etc/vimrc 盡量別操作

多行縮排:

按v進入visual狀態,選擇多行,用》或《縮排或縮出 

在命令狀態下對當前行用== (連按=兩次), 或對多行用n==(n是自然數)表示自動縮排從當前行起的下面n行。

你可以試試把**縮排任意打亂再用n==排版,相當於一般ide裡的code format。使用gg=g可對整篇**進行排版。

visual模式有三種:

預設的visual模式

,按下 v 就可以進入

visual line模式,v 可以進入

visual block模式,ctrl-v 進入

檢視編碼

:set fileencoding

:set fileencoding=utf-8

一些快捷鍵

ctrl-a 可以將游標所在處的數字加1,負數和多位數都在支援範圍內

ctrl-x   有加1就會有減1

vim 命令 Vim常用命令

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

VIM常用命令

vim命令記錄 vim是乙個非常強大,也非常複雜的編輯器。就連常用的命令也數以百計,而且通過各種組合,更是能夠達到數量驚人的地步。本文是我跟著vim使用者手冊學習vim的使用而作的記錄,記下一些vim的常用命令,方便查詢和複習。當然了,對於那些十分常用,比如 i 進入insert模式這種命令當然不會...

VIM常用命令

常用命令 1 游標命令 k,j,h,l 上下左右游標移動命令,雖然可以在linux中使用鍵盤右邊的四個游標鍵,但是記住這四個命令還有非常有用的,也就是右手在鍵盤上放置的位置部分 ng n為行數,該命令立即使游標跳到指定行。ctrl g 游標所在位置的行數和列數報告 w,b 使游標向前或向後跳過乙個單...