VIM備忘錄 部分轉 持續更新

2022-07-28 07:45:18 字數 2472 閱讀 5073

游標移動左:h

下:j上:k

右:l+-

當前行行首:

0 當前行行尾:

$後乙個單詞詞首:w,

w後乙個單詞詞尾:e,

e前乙個單詞詞首:b,

bcrtl+f

crtl+b

下半屏:

crtl+d

上半屏:

crtl+u

檔案尾:

g當前螢幕首行:

h當前螢幕末行:

l當前螢幕**:

m指定行:

行號g,

:行號指定字串前:

/字串,?

字串當前行指定字元前:f字元

,f字元文字追加和插入

當前游標右方追加:

a當前游標行尾追加:

a當前游標左方追加:

i當前游標行首追加:

i當前行下方追加行:

o當前行上方插入行:

o文字刪除

刪除游標位置文字:

x刪除游標左方文字:

x刪除當前行:

dd刪除游標移動範圍內的文字:

d游標移動命令

文字替換

替換1文字到多文字:

s替換1文字到1文字:

r替換到當前行尾:

c替換當前行:

cc從當前位置開始替換直到輸入esc:

r文字複製和貼上

(例)複製游標以下3行:

3yy,3y

複製游標以後6個單詞:

6yw貼上到游標以下:

p貼上到游標以上:

p指令模式下的複製貼上類命令通常需要配合一般模式下的有關快捷操作一起使用方能達到效果,所以這裡的複製貼上命令也不單獨侷限於指令模式。

常用的複製貼上方法如下:

1、複製指定行進行貼上:

在一般模式下將游標移動到指定行,按下 yy,完成拷貝,再將游標移動到要貼上的前一行,按 p 進行貼上。

2、複製指定區域進行貼上:

在一般模式下將游標移動到複製區域的開始位置,按下 v,進入可視模式,用 hjkl 或者方向鍵移動游標來選定區域,完成選定後按 y 完成拷貝,再將游標移動到貼上位置,按 p 進行貼上。    

3、複製指定單詞進行貼上:

在一般模式下將游標移動到指定單詞第一字母位置,按下 yw,完成拷貝,再將游標移動到要貼上的位置,按 p 進行貼上。

4、結合標記命令完成複製貼上:

在一般模式下將游標移動到拷貝開始行,按 ma 做下標記 a;游標移動到拷貝結束行,按 mb 做下標記 b;再將游標移動到要貼上的前一行,按 mc 做下標記 c;最後在命令模式下輸入「』a,』b copy 『c」,按回車完成貼上。如果將 copy 換成 move,則完成剪下操作。

5、複製多行進行貼上:

在一般模式下將游標移動到起始行,按 nyy 拷貝 n 行,再將游標移動到要貼上的前一行,按 p 進行貼上。

6、通過行數指定範圍跟目的位置來完成複製貼上:

在命令模式下輸入「n1,n2 copy n3」,按回車,則將第 n1 行到 n2 行複製到了第 n3 行。如果將 copy 換成 move,則完成剪下操作。

7、使用非預設緩衝區完成複製貼上:

前面的複製貼上方法都是使用的預設緩衝區, 編輯器除了預設緩衝區外,還有由 a、b、c … z 為代號的26個獨立緩衝區,所以 vim 編輯器中最多可以同是儲存27份拷貝。使用非預設緩衝區完成複製貼上操作時只需要加上雙引號跟緩衝區代號即可。見下一例項。

8、將指定行拷貝到 x 緩衝區並完成貼上:

在一般模式下將游標移動到指定行,按下 「xyy,拷貝到 x 緩衝區,再將游標移動到要貼上的前一行,按 「xp 進行貼上。

通用替換命令

:行1,行2s/字串1/字串2/g

「行1,行2」指定方法例:

第5行到第30行:

5,30

當前行到第30行:

.,30

第5行到第末尾行:

5,$第5行到含有end的行:

5,/end/

所有行:

%其他常用命令

顯示行號

:set number

或者 :set nu

隱藏行號

:set nonumber

或者 :set nonu

自動縮排

:set autoindent

或者 :set ai

不自動縮排

:set noautoindent

或者 :set noai

顯示tab及行尾字元

:set list

隱藏tab及行尾字元

:set nolist

設定tab寬度為4個字元

:set tabstop=4

檢視當前設定

:set all

Vim 命令 備忘錄

vim 中的內部命令與 vi 編輯器中的內部命令類似。表 1 提供了 vim 中的游標移動命令。表 1.用於移動游標的 vim 命令 命令動作 h將游標向左移動 j 加號 enter 或 return 將游標向下移動 k 減號 將游標向上移動 l將游標向右移動 將游標移動到當前段落的末尾 將游標移動...

資料結構學習備忘錄(持續更新)

概念性問題 在鍊錶中引入頭結點可以使頭指標永遠不空。方便插入和刪除運算的實現。線性表採用鏈式儲存時,結點和結點內部的儲存空間必須是連續的。有價值的 高效刪除順序表中值為e的所有元素的 void del sqlist l,elemtype e l length l length k 修改表的長度 對於...

js各種小知識點備忘錄 持續更新

function foo data1,data2 foo.call this,1 2 var str 1 2 3 var p str.split 1 2 3 split var ar 5,4,3,2,1 var p2 ar.join x 5x4x3x2x1 陣列合併成字串中間加 x slice 片 ...