VIM杂记——基本使用
h、i、j、k移动光标
刚刚好位于右手最灵活的3根手指上(右手食指负责h和j),所以推荐使用hijk
来移动光标。
模式
基本模式:
- 普通模式
- 插入模式
- 可视模式
- 选择模式
- 命令行模式
- Ex模式
派生模式:
- 操作符等待模式
- 插入普通模式
- 插入可视模式
- 插入选择模式
- 替换模式
敲小写i
即可进入插入模式,此时可以开始编辑文本。进入插入模式之后右下角会有下图显示。Esc
键即可退出插入模式。
另外还有下面这些,区别在于进入插入模式的位置不一样:
删除
删除单一字符可以使用x
。
删除更多字符可以使用d
命令,d [motion]
,motion部分要你指定:
注意,这些motion可以单独使用。
另外,在中文中多个文字连在一起的话那么这些文字只要之中没有出现空格或者特殊符号,那么就会被当作一个单词,例如“烫烫烫烫烫烫烫烫烫烫”会被认为是一个单词,如果是“烫烫烫烫烫烫,”那么就是2个,一部分是“烫烫烫烫烫烫”,另一部分是“,”。
补充一下移动,可以先输入数字然后输入移动指令,例如往前移动6格,那就是6h
。
撤回
黏贴
复制
数字 + yy
就是从当前行开始复制多少行,例如2yy
就是从当前行开始数两行,将这两行复制下来。
替换
修改
和上面的内容差不多,其实主要需要记得的就是motion,其他的搭配使用即可。
文件信息
例子:
跳转到指定行
两种方法:
定位括号
缩进
可以和上面的指令一样数字+命令
,当前行开始的数字
行就会被调整缩进。或者使用v
进入可视模式,选中多个你要缩进的行,然后输入命令,就可以让选中的行缩进了。
搜索
/ + 搜索词
,如/x
,在文章中从当前光标开始向后搜索x
。使用n
来寻找下一个匹配的搜索结果,N
则是上一个。另外有?
,从当前光标所在位置向前搜索。
:nohl
可以让搜索之后出现的高亮消失。
注意这十个特殊字符,不能够直接搜索:
如果要搜索这些符号的话就需要在这些符号前面加上\
(转义符)。
替换
执行shell命令
:! [命令]
,例如要查看当前目录的文件:!ls .
另存为
:w [文件名]
,如:w 11111
,就是保存为11111,如果文件名已经存在,可以:w! [文件名]
来覆盖掉原本的文件。
如果是局部另存为,那么应该是:
即选中需要保存的部分,然后输入命令:'<,'> w [文件名]
。
合并文件
例子:
当前目录下文件:
- portion(纯文本)
- tmp(纯文本)
首先打开tmp
文件,在可视模式下将光标放置到文件最后一行并输入命令:r portion
,这样就可以将portion
文件的内容写入到光标下方的位置了。
打开多个文件
小写的o
是垂直并排,大写的是水平并排。
垂直并排的例子:
水平并排的例子:
如果是直接使用:q
退出的话需要每个文件都要输入一次退出指令。需要一次性关闭所有打开的文件的话就需要使用命令:qa
,即quit all
。但是如果其中一个文件进行了修改,那么就无法直接退出所有文件,这时候就需要在命令后面加上感叹号!
来强制退出::qa!
。
参考
【VIM快速入门】《带你学C带你飞》(番外篇)(小甲鱼):主要内容都来自此视频,快速入门够用了