Vim基础操作指南
本文主要是介绍Vim的基本操作,不过当你能熟练使用这些操作以后,你的代码编写效率绝对会飞起,当然最后我也会介绍一些进阶读物,方便对VIm感兴趣的读者进一步了解。
写在前面:个人感觉 vscode + vim 绝配,yyds
1.移动光标
检查键盘是否为英文输入,且大写未锁定
- 基本操作: h左 j下 k上 l右
- number+‘w’ 将光标向前移动number个单词
- number+‘e’ 功能同上
- 数字0将光标移动到当前行首
'e’和’w’区别:
- ‘w’ 将光标从当前位置移动到下一个单词起始,且不包括起始字符
- ‘e’ 将光标从当前位置移动到当前单词末尾
个人感觉具体使用时区别不会太大。。
2.Vim的保存和退出
键可以切换Vim的状态,从编辑状态切换到正常状态,然后输入
:q!
不保存强制退出:wq
保存并退出- 通过
vim + 文件名 + 回车
便可以通过vim打开对应文件
3.文本编辑之删除
该操作在normal模式下
- 通过 'x’来删除掉光标所在字符
- 通过 ‘dd’ 来删除光标当前所在整行
- 通过 ‘dw’ 从光标处删除到一个单词的词末
- 通过 ‘d$’ 删除当前光标到行末
此处可以观察到 操作+操作对象 的使用规则,通过后面的计数操作,功能会更加强大,即 操作+number+操作对象
- 'd3w’删除三行
- ‘2dd’ 删除两行
- 类比如上…
4.文本编辑之插入
以下操作均会进入编辑模式
- 通过 'i’在光标所在字母前面插入
- 通过 'a’在光标所在字母后面插入
- 通过 'A’在当前行的最后进行插入,此时光标在何位置并不重要
- 通过小写 'o’在当前光标的下一行插入,此时Vim进入编辑模式
- 通过大写 'O’在当前光标的上一行插入,此时VIm进入编辑模式
友情提示:键除了能带你会normal模式外,还能撤销一个你不想输入或者部分完整的命令
5.撤销类命令
- 'u’撤销最后执行的命令
- 'U’撤销对一行的操作
- 撤销以前的撤销命令,则通过 Ctrl+R
6.置入类命令
- 'p’可以配合删除命令来使用,该操作可以将已删除的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置于当前光标所在行的下一行。
7.替换+更改类命令
- 'r’和一个字符可以替换当前光标所在位置的字符,该操作只能一个一个替换
- 'R’可以连续替换多个字符,通过<ESC>结束
- ‘c’+对象 可以实现连续替换
- ce 改变文本直到一个单词的末尾
同样也可以 ‘c’+number+motion 使用
- 查找替换:
- 只在当前行查找替换:
- : s/old/new 该命令只替换当前行的第一个old
- : s/old/new/g 该命令对当前行内的所有old进行替换
- : s/old/new/gc 该命令对当前行内的所有old进行替换并询问,需要确认
- 在全文进行查找替换:
类比<1>,只需在’s’前加 ‘%’
- :%s/old/new 只替换全文中的第一个old
- :%s/old/new/g 替换全文中的所有old
- :%s/old/new/gc 替换全文中的所有old并问询
8.定位及文件状态
- Ctrl+g 组合键可以查看当前光标所在行的行号及文件状态信息
- gg 可以跳转到第一行
- G 可以跳转到文件最后一行
- 行号 + G 则可以跳转到指定行
9.搜索类命令
- 正向查找:输入 ‘/’ (类似于’:'命令) ,然后输入 ’待查找字符串‘ ,回车即可
- 逆向查找:输入 ‘?’+‘待查找字符串’,回车即可
- 上面两种情况连续查找:
- 若连续同上次方向查找则输入’n’,即正向查找下’n’为向下搜索,逆向查找下为向上搜索
- 若连续逆上次方向查找则输入’N’,即正向查找下’N’为向上搜索,逆向查找下为向下搜索
个人认为这两种用好一种就行了,容易混淆
10.配对括号的查找
- 输入 ‘%’ 可以配对 )、 ]、}
- 在Vim内执行外部命令
- ‘:!’+外部命令 便可以在Vim中执行外部命令
- 例如 ‘:!ls’ 便可以查看当前vim文件同目录下的文件列表
- 使用外部命令进行文件输出保存/读取写入
- 'v’命令可以使vim进入可视选取状态
- ':w filname’可以将选中字段保存到 filename 文件中,可搭配 'v’命令使用
- ':r filename’可以将外部filename中的内容写入到当前光标后面
- 例如 ‘:r !ls’ 可以将当前路径下的所有文件目录写入到光标后面
13.复制粘贴文本
- 通过 ‘y’ 复制文本, 'p’粘贴文本
可搭配 'v’命令使用 ,如同前面所说,单独使用 'p’命令将粘贴最后一次删除文本到当前光标所在下一行
14.设置类命令选项:
-
输入 ‘:set xxx’ 可以设置xxx选项
- ‘ic’ ‘ignorecase’ 查找时忽略字母大小写
- ‘is’ ‘incsearch’ 查找短语时显示部分匹配
- ‘hls’ ‘hlsearch’ 高亮显示所有的匹配短语
选项名可以用完整版本,也可以用缩略版本。
-
在选项前加上 no 可以关闭选项: :set noic
15.关于组合键命令的小结
- ctrl + g 显示当前光标所在行号及文件状态
- ctrl + D / 键进行自动补全
- ctrl + o 返回光标上次所在位置,可多次返回