Vim是vi的增強版
Vi共有三種模式;
- 一般模式(默認的模式)
- 編輯模式
- 末行模式
這三種模式的互換
一般模式到編輯模式:
i:從目前光標所在處插入,I爲在目前所在行的第一個非空字符插入
a:從目前光標所在處的下一個字符插入,A爲從目前所在行的最後一個字符插入
o:從目前光標所在處的行插入新的行,O爲從目前所在的行的上一行插入新的行
r:替代光標所在字符一次,R替代光標所在字符,按[esc]結束
一般模式到末行模式
直接按":"(編輯模式和末行模式不能互換)
一、光標移動方法:
k或者↑:向上移動一個字符
j或者↓:向下移動一個字符
h或者←:向左移動一個字符
l或者→:向右移動一個字符
+:移動至下一行非空格字符
-:移動至上一行非空格字符
N+空格:在此行上移動N個字符
0:移動到此行第一個字符
$:移動到此行最後一個字符
H:移動到此屏幕的第一個字符
M:移動到中央行的第一個字符
L:移動到此屏幕的最後一個字符
N+G:N爲數字,表示移動到第N行(gg表示移動到首行)
N+[enter]:N爲數字。表示向下移動N行
[ctrl]+f:向下翻一屏
[ctrl]+b:向上翻一屏
[ctrl]+d:向下翻半屏
[ctrl]+u:向上翻半屏
二、查找替換
/word:向光標尾部查找
?word:向光標首部查找
n:重複前一個查找動作
N:與n相反
[N,M]s/word1/word2/g:從N行到M行查找word字符串,並將該字符串替換爲word2字符串(在末行模式使用。1,$s/word1/word2/g表示從第一行到最後一行。1,$s/word1/word2/gc會在替換時讓用戶確認是否替換)
三、刪除、複製、黏貼
x:向後刪除一個字符
X:向前刪除一個字符
nx: n爲數字,向後刪除n個字符
dd:刪除一整行
ndd:n爲數字,向下刪除n 行
d1G:刪除光標所在行到第一行的數據
dG:刪除光標所在行到最後一行的數據
d$:刪除光標所在處到該行最後一個字符
d0:刪除光標所在處到該行最前面一個字符
yy:複製一行這裏也有(nyy,y1G,yG,y$,y0)
p和P:黏貼(p爲黏貼到光標下一行,P爲黏貼到光標上一行)
J:將光標所在行與下一行結合爲同一行
u:恢復之前的動作
.:重做上一個動作
四、末行模式下的命令
w:保存
w!:強制保存
q:退出
q!:強制退出
wq:保存退出
w [filename]:另存爲filename
r [filename]:編輯時,讀入另一個檔案的數據
[N,M] w [filename]:N,M爲數字,表示N到M行的內容保存到filename中
!COMMAND:暫時離開vim且執行COMMAND指令
set nu:顯示行號
set nonu:取消顯示行號
set ai:自動縮進
set noai:取消自動縮進
set hlsearch:高亮搜索
set nohlsearch:取消高亮搜索
set ic:忽略字符大小寫
set noic:取消忽略字符大小寫
set sm:括號匹配
set nosm:取消括號匹配
vim編輯器的多文件模式:
格式:vim FILE1 FILE2…
在末行模式的命令:
next:下一個文件
first:第一個文件
prev:上一個文件
last:最後一個文件
wqall:保存全部
q!all:退出全部
窗口分割:
格式:vim o|-O FILE1 FILE2
Ctrl+w,(↑↓←→,ctrl+w放掉後再按上下左右爲切換相應的屏)
例子:
- 複製/etc/grub.cfg配置文件至/tmp目錄,用查找替換命令刪除/tmp/grub.cfg文件中的行首的空白字符;
結果如下
1
收藏