vim
在正常模式下修改文本的命令的格式是:
operator [number] motion
其中:
operator - 操作符,代表要做的事情,比如 d 代表删除
[number] - 可以附加的数字,代表动作重复的次数
motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),$ 代表行末等等。
移动
正常模式下,h/j/k/l来移动
2w来向后2个单词移动,前面的数字表示重复的次数
e移动到单词末尾,0移动到行首,$移动到行末
移动到某一行:输入行号+大写g
输入大写 G 可以使得当前光标直接跳转到文件最后一行。
输入 gg 可以使得当前光标直接跳转到文件第一行。
返回之前位置:ctrl+o
撤销返回:ctrl+I
删除
x删除后面一个
D代表删除,dw删除后面一个单词,d2w就说明删除俩个词
删除至当前行末尾:d$
dd说明删除整行;2dd说明删除两行
u撤销操作,大写u来撤销该行所有操作
ctrl+r来撤销撤销
dd是剪切,可以用p来粘贴至下一行
选取
按v选取,可以上下移动选取的范围。
然后可以比如,y复制,p黏贴。或者d删除
退出
:q!,不保存退出
:wq,保存退出
编辑
按i或a进入编辑模式,esc退出
【编辑模式无法删除之前的内容】
替换
r+字母,替换掉光标所在的字母
c$,可以删除到行末,并进入insert模式
ce,可以删除到单词末尾,并进入insert模式
:s/<原文>/<替换>,可以替换第一个。
要全局替换就要在最后加一个/g
:s/thee/the/g
查找
查找配对括号:
光标放在一处的括号上,%就能来回跳转配对的括号
查看行号:ctrl+g
向下搜索: /+字符串
向上搜索: ?+字符串
找到后摁enter进入
下一个:n
上一个:N
执行外部命令:
:!+外部命令
读取/导入
读取内容进入vim
:r +文件名
:r !ls,还能读取当前文件目录下文件名
帮助
f1或者:help
tab来命令补全
获取文件类型
:echo &filetype
全局搜索
查询按键被映射成了啥
:verbose map <key>
Last updated
Was this helpful?