vim的意义
- 心智模型的练成(这是一个大的话题,以后找胡老师再聊聊,可以写成一篇文章)
vim 操作模式
- normal 普通模式,大部分指令操作都在这个模式下进行
- insert 模式,可理解为编辑模式
- visual 模式,较多的使用时对内容的选择操作
vim常用指令归类
方向移动类型
- hjkl --- 分别对应左下上右,推荐使用的移动键,老实说很难习惯
- 当然也可以使用键盘常规的移动键
- 也可以用触摸板进行移动
快捷移动类
ctrl+b 屏幕往前一页移动
ctrl+f 屏幕忘后一页移动
num+space 向后移动n个字符
0 --- 移动到行首
$ --- 移动到行尾
w --- 移动到下一个单词的开头
e --- 移动到下一个单词的结尾
H --- 光标移动到这个屏幕的最上方那一行的第一个字符
M --- 光标移动到这个屏幕的中间那一行的第一个字符
L --- 光标移动到这个屏幕的最下方那一行的第一个字符
h --- 光标往前移动一格(同一行内)
gg --- 光标移动到文件第一行
G --- 光标移动到文件最后一行
n+G --- 移动到第n行
n+enter --- 向下移动n行
查找和替换类
- / + 字符 --- 所搜字符,正向查找
- ? + 字符 --- 搜索字符,反向查找:
- n --- 向下搜索字符
- N --- 向上搜索字符
- :s/old/new/g --- 替换行
- :number,number s/old/new/g --- 替换两行之间
- :%s/old/new/g --- 替换整个文件
删除类 删除字符
- x --- 为向后删除一个字符 (相当于【del】键)
- X --- 为向前删除一个字符(相当于【backspace】键)
- nx --- 连续向后删除n个字符 删除行
- dd --- 删除光标所在行
- ndd --- 删除光标所在的向下n行
- d+num+G --- 删除光标所在行到第n行的所有数据
- dG --- 删除光标所在到最后一行的所有数据
- d$ --- 删除光标所在处,到该行的最后一个字符
- d0 --- 删除光标所在处,到该行的最前一个字
复制类
yy --- 复制光标所在的那一行
nyy --- 复制光标所在的向下n列
y+num+G --- 复制光标所在行到第n行的所有数据
yG --- 复制光标所在行到最后一行的所有数据
y0 --- 复制光标所在的那个字符到该行行首的所有数据
y$ --- 复制光标所在的那个字符到该行行尾的所有数据
粘贴类
- p --- 将复制的内容粘贴到光标的下一行
- P --- 将复制的内容粘贴到光标的上一行
回撤类
- u --- 回撤前一个操作
- ctrl+r 重做上一个操作
文件操作类
- :w --- 保存编辑的内容
- :q --- 离开vi
- :q! --- 不保存修改强制离开
- :wq --- 保存后离开
- :x --- 保存后离开
- ZZ --- 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开
规律性 action number motion
- action 有d(删除),y(复制),
- number 操作的数量
- motion 动作列表 w,e,$
小结 大概记录下来的基础操作有这么些,为了做的更加全面,也参考了一些文章,但是都是手打以记忆的更加牢靠,vim入手第一周,手法难记,coding效率低下,后期会更加关注并分享vim的一些‘奇淫技巧’,加快编码效率,希望能早日体会vim的强大与便捷