vim常用操作
2017-11-08 本文已影响14人
Jocelyn_Long
不太能记住全部,备个份。
VIM的操作说明
移动
- Ctrl + f 屏幕向下移动一页 【page down】
- Ctrl +b 屏幕向上移动一页 【page up】
- 0 或功能键【Home】移动到这一列的第一个字符处
- $ 或功能键【End】移动到这一列的最后一个字符处
- G移动到文件的最后一列
- gg移动到文件的第一列
- n<Enter> n为数字,光标往下移动n列
寻找与替换
- /word 寻找关键字word,配合n向前N向后使用
- :n1,n2s/word1/word2/g 在n1到n2行中用word2替换word1
- :1,$s/word1/word2/g 全文替换
- :1,$s/word1/word2/gc 全文替换 有确认提示
CVDA
- x,Xx为向后删除一个字符【Del】X为向前删除一个字符【Backspace】
- dd删除光标所在行
- ndd删除光标所在行(包含)后面n列
- yy复制光标所在行
- nyy复制光标向下n行
- p,Pp将复制的数据在光标的下一行插入粘贴P将数据在光标的上一行贴入
- u复原上一个动作
- Ctrl +r重做上一个动作
- .重复前一个动作
进入编辑模式
- i,I i从目前光标处插入,I从当前行第一个非空格符处插入
- o,O o在目前光标所在列的下一列插入一列,O在当前光标所在行的上一列插入一列
- a,A a在当前光标的下一个字符处开始插入,A在当前光标所在列的最后一个字符处插入
- r,R r只会取代光标所在的字符一次,R会一直取代光标所在的字符,直到按下Esc为止。
- Esc退出编辑模式,回到一般指令模式。
回到一般指令模式
- w 将刚刚编辑的数据写入硬盘中
- q 退出vi
- wq 将刚刚编辑的数据写入硬盘并退出vi
vim环境设置
- :set nu 显示行号
- :set nonu 取消行号显示
异常中断恢复
vi进入文件发现报错异常中断了 有以下操作可用
- O open-Read-Only
- E Edit-anyway 不会载入暂存盘 不推荐
- R Recover 载入暂存盘的内容,但是退出后不会自动删除暂存文件
- D Delete it 删除暂存盘
- Q Quit
-
A Abort 忽略编辑行为
区块操作
- v 字符选择
- V 列选择
- Ctrl + V 长方形选择
- y 复制选择的内容
- d 删除选择内容
-
p 在光标上方贴入刚刚复制的区块
多文件操作
- n 编辑下一个文件
- N 编辑上一个文件
-
:files 列出该vim开启的所有文件
多窗口操作
- :sp[filename] 开启多窗口,不加文件名则直接将本身变成多个窗口
- (Ctrl + w )+ j/(Ctrl +w ) + ↓ 光标移动到下一个窗口
-
(Ctrl +w)+k/(Ctrl +w) +↑光标移动到上一个窗口
补全
- [ctrl]+x -> [ctrl]+n 透过目前正在编辑的这个『文件的内容文字』作为关键词,予以补齐
- [ctrl]+x -> [ctrl]+o 以扩展名作为语法补充,以 vim 内建的关键词,予以补齐