Vim是什么
vim 是 vi 的升级版,它不仅兼容 vi 的所有指令,而且还有一些新的特性,例如 vim 可以撤消无限次、支持关键词自动完成、可以用不同的颜色来高亮你的代码。vim 普遍被推崇为类 vi 编辑器中最好的一个。
vi 编辑器是 Linux 系统中最常用的文本编辑器,vi 在Linux界有编辑器之神的美誉几乎所有的 Linux 发行版中都包含 vi 程序。
使用 vim 时,通用需要 ctags 工具辅助。ctags 是 vim 下方便代码阅读的工具,是很强大的 vim 插件,有了它浏览代码时可以在函数, 变量之间跳来跳去等等。
两个链接:vim官网:http://www.vim.org/download.php,ctags官网:http://ctags.sourceforge.net/
安装 vim,ctags:
$ sudo apt-get install vim
$ sudo apt-get install ctags
vim 最简单最常用的操作
0)vim显示和关闭行号
//关闭行号
:set nonumber
//开启行号
:set number
1)使用 vi 打开文件
$ vi filename 打开或新建文件,并将光标置于第一行行首;如果文件不存在,则会新建文件。
如果文件存在,即为打开文件,打开文件后,按 “i” 进入插入模式后,才可以进行编辑。
2)按 “i” 进入插入模式,即可编辑
vi +n filename:打开文件,并将光标置于第 n 行行首
3)保存文件(其中一种方式):
一定要先退出插入模式(按esc),然后,shift + zz (按住 “shift” + 按两下“z”键) 即可保存退出当前文件。
模式切换:
由编辑模式切换到插入模式
i 从光标当前位置开始插入
a 从光标当前位置的下一个字符开始插入
o 在光标位置的下行插入一个空行,再进行插入
I 从光标所在行的开头开始插入正文
A 从光标所在行的末尾开始插入正文
O 在光标位置的上一行插入一个空行,再进行插入
编辑模式下删除和修改文本
1、 u 撤消前面多次修改。
2、[n]x 删除光标后 n 个字符。
3、[n]X 删除光标前 n 个字符。
4、[n]dd 删除从当前行开始的 n 行(准确来讲,是剪切,剪切不粘贴即为删除)。
5、[n]yy复制从当前行开始的 n 行。
6、 p把粘贴板上的内容插入到当前行。
7、 .执行上一次操作
8、shift +zz ( 按住 shift 按两下 z 键 ) 保存退出当前文件
vim保存命令(保存、放弃保存)
在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell。
在末行模式下,输入命令
:w
Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。
[例6]
:w newfile
此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息:
File exists (use ! to override)
此时,若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令
:w! newfile
否则可选择另外的文件名来保存当前文件。
在末行模式下,输入命令
:q
系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息:
No write since last change (use ! to overrides)
提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令
:q!
Vi放弃所作修改而直接退到shell下。
在末行模式下,输入命令
:wq
Vi将先保存文件,然后退出Vi返回到shell。
在末行模式下,输入命令
:x
该命令的功能同命令模式下的ZZ命令功能相同
vim光标的移动:
Vim:非编辑模式下
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
) :光标移至句尾
( :光标移至句首
附加SlickEdit:
vim 是公认很好用很完美,但是对新手来说,上手毕竟不是很容易。Windows 下程序员很多都很喜欢Source Insight 这个工具来看代码,各种语法高亮看着很舒服。那在 Linux 平台下,有没有媲美 Source Insight 的编辑器呢?答案就是 SlickEdit。
SlickEdit 是一个跨平台(在 9 种不同的工作平台上可以工作)的, 支持超过 40 种编程语言的代码编辑器。
参考:
1.https://blog.csdn.net/tennysonsky/article/details/44871495