Vim上手
Vim的三種模式
vim三種模式相互轉換
-
命令模式:
在命令行模式下,輸入"vim 文件名"就進入了命令模式;
在編輯模式或者末行模式下,點擊“ESC”鍵,即可入命令模式;
命令模式所輸入的命令並不在屏幕上顯示。 -
編輯模式:
在命令模式下輸入插入命令i、o等命令都可以進入編輯模式;
在該模式下點擊"ESC"鍵,回到命令模式。 -
末行模式:
按 “:” 鍵即可進入末行模式下,會在最後一行顯示一個 “:” 作爲末行模式的提示符,等待用戶輸入命令;
在該模式下點擊"ESC"鍵,回到命令模式。
命令模式(Command Mode)
在該模式下可以進行光標的移動、複製、粘貼、刪除、撤銷以及進入編輯模式
1、光標的移動
命令 | 命令的含義 |
---|---|
h或者向左方向鍵 | 光標向左移動一個字符 |
l或者向右方向鍵 | 光標向右移動一個字符 |
k或者向上方向鍵 | 光標向上移動一個字符 |
j或者向下方向鍵 | 光標向下移動一個字符 |
Ctrl+f或pageup鍵 | 屏幕向前移動一頁 |
Ctrl+b或pagedown鍵 | 屏幕向後移動一頁 |
數字0或者^ | 移動到本行行首 |
$ | 移動到本行行尾 |
gg | 移動到首行 |
G | 移動到尾行 |
nG(n是任意數字) | 移動到第n行 |
2、複製、粘貼、刪除、撤銷
命令 | 命令的含義 |
---|---|
複製 | —— |
yy | 複製光標所在行 |
nyy | 從光標所在行算起向下複製n行 |
yG | 從光標行復制到末尾 |
ygg | 從光標行復制到首行 |
粘貼 | —— |
p | 從光標所在行向下粘貼已經複製或者粘貼的內容 |
P | 從光標所在行向上粘貼已經複製或者粘貼的內容 |
刪除 | —— |
x,X | x向後刪除一個字符,X向前刪除一個字符 |
nx | 向後刪除n個字符 |
dd | 刪除/剪切光標所在的那一行 |
ndd(n爲數字) | 刪除/剪切光標所在行起向下一共n行 |
dG | 刪除光標行到文本末尾 |
dgg | 刪除光標行到文本首行 |
:%d | 刪除文件中所有數據 |
撤銷 | —— |
u | 撤銷一次 |
U | 撤銷所有 |
選擇範圍 | —— |
v | 按v後移動光標會選中指定字符,然後可以複製、粘貼等 |
3.進入編輯模式
命令 | 命令的含義 |
---|---|
i | 在光標的前邊進入插入模式 |
I | 在光標所在行的行首進入插入模式 |
a | 在光標的後邊進入插入模式 |
A | 在光標所在行的行尾進入插入模式 |
o | 在光標所在行的下方插入空行並進入插入模式 |
O | 在光標所在行的上方插入空行並進入插入模式 |
s | 刪除光標指定的字符並進入插入模式 |
S | 將光標所在行清除並進入插入模式 |
編輯模式(Input Mode)
在該模式下可以進行文本的編輯
末行模式(Last line Mode)
在該模式下可以進行文件的保存、查找、替換、行號的顯示
1、文件的保存
命令 | 命令的含義 |
---|---|
:w | 保存文本 |
:q | 退出vim |
:w! | 強制保存,在root用戶下即使文本只讀也可以完成保存 |
:q! | 強制退出,所有改動不生效 |
:wq | 保存並退出 |
2、查找、替換
命令 | 命令的含義 |
---|---|
/word | 向光標之後尋找一個字符串爲word(n向後繼續搜索 N查找上一個) |
?word | 向光標之前尋找一個字符串爲word(n向後繼續搜索 N查找上一個) |
:%s/word1/word2/ | 把所有的word1替換成word2 |
:1,3/word1/word2/ | 把一行到三行的word1替換成word2 |
:2s/word1/word2/ | 把第二行的nmon替換成hello |
:%s/.$/beijing/ | 把以.爲結尾.的換成北京(.前最好加上轉義符\) |
:%s/^my/your | 把my開頭的替換成your |
3、行號的顯示
命令 | 命令的含義 |
---|---|
:set nu | 顯示行號 |
:set nonu | 不顯示行號 |
vim操作演示
進入vim編輯器
- 選擇要存放文件的路徑
- 進入vim編輯器
cd /home/michaelxwang/
dir
vim hello.py
進入編輯模式輸入代碼
- 點擊"i"進入編輯模式
print("hello world 1")
print("hello world 2")
print("hello world 3")
進入命令模式移動光標、複製、粘貼、撤銷
- 點擊“ESC”進入編輯模式
- 點擊“h、k、j、l”左上下右移動光標
- 點擊“dd”刪除當前行
- 點擊“u”撤銷上一步操作
進入末行模式設置行號、保存退出
#輸入“:”進入末行模式
:
#設置行號
set nu
#保存編輯
:wq