编辑模式
保存并退出
- 如果需要保存编辑的内容并退出
ESC
+ZZ
。
- 不保存退出
ESC
: q!
查找
- 跳转:除过上下左右是跳转外,
k j h l
分别是字符级别的移动,而ctrl + f
以及ctrl + b
是页级别的移动。
匹配搜索
- 如果想要查找文件中指定的字符或者短语的位置搜索方法是:
/
+要搜搜的字符,然后按回车键,则vim
会朝着文件末尾的方向搜索第一个出现要搜索字符的位置,这时候按n
的意思是继续执行搜索,如果是?
+要搜索的内容那么就是朝着文件开始的方向进行搜索。
替换和删除
撤销和重复
-
u
撤销前一条命令的结果,.
重复最后一条修改正文的命令。
插入模式
- 在编辑模式中正确的定位光标以后,可以使用下面的命令切换到插入模式
i 在光标左侧插入正文
a 在光标右侧插入正文
o 在光标所在行的下一行增添新行
O 在光标所在行的上一行增添新行
I 在光标所在行的开头插入
A 在光标所在行的末尾插入
- 退出插入模式,
ESC
,或者ctrl+[
,退出插入模式后会进入编辑模式。
命令模式
- 保存当前编辑的文件需要用 :
w
命令(单词write
的缩写):
- 将当前文件另存为
file_temp
则
:w file_temp
- 在编辑模式下可以用
ZZ
命令退出Vim
编辑程序,该命令保存对正文所作的修改,覆盖原始文件。如果只需要退出编辑程序,而不打算保存编辑的内容,可用下面的命令:
: q
: q!
- 保存并退出则可以讲两条命令结合起来使用(注意命令顺序,先保存,后退出):
:wq
选项设置
- 为控制不同的编辑功能,
Vim
提供了很多内部选项。利用:set
命令可以设置选项。基本语法为:
autoindent 设置该选项,则正文自动缩进
ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别
number 设置该选项,则显示正文行号
ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置
tabstop 设置按 Tab 键跳过的空格数。例如 :set tabstop=n,n 默认值为 8
mk 将选项保存在当前目录的 .exrc 文件中
shell切换
- 当处于编辑的对话过程中时,可能需要执行一些
Linux
命令。如果需要保存当前的结果,退出编辑程序,再执行所需的Linux
命令,然后再回头继续编辑过程,就显得十分累赘。如果能在编辑的环境中运行Linux
命令就要省事得多。在Vim
中,可以用下面的命令来做到这一点:
:!shell_command 执行完 shell_command 后回到Vim
- 这称为
Shell
切换。它允许执行任何可以在标准的Shell
提示符下执行的命令。当这条命令执行完毕,控制返回给编辑程序。又可以继续编辑对话过程。
与外部工具集成
-
Linux
命令 diff
用来对比两个文件的内容,不过对比结果显示在终端里,可读性比较差。结合Vim
,在终端里可以直接输入命令 vimdiff
,后面跟两个文件名作为参数:
vimdiff file1 file2
- 除了在终端开启
vimdiff
功能外还可以在打开了vim
以后,在命令模式输入相关的命令开启vimdiff
:
:diffsplit abc.txt
- 如果你现在已经开启了一个文件,想Vim帮你区分你的文件跟 abc.txt 有什么区别,可以在Vim中用 diffsplit 的方式打开第二个文件,这个时 候Vim会用 split(分上下两屏)的方式开启第二个文件,并且通过颜色,fold来显示两个文件的区别
这样Vim就会用颜色帮你区分开2个文件的区别。如果文件比较大(源码)重复的部分会帮你折叠起来。
:diffpatch filename
网友评论