vim学习笔记
1. 基本操作
Visual模式
v: 进入Visual模式V: 进入行模式的Visual模式y: 复制到寄存器
Normal模式
基本移动
h/j/k/l: 左/下/上/右gg: 跳到第一行G: 跳到最后一行Ctrl+u/d: 上/下翻半页^/$: 跳转到本行的开始/结尾%: 跳到匹配的括号处
基于单词的移动
w: 下一个单词的首字符W: 下一个连续空字符的首字符b/B: 上一个单词/连续字符的首e/E: 当前单词/连续字符的结尾
基于搜索的移动
/{pattern}: 文件中搜索下一个匹配的{pattern}*: 相当于/{当前单词}n/N: 下/上一个匹配单词
基于标记的移动
m+"a-z": 标记当前为”a-z”之一'+"a-z": 找到标记为”a-z”处位置'': 上次跳转前的位置(即返回跳转)'.: 上次修改的位置'^: 上次插入的位置
操作命令
ACTION = {Operation} + {motion}
常见操作符:
d: 删除y: 复制
大部分操作符重复两次表示将其作用在一行上
结合motion的例子:
dw: 删除单词y$: 复制到单词结尾
重复操作
.: 重复上一次修改u: 撤销上一次修改
Insert模式
i/a: 在光标前/后插入o: 下方插入一行开始输入s: 删除当前光标后开始输入I: 行首插入A: 行尾插入S: 删除当前行开始插入
Command模式
按: 进入,常用命令:
:w:q:q!:wq
Visual模式
v: 进入Visual模式V: 进入行模式的Visual模式y: 复制到寄存器
2. 进阶操作
组合操作
r 替换字符,r后接要替换成的字符。c+{motion},c可能代表change,需要接一个修改的范围,将删除范围内容并进入插入模式,例如:
c3w会删除3个单词并进入插入模式。
行号+G 跳转到指定行,例如:
10G跳转到第10行。gg跳转到第一行。
:s/new/old 替换当前行中所有的’new’为’old’.但注意只会替换当前行的第一个匹配字符串,不会全部更改。
如果想要在一行内替换修改某个单词,需要加上一个g使用::s/old/new/g:%s/new/old/g 如果添加g则替换当前文件中所有的’new’为’old’.:%s/new/old/gc 如果再添加c则会对每一个匹配的字符串提示是否替换,输入y则替换,输入n则不替换。r 替换字符,r后接要替换成的字符。R 替换字符,R后接要替换成的字符,会进入替换模式,输入ESC可以退出替换模式。
命令模式进阶
:! + 命令 可以执行shell命令,例如:
:!ls会列出当前目录下的所有文件。
关于保存文件::w + "filename"可以将当前文件保存为”name”,如果不添加name则会保存为当前文件。
寄存器相关
- 输入
dd会删除当前行,并将其保存在一个寄存器中,使用p可以将其粘贴到光标下一行。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mag1code's blog!