Physical Address:
ChongQing,China.
WebSite:
对于很多初入Linux的同学而言,有一个非常棘手的问题就是如何编辑文本。不同于Windows下众多的文本编辑工具,Linux中比较常用的文本编辑工具通常是Vi/Vim,当然也有一些其他的编辑工具,如Nano、Atom、Sublime等。今天这篇博客就带大家来了解一下Linux下最常见的文本编辑工具——Vi/Vim.
首先需要说明的一点是,Vim是Vi的加强版,不仅向下兼容Vi的所有命令,还具有其他更为特殊的特性。我们在实际使用过程中也通常使用Vim,相比于Vi,Vim的特点包括:
除此之外还有很多特点是Vim所独有的,限于篇幅我就不在这里赘述了。现在我们直入正题,教大家如何快速上手Vim/Vi。
在我们开始Vim/Vi基础的操作命令之前,我们需要了解一下Vim/Vi的工作模式,在我们使用 Vim/Vi 前,都应该清楚当前 Vim/Vi 处于何种工作模式。简单来讲, Vi 共有三种模式:一般模式、编辑模式、底行模式。
一般模式:一般模式是 Vim/Vi 编辑器的默认模式,当我们使用 Vim/Vi 打开某个文件时,默认的就是一般模式,在该模式下,用户可以通过键盘输入合法的Vi指令,使用回车让 Vim/Vi 执行指令。
无论 Vim/Vi 当前处于何种模式哦,都可以通过“ESC”按键进入到一般模式。
编辑模式:在一般模式下使用按键“i“进入编辑模式,需要注意的是此时是在光标前插入,如果键入”I“,则是在光标行首插入,键入”a“则是在光标后插入,键入”A“则是在行尾进行插入,键入”o“则是在光标下行进行插入,键入”O“则是在光标上行进行插入。进入编辑模式后可以对文本内容进行修改。
底行模式:在一般模式下键入”:“即进入底行模式,底行模式一般用于对编辑环境进行设置。
需要注意的是,相比与Vi,Vim还多一种模式,称之为可视模式。在一般模式下键入“v”或者“V”即可进入可视模式。
在了解这几种模式之后,我们来了解一下 Vim/Vi 具体的使用。
文本打开:vim/vi filename
文本保存:在一般模式下键入“:w”进行文本保存
文本退出:在一般模式下键入“:q”将退出文本编辑,如果文件有修改将无法使用该命令退出
文本保存且退出:在一般模式下键入“:wq”将保存修改的内容并退出文本编辑
文本不保存且退出:在一般模式下键入“:q!”将不保存修改的内容,并退出文本编辑
撤销操作:在一般模式下使用快捷按键”u“,即可撤销上一次操作
恢复最近被撤销的操作:在一般模式下使用”CTRL+r“即可将最新的被撤销的操作恢复
删除字符:在一般模式下键入”x“或者”X“删除单个字符,”x“将删除光标后的字符,而”X“将删除光标前的字符。
替换字符:在一般模式下键入“r”后输入你想替换的内容即可替换字符
删除光标所在行:在一般模式下键入”dd“即可删除光标所在行
文本搜索:如果我们想要搜索文本的关键词key,可以在一般模式下键入“/key”回车后进行搜索。需要注意的是,在搜索时对大小写是敏感的。回车后会自动跳转到关键词第一次匹配到的位置,使用“n”跳转至下一位置。
显示/隐藏行号:在一般模式下键入”:set number“后回车即可开启行号显示,键入”:set nonumber“即可关闭行号显示
当前行高亮:在一般模式下键入”:set cursorline“即可让当前行高亮
语法自动匹配:在一般模式下键入“:set showmatch”
语法高亮:在一般模式下键入“:syntax on”即可开启语法高亮,键入“:syntax off”即可关闭语法高亮
在上面的基础命令中我们可以看到一些关于Vim/Vi环境的设置,需要注意的是这些设置仅是临时生效的,如开启行号显示、语法高亮等在我们退出后就失效。有没有办法可以将这些设置固化下来而不必每次都去设置呢,答案是肯定的。我们只需要编辑vimrc文件即可。
如果是修改当前用户的Vim配置文件,使用以下命令将上面的设置项写入即可:
vim ~/.vimrc
如果想对所有用户的Vim配置文件进行修改,则需要使用如下命令写入设置项:
vim /etc/vimrc
在这里我将我一般使用的配置项列出来,供大家参考:
set number //开启行号显示
syntax on //打开语法高亮
set hlsearch //搜索时,高亮显示匹配结果
set showmatch //语法块自动匹配,遇到圆括号、方括号等自动高亮的另一部分
set visualbell //出错时发出视觉提示
set t_Co=256 //启用256色
set cursorline //当前行高亮
set showcmd //cmd提示
set autowrite //自动保存
set showmode //底部显示当前模式
set wrap //设置自动折行显示
set autoread //设置文件监视,如果文件被外部写入则会发出提示
给大家看一下我的Vim编辑效果吧:
另外,附上一张Vim/Vi常用知识表,帮助你快速掌握以上内容:
以上就是本篇博客的全部内容啦~