一、簡介
1、vim常用模式.
2、如何進入這些模式
正常模式
正常模式主要用來瀏覽和修改文字內容的,一般的,開啟vim都是正常模式。在任何模式下,只要按下esc
鍵就可以返回正常模式。
插入模式
插入模式則用來向文字中新增內容的
i 在游標所在字元前開始輸入文字並進入插入模式
a 在游標所在字元後開始輸入文字並進入插入模式
o (字母o) 在游標所在行的下面單獨開一新行來輸入文字並進入插入模式
s 刪除游標所在的字元並進入插入模式
i 在行首開始輸入文字並進入插入模式。此行首指第乙個非空白字元處。如果行首有空格,則在空格之後輸入文字並進入插入模式
a 在行尾開始輸入文字並進入插入模式。這個好用,您不必管游標在此行的什麼地方,只要按 a 就會在行尾等著您輸入文字。
o (大寫字母o) 在游標所在行的上面單獨開一新行來輸入文字並進入插入模式。
s 刪除游標所在行並進入插入模式
可視模式
可視模式相當於高亮選取文字後的普通模式。
可視模式具有子模式,以行為單位進行選取的可視行模式,使用「v」鍵進入(也就是shift+v);
和以塊為單位進行選取的可視塊模式,使用「ctrl+v」鍵進入。
命令模式
3、模式的轉換
其它模式 ==> 正常模式
按 esc鍵
正常模式 ==> 插入模式按 i 在游標前插入
按 i 在行首插入
按 a 在游標後插入
按 s 刪除游標所在的字元再插入
按 a 在行末插入
按 o 在當前行之下新建行
按 o 在當前行之上新建行
按 s 刪除游標所在行再插入
正常模式 ==> 命令模式按 : (shift 加 分號)
正常模式 ==> 可視模式按 v 可視模式
按 v 可視塊模式
二、常用命令
1、常用操作
(1)修改文字
i 在游標前插入
i 在游標當前行開始插入
a 在游標後插入
a 在游標當前行末尾插入
o 在游標當前行的下一行插入新行
o 在游標當前行的上一行插入新行
:wq 儲存退出
:q 退出
:q! 強制退出
:set paste 原樣式貼上
:set nopaste 取消原樣式貼上
(2)定位命令
:set nu 顯示行號
:set nonu 取消行號
gg 跳到首行
g 跳到末行
:n 跳到第 n 行
^ | 0 游標移動到行頭
$ 美元符號,游標移動到行尾
(3)替換和取消命令
u undo,取消上一步操作
ctrl + r redo,返回到 undo 之前
r 替換游標所在處的字元
r 從游標所在處開始替換,按 esc 鍵結束
(4)刪除命令
x 刪除游標所在處的字元
nx 刪除游標所在處後的 n 個字元
dd 刪除游標所在行
dg 刪除游標所在行到末行的所有內容
d 刪除游標所在處到末行的所有內容
:5,7d 刪除指定範圍內的行
2、刪除所有行
分為三步:
3、查詢
vim查詢支援正規表示式,例如 /vim$ 匹配行尾的"vim"。 需要查詢特殊字元需要轉義,例如/vim匹配"
vi
m匹配"vim
匹配"vim
"。大小寫敏感
在查詢模式中加入\c
表示大小寫不敏感查詢,\c表示大小寫敏感查詢。例如:
/foo\c
將會查詢所有的"foo",「foo」,"foo"等字串。
查詢當前單詞
在normal模式下按下*
即可查詢游標所在單詞(word),要求每次出現的前後為空白字元或標點符號。例如當前為foo, 可以匹配foo bar中的foo,但不可匹配foobar中的foo。 這在查詢函式名、變數名時非常有用。
按下g*
即可查詢游標所在單詞的字串行,每次出現前後字元無要求。 即foo bar和foobar中的foo均可被匹配到。
4、查詢和替換
:s(substitute)
命令用來查詢和替換字串。語法如下:
:s///
例如:%s/foo/bar/g
會在全域性範圍(%)查詢foo並替換為bar,所有出現都會被替換(g)。
作用範圍
作用範圍分為當前行、全文、選區等等。
當前行
:s/foo/bar/g
全文:%s/foo/bar/g
選區,在visual模式下選擇區域後輸入:,vim即可自動補全為 :』<,』>。:
'<,'
>s/foo/bar/g
5-11 行:5,12s/foo/bar/g
當前行.與接下來兩行+2::.,+2s/foo/bar/g
5、替換標誌
上文中命令結尾的g即是替換標誌之一,表示全域性global替換(即替換目標的所有出現)。 還有很多其他有用的替換標誌:
空替換標誌表示只替換從游標位置開始,目標的第一次出現:
:%s/foo/bar
i
表示大小寫不敏感查詢,i
表示大小寫敏感::%s/foo/bar/i
等效於模式中的\c
(不敏感)或\c
(敏感):%s/foo\c/bar
c
表示需要確認,例如全域性查詢"foo"替換為"bar"並且需要確認::%s/foo/bar/gc
回車後vim會將游標移動到每一次"foo"出現的位置,並提示
replace with bar (y/n/a/q/l/^e/^y)?
按下y表示替換,n表示不替換,a表示替換所有,q表示退出查詢模式, l表示替換當前位置並退出。e與y是游標移動快捷鍵 Linux Bash及Vim 常用命令
本人算是linux菜鳥乙個,只用到一些很基礎的命令,在此記錄一下。命令說明 ctrl a移到命令列首 ctrl e移到命令行尾 ctrl f按字元右移 ctrl b按字元左移 ctrl u從游標處 不包含 刪除至命令列首 包含 ctrl k從游標處 不包含 刪除至命令行尾 包含 ctrl w從游標處...
vim及linux常用命令
vim在命令模式下 單行複製 將游標移動到將要複製的行處,按yy進行複製 多行複製 將游標移動到將要複製的首行處,按nyy複製n行 其中n為1 2 3 貼上 將游標移動到將要貼上的行處,按p進行貼上 顯示行號 set nu移動游標到行尾 移動到第n行的行尾n 移動游標到行首 0 linux常用命令 ...
vim設定及常用命令
1 設定 vim vimrc 或 etc vimrc 或 etc virc set nu 顯示行號 set tabstop 4 設定tab為4格 set autoindent 設定自動縮排 set cursorline 突出顯示該行 set cursorcolumn 突出顯示該列 color des...