红联Linux门户
Linux帮助

Linux,说一说VIM

发布时间:2007-09-29 09:56:53来源:红联作者:Lokbvnhg
1.前言
一直以来编程都喜欢用可视化的IDE。转到Linux编程之后就很难找了。于是才开始正儿八经地学了一个VIM。后来,发现用eclipse竞然可以在Linux写C程序。不过,用习惯了发现grep+vim效率也不低啊!至于grep就不说太多了。最简单的命令grep "hello" ./*在当前目录下找到含有hello字符的文件。(呵呵,其实这对我来说已经足够了,最多也就是加下"-n"显示出行号)

本文不打算写一个VIM的说明手册。只是把个人常用的一些操作列上去,免得以后忘了。当然了,大家阅读和转发是不收费的.

OK,go on.

2.用vim打开一个文件
在打开文件时有好多选项可供使用,但我想大多数人只是
[root@localhost ~]vim hello.c
打开一个文件,如果这里的文件不存在的话,vim会给你新建一个。有些人可能用

[root@localhost ~]vi hello.c
其实,vi和vim不是一回事。
vim和VI相比,VIM做了相当大的扩展:多级的undo,多个窗口和缓冲区,句法高亮显示,命令行编辑,文件名的自动完成,在线帮助,可视化的选择,等等。详细的 Vim 和Vi之间的区别可参见"help vi_diff" 。

大多数系统中,vi其实是vim的联接。例如,我可爱的Suse.ll一个会显示.

[root@localhost ~]ll /usr/bin/vi
lrwxrwxrwx 1 root root 3 sep 24 07:51 /usr/bin/vi-> vim

3.三种显示模式
Vim支持三种不同的显示模式,我们经常在Normal和edit两种模式之间进行切换。Normal是VIM启动后默认的模式,在这个模式中,只能查看文档,设置vim的一些限时参数(比如:显示行号、自动换行等).要编辑文档需要切换到edit模式下。在这个模式下可以用NotePad一样用它了.

在Normal模式下按i(means insert)健就可以切换过去.在编辑模式下按健可以切回Normal模式.

3.移动光标
最低级的用法,在Normal和edit模式下,按方向健就可以移动了.还有一种方式,就是在Normal模式下使用h(左)、j(下)、k(上)、l(右).可以下图方式记忆:

k(上)
|
|
h(左)--- ----l(右)
|
|
j(下)

个人观点,你不是为了玩酷的话,用方向健就OK了。另外,VIM的移动方式不只这些,再多的,大家可以看文档去。看完了之后,慢慢习惯着用,总会找到一种适合你自己的。总之,条条大路通罗马,只要达到目的就可以了。


4.常用命令
vim一些设用的设置命令可以帮助您更好的使用它。我经常使用的命令其实就几个.设备命令的执行方法是在Normal模式下输入":"+命令.你的输入会显示在最下方。确认执行.

4.1 显示行号
显示行号使用命令"set number".我个人在写程序的时候还是喜欢将行号显示出来.这样可以,直接输入行号转到指定的行.比如转到第20行,在Normal模式下输入":20".

不显示行号使用命令"set nonumber".VIM中有好多命令都是这样一一对应的.命令标识前加一个no表示命令的相反的操作.

4.2 设置tab缩格数
设置tab缩格数是指按一下Tab健缩进几个空格.在vim中使用set tabstop=<字一符数>设定.一般情况下,建议设为set tabstop=4.这样看起来舒服些.

4.3 语法高亮显示
使用syntax on/off 打开/关闭语法高亮显示.在Suse(文中指SUSE Enterprise 10)中,默认没有打开语法高亮显示搞郁闷了好些日子.

4.4 设置后退健操作
只记住一条当失效时,使用set backspace=indent,eol,start就可以了.

5.同时编辑多个文件
Google了一下,使用VIM同时编辑多个文件的方式不下三种,我都尝试了一个觉得最好用的还是使用Linux的job机制.当编辑一个文件时使用ctrl+z可以使用当前程序暂时stop下.这时候我们可以用VIM打开另一个文件进行编辑.

使用fg加序号,可以启用您当前暂停的程序.fg后面的编号可以用jobs查得到.这都是一些shell命令.不是很理解的话可以man一下.

6.复制和粘贴
还是说一个最简单的方式.在Normal模式下,将光标移动你要复制的文字块的文首.按V健进入VIM的第三种模式view.好了,现在移动方向健就可以选择了.选择完毕后,按y健就可以将这些数据复制下来.然后到指定的位置按p健粘贴就可以了.当然,你也可以对选的数据通过按"d"删除它.另外,比较常的是在Normal模式下按"yy"(即两次y)就可以复制一行.

7.总结
这篇小文章只是让比我还菜鸟的战友知道怎么去用VIM.高手们可不要仍鸡蛋啊!如果,想把VIM用好真不是一个很容易的事.还是多看看说明手册或大虾们的高见吧.
文章评论

共有 1 条评论

  1. gxf 于 2007-09-29 15:57:53发表:

    :ha3nd

    正在用VIM写程序,学习了……