Vim使用指南
何为Vim
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
三种模式
基本上vi/vim共分为三种模式,分别是
命令模式(Command mode)
输入模式(Insert mode)
底线命令模式(Last line mode)
命令模式(Command mode)
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
1 | i 切换到输入模式,以输入字符。 |
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式(Insert mode)
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
1 | 字符按键以及Shift组合,输入字符 |
底线命令模式(Last line mode)
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
1 | q 退出程序 |
基础命令
接下来简单介绍一些基础命令。
打开、保存、关闭文件
vi命令模式下使用
1 | vi filename //打开filename文件 |
插入文本或行
vi命令模式下使用,执行下面命令后将进入插入模式,按ESC
键可退出插入模式
1 | a //在当前光标位置的右边添加文本 |
移动光标
vi命令模式下使用
- 使用上下左右方向键
- 命令模式下:h 向左、j 向下 、k 向上、l 向右
- 空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首
删除、恢复字符或行
vi命令模式下使用
1 | x //删除当前字符 |
搜索
vi命令模式下使用
1 | /vpser //向光标下搜索vpser字符串 |
跳至指定行
vi命令模式下使用
1 | n+ //向下跳n行 |
设置行号
vi命令模式下使用
1 | :set nu //显示行号 |
复制、粘贴
vi命令模式下使用
1 | yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 |
替换
vi命令模式下使用
1 | :s/old/new //用new替换行中首次出现的old |
编辑其他文件
1 | :e otherfilename //编辑文件名为otherfilename的文件。 |
修改文件格式
1 | :set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。 |