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!