Vim command handbook

來源:互聯網
上載者:User

標籤:

/* 本篇文章已經預設你通過了vimtuor訓練並能熟練使用大部分命令.此篇文章主要是對於tutor命令的總結和梳理.適合邊學習邊記憶 tutor那個完全是在學習中記憶 符合認知規律但是練習有限.所以這時候選擇記憶起來.用到時順便練習看起來是個更效率的做法 */


VIM的四種模式
Normal 普通模式,也有叫一般模式.命令模式的 控制游標的藝術
Insert 插入模式,也有叫編輯模式的
command line 命令列模式,有叫末行模式的
Visual 可視模式 這個應該沒爭議

Insert 插入模式
i 游標前插入
a 游標後插入
A 行尾插入
I 行首插入
o 在下一行插入新行
O 在上一行插入新行 (大寫)
s 刪除當前游標並進入插入模式
S =cc 刪除游標所在行所有內容並進入插入模式 (大寫)
cc 刪除游標所在行所有內容並進入插入模式
C = c$ 刪除游標後所有內容並進入插入模式
c0 刪除游標前所有內容並進入插入模式
c3c = 3cc 刪除3行並進入插入模式
c2b = d2b+i 刪除游標前2個字元並進入插入模式
c2w = d2w+i 刪除游標後2個字元並進入插入模式

Visual 可視模式 Visual block 可視塊
v 游標選擇
V 行選擇 (大寫)
Ctrl+v 塊選擇
d 刪除選擇內容
y 複製選擇內容
: ‘<,‘> w 檔案名稱/絕對路徑

command line 命令列模式,有叫末行模式的
:w 儲存
:w! 強制儲存
:q 退出
:q! 強制退出
:wq 儲存退出
:wq! 強制儲存退出
:ZZ 如果有改動就儲存退出.如果沒改動不儲存退出.
:e! 恢複上一次儲存的內容,撤銷所有改動.
:w 檔案名稱/絕對路徑 將檔案另存新檔
:r 檔案名稱/絕對路徑 讀取檔案內容並將其粘貼到游標所在行後面
:n1,n2 w 檔案名稱/絕對路徑 將n1,n2之間的內容另存新檔
:!command linux下可以執行shell命令windows下可以執行cmd命令
按任意鍵繼續,推薦按斷行符號
:r !command 讀取命令的輸出 插入到當前文本中
字串替換
s/old/new 替換一行的第一個字串 old為new
s/old/new/g 替換全行的字串old為new
%s/old/new/g 替換所有行的字串 old為new
%s/old/new/gc 替換所有行的字串 old為new 並彈出每個字串替換的確認資訊
我猜這個g是 globe c是confirm
:set all vim 查看Vim目前正在使用的選項

Normal 普通模式
/String向下搜尋字串 n下一個 N上一個
?String向上搜尋字串
搜尋字串時開啟一次忽略大小寫
?string\c
/string\c
-----------------------------------------------------------------------
operator - 操作符,代表要做的事情,比如 d 代表刪除
numbe r- 可以附加的數字,代表動作重複的次數
motion - 動作,代表在所操作的文本上的移動,例如 w 代表單詞(word), $ 代表行末等等。
------------------------------------------------------------------------
number motion
數字 動作

operator number motion
命令 數字 動作

------------------------------------------------------------------------
$游標跳到行尾
0游標跳到行首
H 游標移動到螢幕最上方的一行
M 游標移動到螢幕中間的一行
L 游標移動到螢幕最下方的一行
dd 刪除一行
x 刪除游標後一個字元
X 刪除游標前一個字元
u執行一次撤銷命令
U恢複本行的初始狀態
Ctrl+R 撤銷 ‘撤銷命令‘
J 合并行 刪除掉兩行之間的空白
yy 複製一行
p 在游標下一行粘貼
P 在游標上一行粘貼
r 替換單個錯誤字元
R 連續替換多個字元
~ 切換當前字元大小寫
w移動到單詞的開頭
e移動到單詞的結尾
Ctrl+G 顯示光線標所在行和狀態資訊
gg 跳到第一行
G 跳到最後一行
80gg 跳到第80行 或者80 G
Enter 將游標移動到下一行的第一行
z Enter 滾動螢幕並將當前行移動到螢幕第一行
. (點) 重複上一個動作
----------------------------------------------------------------
number motion
數字 動作
------------------------------------------------------------------------
2x刪除游標後2個字元
1j 游標向下移動1行
1k 游標向上移動1行
1h 游標向左移動1行
1l 游標向右移動1行
3p 粘貼3次p的內容
cw 刪除當前游標到單詞末尾並自動進入插入模式 (修改一個詞)
ce=cw
d$ 刪除游標後內容,但不會進入插入模式
d0 刪除游標前內容,但不會進入插入模式
y$ 複製游標後內容
y0 複製游標前內容
dw 刪除一個單詞包括單詞後面空格
de 刪除一個單詞不包括後面空格
2dd 刪除4行
2yy 複製2行
2w 向右移動到2個單詞的開頭
2e 向右移動到2個單詞的結尾
------------------------------------------------------------------------
operator number motion
命令 數字 動作
------------------------------------------------------------------------
c2e 刪除2個單詞後進入插入模式
c10j 向下刪除10行並進入插入模式
d2w 刪除兩個單詞
y2w 複製兩個單詞
y3y = 3yy 複製3行
d4d = 4dd 刪除4行
d1gg = d1G 刪除從游標所在行向上到1行之間的所有內容(包括游標所在行和第1行)y1gg = y1G 複製從游標所在行向上到1行之間的所有內容(包括游標所在行和第1行)
dG 刪除從游標所在行向下的所有內容(包括游標所在行)
yG 複製從游標所在行向下的所有內容(包括游標所在行)

---------------------------------------------------------------
Ctrl 按鍵組合
----------------------------------------------------------------
CtrL O 返回剛才游標所在位置 可重複按
CtrL I 返回ctrl O上一個位置
CtrL F 向下移動一頁
CtrL D 向下移動半頁
CtrL B 向上移動一頁
CtrL U 向上移動半頁

還有其他命令可以自然的組合起來.例如ea 在一個單詞後插入.更多命令組合需要自己感悟並努力練習形成神經反射.

vim環境參數設定: 編輯 vimrc 檔案,具體命令取決於您所使用的作業系統
:edit ~/.vimrc 這是 Linux系統所使用的命令
:edit $VIM/_vimrc 這是 Windows 系統所使用的命令

設定行號
開啟 set nu
關閉 set nonu

尋找字串忽略大小寫
開啟 set ic
關閉 set noic

字串高亮
hlsearch 開啟
nohlsearch 關閉

一邊搜尋一邊顯示搜尋的內容
set incsearch 開啟
set noincsearch 關閉

‘ic‘ ‘ignorecase‘ 尋找時忽略字母大小寫
‘is‘ ‘incsearch‘ 尋找短語時顯示部分匹配
‘hls‘ ‘hlsearch‘ 高亮顯示所有的匹配短語
選項名可以用完整版本,也可以用縮減版本。

設定自動縮排
:set autoindent 開啟
:set noautoindent 關閉

設定是否顯示insert等模式提示
:set showmode 開啟
:set no showmode 關閉

設定文法高亮
:syntax on  開啟
:syntax off 關閉

 

Vim command handbook

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.