標籤:ddp size 使用 第一個字元 http 替換 快捷 blank 游標位置
1、移動游標
移動游標的時候,可以通過上下左右的方向鍵來操作,但是這樣有點慢,說明了一些 vim 下比較常用的快速鍵使用方法,
空格鍵也是向右移動的快速鍵,還可以通過數字來控制它的位置。例如先按下數字5,再按空格鍵的話,游標就會直接向右移動5個字元。h、j、k、l 這些快速鍵也都支援使用數字來控制游標移動的數量。
2、vim 一般模式下移動游標的捷徑
字元移動
h,j,k,l 左下上右
行內移動
w 正向移動到相鄰單詞的首字元
b 逆向移動到相鄰單詞的首字元
B 向前一個單詞,以空格和TAB為分隔字元
e 正向移動到相鄰單詞的尾字元
ge 逆向移動到相鄰單詞的尾字元
0 數字0,左移游標到本行的開始;
Shift + 6 ,左移游標到本行的開始;
Shift + 4 ,右移游標到本行的末尾;
$ 右移游標,到本行的末尾;
^ 移動游標,到本行的第一個非Null 字元
頁移動
H 跳轉到當前螢幕的第一行
M 跳轉到本屏顯示的中間一行
L 跳轉到最後一行
2H 表示將游標移到螢幕的第2行
3L 表示將游標移到螢幕的倒數第3行
z + enter 是當前行成為螢幕的第一行
z + - 是當前一行成為最後一行
ctrl + f 在檔案中前移一頁(或 page down);
ctrl + b 在檔案中後移一頁(或 page up);
ctrl + d 往下滾動半屏
ctrl + u 往上滾動半屏
檔案移動
gg 跳到首行
G 即 Shift +g ,跳到尾行
nG 跳轉到n行,n 是任一數字,其中右下角也可以看到游標的位置,見,
% 跳到另一邊括弧
配合尋找字元的方式移動
fa 正向移動到第一個字元 a 處
Fa 逆向移動到第一個字元 a 處
非相鄰的單詞或字元間移動
8w 正向移動到相隔八個單詞的首字元
4Fa 逆向移動到第四個 a 字元
更大範圍的移動
當游標停留在一個單詞上,* 鍵會在檔案內搜尋該單詞,並跳轉到下一處;
“ # ”當游標停留在一個單詞上,“ # ”在檔案內搜尋該單詞,並跳轉到上一處;
(/) 移動到 前/後 句 的開始;
{/} 跳轉到 當前/下一個 段落 的開始。
g 到本行最後一個不是 blank 字元的位置。
fa 到下一個為 a 的字元處,你也可以fs到下一個為s的字元。
t, 到逗號前的第一個字元。逗號可以變成其它字元。
3fa 在當前行尋找第三個出現的 a。
F/T 和 f 和 t 一樣,只不過是相反方向;
gg 將游標定位到檔案第一行起始位置;
G 將游標定位到檔案最後一行起始位置;
NG或Ngg 將游標定位到第 N 行的起始位置
3、複製剪下粘貼
替換和刪除
Vim常規的刪除命令是 d、 x (前者刪除 行 ,後者刪除 字元 ),結合Vim的其他特性可以實現基礎的刪除功能。將游標定位於檔案內指定位置後,可以用其他字元來替換游標所指向的字元,或從當前游標位置刪除一個或多個字元或一行、多行
gg dG 刪除全部內容
d0 刪除至行首
dl 刪除當前字元, dl=x
dh 刪除前一個字元
dd 刪除當前行
dj 刪除上一行
dk 刪除下一行
dw 刪除到下一個單詞開頭
de 刪除到本單詞末尾
dE 刪除到本單詞末尾包括標點在內
db 刪除到前一個單詞
dB 刪除到前一個單詞包括標點在內
10d 刪除當前行開始的10行
d$ 刪除當前字元之後的所有字元(本行)
D 刪除當前字元至行尾。D=d$
kd gg 刪除當前行之前所有行(不包括當前行)
jdG 刪除當前行之後所有行(不包括當前行)
:1,10d 刪除1-10行
:11,$d 刪除11行及以後所有的行
:1,$d 刪除所有行
J 刪除兩行之間的空行,實際上是合并兩行
rc 用 c 替換游標所指向的當前字元;
nrc 用 c 替換游標所指向的前 n 個字元;
5rA 用 A 替換游標所指向的前 5 個字元;
x 刪除游標所指向的當前字元;
nx 刪除游標所指向的前 n 個字元;
3x 刪除游標所指向的前 3 個字元;
dw 刪除游標右側的字;
ndw 刪除游標右側的 n 個字;
3dw 刪除游標右側的 3 個字;
db 刪除游標左側的字;
ndb 刪除游標左側的 n 個字;
5db 刪除游標左側的 5 個字;
dd 刪除游標所在行,並去除空隙;一次只能剪下一行
ndd 刪除(剪下) n 行內容,並去除空隙;
3dd 刪除(剪下) 3 行內容,並去除空隙;
Vim常規的替換命令有 c 和 s ,結合Vim的其他特性可以實現基礎的替換功能,不過替換命令執行以後,通常會由 編輯模式 進入 插入模式
s 用輸入的本文替換游標所指向的字元;
S 刪除當前行,並進入編輯模式;
ns 用輸入的本文替換游標右側 n 個字元;
nS 刪除當前行在內的 n 行,並進入編輯模式;
cw 用輸入的本文替換游標右側的字;
cW 用輸入的本文替換從游標到行尾的所有字元(同 c$ );
ncw 用輸入的本文替換游標右側的 n 個字;
cb 用輸入的本文替換游標左側的字;
ncb 用輸入的本文替換游標左側的 n 個字;
cd 用輸入的本文替換游標的所在行;
ncd 用輸入的本文替換游標下面的 n 行;
c$ 用輸入的本文替換從游標開始到本行末尾的所有字元;
c0 用輸入的本文替換從本行開頭到游標的所有字元。
複製粘貼
yy 拷貝當前行
nyy 拷貝當前後開始的n行,比如2yy拷貝當前行及其下一行
“+y 複製 1 行到作業系統的粘貼板
“+nyy 複製 n 行到作業系統的粘貼板
: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行之後。
x 剪下當前字元,即向後刪除一個字元
3x 剪下當前游標開始向後三個字元,
X 剪下當前字元的前一個字元,即向前刪除一個字元。X=dh
p (小寫p)粘貼到下一行或右側,修改和刪除的資料自動到粘貼板中
P (大寫P)粘貼到上一行或左側
不規則剪下粘貼,可以先按 v 進入 visual mode 視覺化介面,通過上下左右方向鍵選中要替換的單詞,再按小寫 x 剪下,按小寫 p 粘貼即可。
yiw (yank inner word)在一個單詞的任意字母使用,就複製該單詞
yw 則只是複製從游標所在字母到詞尾的部分
撤銷和重複
u 撤銷最近一次修改 undo;一次恢複一個操作,最多恢複50次。恢複到最原始的操作之後,左下角會出現文字“已位於最舊的改變”。
. 重複最後一條修改本文的命令
U 撤銷所有修改
Ctrl + r 取消最後一次的撤銷 redo
塊編輯
v 可進入visual模式,使用標準快速鍵移動游標可選擇文字區塊,之後可輸入標準編輯命令
ctrl + v 列編輯
行尾塊…
插入模式
進入
i 在當前位置生前插入
I 在當前行首插入
a 在當前位置後插入
A 在當前行尾插入
o 在當前行之後插入一行
O 在當前行之前插入一行
s 刪掉當前字元,並進行輸入
x 刪掉當前字元,停留在Normal模式
退出
Esc
ctrl + O 暫時性的
ctrl + C 取消當前的任何操作
ctrl + [ 官方推薦替換Esc
移動游標 盡量不要進入插入模式移動游標
ctrl + H 游標移當前行行首 imap
ctrl + J 游標移下一行行首 imap
ctrl + K 游標移上一行行尾 imap
ctrl + L 游標移當前行行尾 imap
Alt + H 游標左移一格 imap
Alt + J 游標下移一格 imap
Alt + K 游標上移一格 imap
Alt + L 游標右移一格 imap
一般模式下移動游標及複製剪下粘貼