Vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
#安装 vim --文件编译器
sudo apt-get install vim
#安装ctags --索引
sudo apt-get install ctags
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
Vim编辑器中设置了三种模式—命令模式(一般模式)、末行模式和编辑模式(输入模式),每种模式分别又支持多种不同的命令快捷键,大大提高了工作效率
连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
这里要着重介绍一下Vim的两个配置文件。Vim启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim
/etc/vim/vimrc #系统配置文件
~/.vimrc #用户配置文件
所有系统用户在启动Vim时,都会加载这个配置文件。默认目录位于**/etc/.vimrc**
当前用户在启动Vim时,会加载家目录下的配置文件。默认目录位于**~/.vimrc**
vim启动时,优先读取~/.vimrc配置文件,再去读取/etc/vimrc的配置文件
可以通过配置用户配置文件来修改Vim启动时候的一些设置。下面将介绍一下这个文件
touch ~/.vimrc #创建用户vim配置文件
more ~/.vimrc
set nu
vim filename
vim 文件名 #打开或者创建一个文件,光标至于第一行行首
vim +n filename #打开存在的文件,并将光标置于第n行行首
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入(编辑)模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。具体的常用指令将会在下面介绍
在命令模式下按下i就进入了输入模式。在输入模式中,这就和一般的文本编辑器一样了,用来输入代码等内容。在输入模式中,可以使用以下按键:
在命令模式下按下**:(英文冒号)**就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有:
按ESC键可随时退出底线命令模式。简单的说,我们可以将这三个模式想成底下的图标来表示:
dd : 剪切当前整行内容 d0 : 剪切从光标到当前行开始
dw : 剪切一个完整单词 d$ : 剪切从光标到当前行末尾
ndd : 剪切当前开始的n行内容
yy : 复制当前整行内容 yw : 复制一个完整单词
y0 : 复制从光标到当前行开始 y$ : 复制从光标到当前行末尾
nyy : 复制当前开始的n行内容
p : 粘贴到下一行 P : 粘贴到上一行
x : 删除当前位置字符
nx : 删除当前光标后n个字符
nX : 删除当前光标前n个字符
u : 撤销上一步操作 ctrl + r : 反撤销
. : 执行上一步操作
0 : 移动到当前行开始
$ : 移动到当前行末尾
gg : 光标移动到文件首字母
G : 光标移动到文件的最后一行
末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式中输入一个冒号就可以了。末行模式中可用的命令:
:w : 保存文件
:q : 推出vi
:q! : 不保存文件就退出vi
:wq : 保存文件并退出
:x : 保存文件并退出
shift+zz : 保存文件并退出
?字符串 : 在文本中从下至上搜索该字符串
/字符串 : 在文本中从上至下搜索该字符串
n : 显示搜索命令定位到的下一个字符串
N : 显示搜索命令定位到的上一个字符串
:%s/test/replacement/g :替换整个文件中的test的内容,为replacement
如果你想要使用 vi 来建立一个名为 runoob.txt 的文件时,你可以这样做:
$ vim runoob.txt
直接输入** vi 文件名 **就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!
好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 Esc 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!
OK,我们要存档了,存盘并离开的指令很简单,输入 :wq 即可保存离开!
OK! 这样我们就成功创建了一个 runoob.txt 的文件。