Vim上手
Vim的三種模式
vim三種模式相互轉(zhuǎn)換
vim三種模式相互轉(zhuǎn)換
-
命令模式:
在命令行模式下,輸入"vim 文件名"就進(jìn)入了命令模式;
在編輯模式或者末行模式下,點(diǎn)擊“ESC”鍵,即可入命令模式客税;
命令模式所輸入的命令并不在屏幕上顯示。 -
編輯模式:
在命令模式下輸入插入命令i撕贞、o等命令都可以進(jìn)入編輯模式更耻;
在該模式下點(diǎn)擊"ESC"鍵,回到命令模式捏膨。 -
末行模式:
按 “:” 鍵即可進(jìn)入末行模式下秧均,會在最后一行顯示一個 “:” 作為末行模式的提示符,等待用戶輸入命令脊奋;
在該模式下點(diǎn)擊"ESC"鍵熬北,回到命令模式。
命令模式(Command Mode)
在該模式下可以進(jìn)行光標(biāo)的移動诚隙、復(fù)制讶隐、粘貼、刪除久又、撤銷以及進(jìn)入編輯模式
1巫延、光標(biāo)的移動
命令 | 命令的含義 |
---|---|
h或者向左方向鍵 | 光標(biāo)向左移動一個字符 |
l或者向右方向鍵 | 光標(biāo)向右移動一個字符 |
k或者向上方向鍵 | 光標(biāo)向上移動一個字符 |
j或者向下方向鍵 | 光標(biāo)向下移動一個字符 |
Ctrl+f或pageup鍵 | 屏幕向前移動一頁 |
Ctrl+b或pagedown鍵 | 屏幕向后移動一頁 |
數(shù)字0或者^ | 移動到本行行首 |
$ | 移動到本行行尾 |
gg | 移動到首行 |
G | 移動到尾行 |
nG(n是任意數(shù)字) | 移動到第n行 |
2、復(fù)制地消、粘貼炉峰、刪除、撤銷
命令 | 命令的含義 |
---|---|
復(fù)制 | —— |
yy | 復(fù)制光標(biāo)所在行 |
nyy | 從光標(biāo)所在行算起向下復(fù)制n行 |
yG | 從光標(biāo)行復(fù)制到末尾 |
ygg | 從光標(biāo)行復(fù)制到首行 |
粘貼 | —— |
p | 從光標(biāo)所在行向下粘貼已經(jīng)復(fù)制或者粘貼的內(nèi)容 |
P | 從光標(biāo)所在行向上粘貼已經(jīng)復(fù)制或者粘貼的內(nèi)容 |
刪除 | —— |
x,X | x向后刪除一個字符脉执,X向前刪除一個字符 |
nx | 向后刪除n個字符 |
dd | 刪除/剪切光標(biāo)所在的那一行 |
ndd(n為數(shù)字) | 刪除/剪切光標(biāo)所在行起向下一共n行 |
dG | 刪除光標(biāo)行到文本末尾 |
dgg | 刪除光標(biāo)行到文本首行 |
:%d | 刪除文件中所有數(shù)據(jù) |
撤銷 | —— |
u | 撤銷一次 |
U | 撤銷所有 |
選擇范圍 | —— |
v | 按v后移動光標(biāo)會選中指定字符疼阔,然后可以復(fù)制、粘貼等 |
3.進(jìn)入編輯模式
命令 | 命令的含義 |
---|---|
i | 在光標(biāo)的前邊進(jìn)入插入模式 |
I | 在光標(biāo)所在行的行首進(jìn)入插入模式 |
a | 在光標(biāo)的后邊進(jìn)入插入模式 |
A | 在光標(biāo)所在行的行尾進(jìn)入插入模式 |
o | 在光標(biāo)所在行的下方插入空行并進(jìn)入插入模式 |
O | 在光標(biāo)所在行的上方插入空行并進(jìn)入插入模式 |
s | 刪除光標(biāo)指定的字符并進(jìn)入插入模式 |
S | 將光標(biāo)所在行清除并進(jìn)入插入模式 |
編輯模式(Input Mode)
在該模式下可以進(jìn)行文本的編輯
末行模式(Last line Mode)
在該模式下可以進(jìn)行文件的保存、查找婆廊、替換迅细、行號的顯示
1、文件的保存
命令 | 命令的含義 |
---|---|
:w | 保存文本 |
:q | 退出vim |
:w! | 強(qiáng)制保存淘邻,在root用戶下即使文本只讀也可以完成保存 |
:q! | 強(qiáng)制退出茵典,所有改動不生效 |
:wq | 保存并退出 |
2、查找宾舅、替換
命令 | 命令的含義 |
---|---|
/word | 向光標(biāo)之后尋找一個字符串為word(n向后繼續(xù)搜索 N查找上一個) |
?word | 向光標(biāo)之前尋找一個字符串為word(n向后繼續(xù)搜索 N查找上一個) |
:%s/word1/word2/ | 把所有的word1替換成word2 |
:1,3/word1/word2/ | 把一行到三行的word1替換成word2 |
:2s/word1/word2/ | 把第二行的nmon替換成hello |
:%s/.$/beijing/ | 把以.為結(jié)尾.的換成北京(.前最好加上轉(zhuǎn)義符\) |
:%s/^my/your | 把my開頭的替換成your |
3统阿、行號的顯示
命令 | 命令的含義 |
---|---|
:set nu | 顯示行號 |
:set nonu | 不顯示行號 |
vim操作演示
進(jìn)入vim編輯器
- 選擇要存放文件的路徑
- 進(jìn)入vim編輯器
cd /home/michaelxwang/
dir
vim hello.py
vim-1-進(jìn)入vim.gif
進(jìn)入編輯模式輸入代碼
- 點(diǎn)擊"i"進(jìn)入編輯模式
print("hello world 1")
print("hello world 2")
print("hello world 3")
vim-2-進(jìn)入編輯模式.gif
進(jìn)入命令模式移動光標(biāo)、復(fù)制筹我、粘貼扶平、撤銷
- 點(diǎn)擊“ESC”進(jìn)入編輯模式
- 點(diǎn)擊“h、k蔬蕊、j蜻直、l”左上下右移動光標(biāo)
- 點(diǎn)擊“dd”刪除當(dāng)前行
- 點(diǎn)擊“u”撤銷上一步操作
vim-3-進(jìn)入命令模式.gif
進(jìn)入末行模式設(shè)置行號、保存退出
#輸入“:”進(jìn)入末行模式
:
#設(shè)置行號
set nu
#保存編輯
:wq
vim-4-進(jìn)入末行模式.gif