vi編輯器是一個模式化的編輯器 並且功能異常強大 體積短小精悍 正則表達式
而咱們如今常常使用的vim 是vi的加強版 vim
vim [options] [/path/to/somefile] windows
這裏的路徑也能夠先省略不寫 等寫入內容後在保存其路徑 好比windows先打開app
個記事本 而後再去保存其路徑編輯器
默認模式 命令模式 編輯模式 可對文件進行刪除 複製 粘貼等操做ide
輸入模式 對文本文件進行修改 輸入 又叫作插入模式spa
末行模式 能夠執行保存 查找 替換 退出等命令 ci
編輯模式 --> 輸入模式 字符串
i insert 實如今當前光標所在處字符前轉換爲輸入模式 it
a append 實如今當前光標所在處字符後轉換爲輸入模式
o 實現當前光標在行下方新建一個空白航轉換爲輸入模式
I 實現當前光標所在行行首轉換爲輸入模式
A 實現當前光標所在行行尾轉換爲輸入模式
O 實現當前光標所在行上方新建一個空白行轉換爲輸入模式
輸入模式 --> 編輯模式
按一下esc 鍵
編輯模式 --> 末行模式
輸入冒號 :
末行模式 -- > 編輯模式
按倆下esc 鍵
輸入模式 -- > 末行模式
沒法這樣實現 只能先轉換爲編輯模式 而後在轉換末行模式
字符間跳轉
h: 向左跳轉一個字符
l: 向右條狀一個字符 ↑k
j: 向下跳轉一個字符 h← →l
k: 向上跳轉一個字符 ↓j
2. 單詞間跳轉
w : 跳至後一個單詞詞首
e : 跳至當前或下一個單詞詞尾
b: 跳至當前或前一個單詞詞首
3. 句間跳轉
): 跳至下一句
( : 跳至上一句
4. 段落間跳轉
} : 跳至下一段
{ : 跳至上一段
5. 行間跳轉
1G , gg 跳至文件首行
G 跳至文件最後一行
#G 跳轉#行
6. 行內跳轉
^ : 跳至行首
$ : 跳至行尾
0 : 零跳至絕對行首
1. 在末行模式下
w | 保存 |
q | 退出 |
! | 強制 |
wq | 保存並退出 |
w! | 強制保存 |
q! | 強制退出 |
x | 保存退出 |
2. 在編輯模式下
ZZ | 保存退出 |
wall | 保存全部文本 |
qall | 退出全部文本 |
vim [options] /path/to/somefile
1. 打開文件讓光標快速定位在#行行首
vim +# /path/to/somefile
2. 打開多個文件
vim [options] file1 file2 file3
輸入:字符 | 在末行模式下 |
next | 切換到下一個 |
last | 切換到最後一個 |
first | 切換到第一個 |
prev | 切換到前一個 |
3. 打開多個文件並分屏顯示
vim -[o|O] file1 file2 file3
-o 垂直分割窗口
-O 水平分割窗口
Ctrl+w+(↑↓):在多個文件間跳轉
1. x 命令
x | 向後刪除一個字符 |
X | 向前刪除一個字符 |
#x | 刪除x個字符 |
2. 刪除命令 d命令
dw | 刪除當前光標到最後一個單詞 |
db | 刪除光標所在處到詞首或者前一個單詞詞首 |
de | 刪除光標所在處到詞尾 |
d^ | 刪除光標所在處到行首 |
d$ | 刪除光標所在行到行尾 |
dd | 刪除光標所在行 |
#dd | 刪除當前光標向下的#行 |
3. 末行模式 d命令的使用
末行模式可使用地址定界
起始地址,結束地址 | 加d命令可刪除 |
$ | 最後一行 |
. | 當前光標所在行 |
% | 全文 |
1,7d | 刪除第一行到第七行 |
1,$ | 第一行到最後一行 |
1,+6 | 第一行到第六行 |
1,$-2 | 第一行到倒數第三行 |
.,+3 | 當前光標所在行和下面的三行 |
4. 編輯,轉換至輸入模式
cc | 刪除當前光標所在行並轉換至輸入模式 |
#cc | 刪除當前光標所在行向下#行並轉換至輸入模式 |
c^ | 刪除當前光標所在處到行首轉換至輸入模式 |
c$ | 刪除當前光標所在處到行尾轉換至輸入模式 |
5. 複製 y ,yank
yy | 複製當前光標所在行 |
y^ | 複製光標所在處到行首 |
y$ | 複製光標所在行到行尾 |
#yy | 複製當前光標所在行向下#行 |
6. 粘貼 p命令
用d命令刪除的字符可用p命令粘貼
若是刪除的是整行
p(小寫p):在當前光標所在行的下方粘貼
P (大寫p) : 在當前光標所在行的上方粘貼
若是刪除的不是整行
p(小寫p): 在當前光標所在行字符後粘貼
p (大寫p):在當前光標所在行字符前粘貼
7. 撤銷操做
u | 撤銷 |
ctrl+r | 撤銷此前的撤銷 |
vim默認會保留最近50次的操做,u命令可逐一撤銷此前的編輯操做
8. 文本搜索
/keyword | 從當前光標處所在處向文件尾部查找 |
?keyword | 從當前光標所在處向文件首部查找 |
n | 下一個 跟查找命令相同的方向 |
N | 前一個 跟查找命令相反的方向 |
支持模式 (支持正則表達式)
/\<d[[:alpha:]]\{2\}n\>:精確匹配以d開頭,後跟兩個任意字符,而且以n結尾的字符串
9. 可視化模式 visual
v | 選中光標劃過的字符 字符選取 |
V | 選中光標劃過的行 整行選取 |
Esc | 按Esc便可以返回到編輯模式 |
10. 翻屏操做
ctrl+f | 向文件尾部翻一屏 |
ctrl+b | 向文件首部翻一屏 |
ctrl+d | 向文件尾部翻半屏 |
ctrl+u | 向文件首部翻半屏 |
11. 文件分屏顯示
水平分割: Ctrl+w, s , 按着ctrl+w鬆開按住s便可實現水平分割
垂直分割: Ctrl+w, v , 按着ctrl+w鬆開按住v便可實現水平分割
翻轉屏幕: Ctrl+w 箭頭 , 按着ctrl+w鬆開按住箭頭便可實現屏幕翻轉
該定義只對當前vim有效 並都在末行模式下輸入
顯示行號 setnumbser , set nu 關閉顯示 setnonumber ,set nonu 自動縮進 set autoindent, set ai 關閉自動縮進 set noai 不區分字符大小寫 set ignorecase ,set ic 關閉不區分字符大小寫 set noic 獲取幫組 set 顯示匹配的括號 set showmatch ,set sm 關閉顯示匹配的括號 set nosm 關閉語法着色 syntax off 開啓語法着色 syntax on 開啓搜索結果高亮顯示 set hlsearch 關閉搜索結果高亮顯示 set nohlsearch
以上設置關閉在打開就會按原來的設置顯示 想修改長期有效配置編輯配置文件
全局 /etc/vimrc
我的 ~/.vimrc 文件不存在能夠本身建立
修改時直接將set command(命令)放在配置文件中便可