模式
- ESC 返回正常模式
- v 进入可视模式
- R 进入替换模式
进入与退出
- 进入:
从命令提示符中输入:vim 文件名 <回车> - 退去:
- :q! 取消所有改动并退出
- :wq 保存改动并退出
命令和对象
许多改变文本的命令都由一个操作符和一个动作构成。
在正常模式下修改命令的格式是:
operator [number] motion
其中:
- operator 操作符,代表要做的事情,比如 d 代表删除
- [number] 可以附加的数字,代表动作重复的次数
- motion 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),$ 代表行末等等。
移动命令
- k 向上移动光标
- j 向下移动光标
- h 向左移动光标
- l 向右移动光标
- 0 移动光标到行首
- $ 移动光标到行末
- w 移动光标到下一个单词的开头
- e 移动光标到下一个单词的末尾
- CTRL-F 向下翻页
- CTRL-B 向上翻页
撤销命令
- u 撤销之前的操作
- U 撤销在一行中所做的改动
- CTRL-R 撤销之前的撤销命令
插入添加命令
- i 从当前光标之前插入
- a 从当前光标之后插入
- I 从当前光标所在行首处插入
- A 从当前光标所在行的末尾插入
- o 在光标下方新的一行插入
- O 在光标上方新的一行插入
删除命令
- x 删除当前光标字符
- dw 删除当前光标至下一个单词
- d$ 删除当前光标至整行的末尾
- dd 删除整行
置入命令
- p 将最后一次删除的内容置入光标之后
替换命令
- r [替换字符] 将当前光标所在位置的字符替换掉
- R [替换字符...] 将当前光标所在位置的字符连续替换掉
- :s/old/new 在一行内替换头一个字符串 old 为新的字符串 new。
- :s/old/new/s 在一行内替换所有到字符串 old 为新的字符串 new。
- :#,#s/old/new/g 在两行内替换所有到字符串 old 为新的字符串 new。
- :%s/old/new/g 在文件内替换所有的字符串 old 为新的字符串 new。
- :%s/old/new/gc 进行全文替换时询问用户确认每个替换需添加 c 标志。
更改命令
- ce 改变文本直到光标所在单词的末尾
- c$ 改变文本直到光标所在行的末尾
定位及文件状态命令
- G 使当前光标跳转到文件最后一行
- gg 使当前光标跳转到文件第一行
- CTRL-G 显示当前编辑的文件名和文件中光标位置。
搜索类命令
- / [搜索字符] 在当前文件中查找该字符串
- n 查找同上一次的字符串
- N 反向查找同上一次的字符串
- ? [搜索字符] 在当前文件中逆向查找该字符串
- CTRL-O 回到你之前的位置
- CTRL-I 会跳转到较新到位置
匹配命令
- % 将光标放在)、]、},按下%会自动匹配对应到字符
复制粘贴
- v 进入可视模式,移动光标选择要复制的字符
- y 复制高亮的文本
- yw 复制一个单词
- p 将复制的文本粘贴到当前光标
外部命令
- :!command 显示外部命令 command。
- :w FILENAME 将当前编辑文件保存到名为 FILENAME 的文件中。
- :r FILENAME 提取磁盘文件 FILENAME 并将其插入当前文件的光标位置后面。
设置类命令的选项
- :set
- ic 忽略大小写
- noic 禁用忽略大小写
- is 查找短语时显示部分匹配
- hls 高亮显示所有的匹配短语
自动补全
- <TAB> 自己补全一个
- CTRL-D 查看有可能的补全结果
文章链接:
27GO