Vim操作
vi(visual interface) 是一個文本編輯程序, vim 是從 vi 發(fā)展出來的一個文本編輯器, 包含更多, 更全面的功能.基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和末行模式(Last line mode)。
命令模式
默認進入命令模式,或按ECS鍵切換到命令模式
常用命令
- i 切換到輸入模式,以輸入字符
- x 刪除當(dāng)前光標所在處的字符
- : 切換到底線命令模式,以在最底一行輸入命令
移動光標
- 單個字符
- h: 左移
- j: 下移
- k: 上移
- l: 右移
- 多個字符
- w/W: 按詞移動,向后
- b/B: 按詞移動,向前
- {: 按段移動,上移
- }: 按段移動,下移
- 翻屏
- Ctrl + f: 向下翻一屏pagedown
- Ctrl + b: 向上翻一屏pageup
- Ctrl + d: 向下翻半屏
- Ctrl + u: 向上翻半屏
- 指定點移動
- gg: 移動到首行
- ngg/nG: 移動到指定行(n是行號)
- G: 移動到末行
復(fù)制、粘貼
- yy: 復(fù)制單行(yank)
- yw: 復(fù)制單詞
- y$: 復(fù)制到行尾
- nyy: 復(fù)制n行
- p: 粘貼
剪切(刪除)命令
- x: 刪除光標后一個字符(相當(dāng)于Del)
- X: 刪除光標前一個字符(相當(dāng)于Backspace)
- dd: 刪除單行
- ndd: 刪除n行
- d0: 刪除光標前本行所有內(nèi)容,不包含光標所在字符
- D: 刪除光標后本行所有內(nèi)容,包含光標所在字符
- J: 刪除光標當(dāng)前所在行結(jié)尾的換行符(合并行)
- dw: 刪除光標開始位置的詞,包含光標所在字符
- d$: 刪除光標當(dāng)前位置至行尾的內(nèi)容
撤銷命令
- u: 撤銷
- Ctrl + r: 反撤銷
替換操作
- r: 替換當(dāng)前字符 r char
- R: 替換當(dāng)前行光標后的字符 R text
文本行移動
- >>
- 文本行右移
- <<
- 文本行左移
重復(fù)命令
- .
- 重復(fù)上一次操作的命令
可視模式
- v
- 按字符移動,選中文本
- V
- 按行移動,選中文本
插入模式
按 i 鍵進入插入模式(a,o,r也可以)
字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除光標前一個字符
DEL,刪除鍵,刪除光標后一個字符
方向鍵,在文本中移動光標
HOME/END,移動光標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換光標為輸入/替換模式,光標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
I 插入行首
a 插入光標后一個字符
A 插入行末
o 向下新開一行, 插入行首
O 向上新開一行, 插入行首
末行模式
按 : (冒號)進入末行模式
退出
:x 退出并保存
:q 退出
:w 保存
- :wq 退出并保存 或者ZZ
- :q! 退出不保存 或者ZQ
行號
- :set nu(顯示行號)/ :set nonu(不顯示行號)
查找
- :/查找內(nèi)容
- n: 下一個/N:上一個(檢索后按鍵)
置換
- s/old/new/g: 替換當(dāng)前行內(nèi)容所有的old
- %s/old/new/gc: 替換整個文件中所有的old,并每次替換時提示
執(zhí)行命令
! command # 暫時離開 vi 到指令行模式下執(zhí)行 command 的顯示結(jié)果! 如::! ls /home