分类1
大小:9MB
语言:简体中文系统:Win2000/WinXP/Win2003
类别:编程工具时间:2016-08-08
vim编辑器是一款超强大的文件边界清,支持代码编辑等,还有各种的命令等,软件开发必备!
Vim是一个超级超级强大的文本编辑器。它和Emacs是一个数量级;而我认为,比UltraEdit、Editpad、EmEditor要高一个(至少半个数量级)。
在领略了vim的强大后,我不禁被深深吸引住了。但我发现并不是所有的电脑都装有vim,于是制作了一个单文件绿色版的vim编辑器。放在U盘里,随身携带,去到哪里用到那里。添加了史上最强的vim配置,帮助文件替换成了中文,配色方案我替换成slate,更适合编辑。
我使用vim时间也不长,只会一些简单的命令。平常写东西,看文档都是用vim,我发觉我越来越喜欢它了。真心希望能有更多的人一起学习vim,充分享受神一样的编辑器给我们带来另一种书写的快感。
一.普通人的编辑利器
之所以第一点就提到这个,是因为”文字处理”当然是一个编辑器最基本的功能,而能把编辑的体验发挥到极致的也恐怕只有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常用的模式有:
命令模式(command-mode),插入模式(insert-mode),可视模式(visual-mode),正常模式(normal-mode)。
模式的转换:
①其它模式==>正常模式
按Esc键
②正常模式==>插入模式
按i 在光标前插入
按I 在行首插入
按a 在光标后插入
按s 删除光标所在的字符再插入
按A 在行末插入
按o 在当前行之下新建行
按O 在当前行之上新建行
按S 删除光标所在行再插入
③正常模式==>命令模式
按: (shift 加分号)
④正常模式==>可视模式
按v 可视模式
按V 可视块模式
快捷键
一、打开和退出
:e test.txt 打开test.txt文件进行编辑,文件不存在则创建。
:w 保存文档,但不退出vim编辑器。
:q 不保存文档,退出vim编辑器。
:wq 保存文档然后退出vim编辑器。按ZZ(注意Z是大写的,并且不是在命令模式)或者:x效果是一样的。
:q! 放弃所有修改强制退出,按:q不能退出时就试试这个吧。
二、光标的移动
这里说的光标移动是指在正常模式下光标的移动。
最简单是方向键,它即使在插入模式下仍可使用,但不是最方便。
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个字符。