Vim是一款非常实用的程序员编辑器软件,在Vim软件中,这个看似简单的工具蕴含着惊人的强大功能,特别适合编写代码和修改配置文件。虽然入门时需要记住一些基本命令,但一旦掌握就能感受到行云流水般的编辑体验。Vim支持几乎所有编程语言的语法高亮,还有强大的插件系统,可以根据需要扩展功能。它运行速度快,占用资源少,无论是修改几行代码还是处理大型项目都游刃有余哦,一起来下载Vim吧!
一、快捷键
1、光标的移动
这里说的光标移动是指在正常模式下光标的移动。
最简单是方向键,它即使在插入模式下仍可使用,但不是最方便。
h 在当前行向左移动一个字符,或者Backspace。
j 移动到下一行,或者Enter。
k 移动到上一行,或者- 号。
l 在当前行向右移动一个字符,或者空格键Space。
Ctrl +f 向前滚动一页,或者PageDown。
Ctrl +b 向后滚动一页,或者PageUp。
0(零) 移至行首(包含空白字符,如缩进的空格),或是Home 键。
$ 移至行尾, 或End 键。
^ 移到行首第一个非空白字符。
G 移动到文档末尾,或者
gg 移动到文档开头。
w 移动到下一word的开头。
b 移动到上一word的开头。
e 移动到本word或者下个word的末尾。
ge 移动到上个word的末尾。
大写的W B E 和w b e 效果一样但会忽略像. - 等特殊字符。
中文因为是连在一起的,所以如果没有空格或者数字、英文标点的话,将视为一个word。
( 光标移至句首,句子是以. ? ! 标点来判断的。) 光标移至句尾
{ 光标移至段落的开头,段落是以空白行来判断的。} 光标移至段落的结尾
H 将光标移至屏幕顶第一个非空白字符。
M 光标移至屏幕中间第一个非空白字符。
L 光标移至屏幕底第一个非空白字符。这和PageDown,PageUp 不一样,内文内容并未动,只是光标在动而已。
:n 将光标定位到第n行。
n| 将光标移动到本行第n个字符。
2、打开和退出
Gvim快捷键说明:e test.txt 打开test.txt文件进行编辑,文件不存在则创建。
:w 保存文档,但不退出vim编辑器。
:q 不保存文档,退出vim编辑器。
:wq 保存文档然后退出vim编辑器。按ZZ(注意Z是大写的,并且不是在命令模式)或者:x效果是一样的。
:q! 放弃所有修改强制退出,按:q不能退出时就试试这个吧。
二、模式
im常用的模式有:
命令模式(command-mode),插入模式(insert-mode),可视模式(visual-mode),正常模式(normal-mode)。
模式的转换:
①其它模式==>正常模式
按Esc键
②正常模式==>插入模式
按i 在光标前插入
按I 在行首插入
按a 在光标后插入
按s 删除光标所在的字符再插入
按A 在行末插入
按o 在当前行之下新建行
按O 在当前行之上新建行
按S 删除光标所在行再插入
③正常模式==>命令模式
按: (shift 加分号)
④正常模式==>可视模式
按v 可视模式
按V 可视块模式
【普通人的编辑利器】
之所以第一点就提到这个,是因为”文字处理”当然是一个编辑器最基本的功能,而能把编辑的体验发挥到极致的也恐怕只有vim而已了。 1、免费
用户再也不用去网上辛苦的下载D版了!
2、提高输入速度
这个相信也没有什么好争论的,纯键盘操作的速度是鼠标无法比拟的,虽然会带来一定的学习成本,但是相信还是值得的。
3、完美支持中文,并支持多种文件编码
很多编辑器会有处理多字节编码的问题,而vim完美解决了这一点。(如果你的vim没解决,请参考linux下vim的编译以及终端乱码的最终解决方案)
4、文本笔记管理
这要归功于vim的一款插件:voom
【程序员的编辑利器】
如果你是一名程序员,那就千万不要错过vim,它真的为程序员提供了太多贴心的功能。
1、支持几乎所有语言类型
不夸张的说,vim真的是将这一点做到了极致,只要是大家知道的语言,大到c++,python,小到bash,sql,vim全部都默认支持了这些语言 的语法高亮,自动缩进,等等。一个编辑器搞定所有源码编写,不用为每门语言学习他的编辑器,降低学习成本,何乐而不为?
2、支持各种语言的代码自动补全和智能提示
3、快速查找函数定义功能及显示函数列表功能
vim+tags+taglist即可轻松实现上面的功能,功能上完全可以替代si或者vs。
4、支持类似textmate的代码片段功能
我目前使用的是snipMate,当然提供这种功能的插件可不只这一个,你可以有更多选择~
5、集成编译调试功能,快速定位编译错误
vim提供了quickfix的功能,可以集成gcc,g++,java,c#,python,php等各种语言的错误定位功能,极大提高了代码编译调试时的错误定位。
6、开源
如果发现vim有bug,那么大可以自己去研究代码修复~
7、跨平台
在linux,windows,mac等多平台都有相应的版本,不用担心跨平台开发的问题!
8、支持插件,无限扩展自己想要的功能
vim本身有自己的脚本语言,如果你真的不想再多学一门语言,那也不是什么大事,gvim7.3已经默认编译支持了 python,ruby,lua,perl等等脚本语言,用你喜欢的脚本语言开发去吧!与emacs的lisp相比,如果vim 自身的脚本语言确实有所欠缺,但是python较之lisp恐怕就是旗鼓相当甚至更胜一筹了吧。
可以很简单
文本编辑器在任何需要的地方都非常有用,并且对于编码大量的编程文件来说,功能非常强大是必要的。 Vim 开始时是您普通的文本编辑器,它甚至可以执行最简单和最常见的文本编辑器任务。您可以通过命令行界面或其可配置的图形用户界面来操作它。万一您出错了,它具有“撤消”和“重做”命令。它甚至适用于几乎所有平台和操作系统。这里有大量的文本编辑器,而且在基本功能方面 Vim 也不落后。
或者可以进阶
但是,就专业而言,Vim 仍然可以拥有对程序员有用的各种功能。首先,它具有持久的多级撤消树,因此您可以尽一切努力来重置所犯的任何错误。它具有广泛的插件系统,可让您在自定义其功能时进行更多控制。它还支持数百种编程语言和文件格式,甚至还支持许多人类语言和图形字符,如 Unicode。 Vim 甚至可以使您直观地手动突出显示文本,并具有可以完成您要输入的内容的自动命令。
仍然只是编辑
但是,您不应被 Vim 的功能所迷住。该程序是一种补充文本工具,而不是像 Microsoft Word 这样的功能强大的文字处理器。尽管它可以显示具有各种突出显示和格式设置的文本,但是它并不意味着创建供您使用的文本文档。 Vim几乎总是与另一个程序或文件一起使用,因为它首先是文本编辑器。 Vim 还不如其他文本编辑器容易使用。它有一个教程,是的,但是整个程序旨在让您自己解决问题,并真正探索其功能的复杂性。它并不意味着为您提供方便,但是,一旦您真正掌握了它,它就可以提供强大的功能并简化文本上的命令。
质量选择
总而言之,Vim 是一个受欢迎的编辑程序,这有充分的理由。与程序员使用的其他文本编辑器(例如 Sublime Text 和 Emacs)相比,Vim 对初学者而言不必要地困难,如果您不够耐心的话,Vim 会让您迷失和沮丧。但是,该程序提供了很多功能,并且通过适当的让与购,您很快就会发现它可能是您需要的功能强大的文本编辑器。 Vim 是免费的,开源的,并且是一种慈善软件,鼓励您向乌干达的孩子捐款,这是一项额外的奖励。
该编辑器对于编辑程序和其他纯文本文件非常有用,大眼仔强烈推荐给大家使用。所有命令均以正常的键盘字符给出,因此那些可以用十个手指打字的命令可以非常快速地工作。此外,用户可以将功能键映射到命令,并可以使用鼠标。
Vim 在 MS Windows(XP,Vista,7、8、10),macOS,VMS 和几乎所有 UNIX 版本下运行。移植到其他系统应该不是很困难。 Vim 的旧版本可在MS-DOS,MS-Windows 95/98/Me/NT/2000,Amiga DOS,Atari MiNT,BeOS,RISC OS 和 OS/2 上运行。这些不再维护。