原文url:http://blog.csdn.net/xiajun07061225/article/details/7039413

@我们为什么一定要学习vim呢?有以下几个原因:

(1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。

(2)很多软件的编辑接口都会主动调用vi。

(3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。

(4)程序简单,编辑速度快。

 

 

1,vim编辑器的三种模式:一般模式、编辑模式和命令行模式。

  *   从一般模式切换到编辑模式可以按下iIoOaA

  *   按下Esc键可以回到一般模式

       *   在一般模式中输入/?三个中的任意一个可以将光标移到最下面的一行。进入编辑器的命令行模式在这个模式中可以提供查找数据的操作,而读取、保存、大量替换字符、离开vii、显示行号等操作则是在此模式中完成的。

  ---需要注意的是,编辑模式与命令行模式之间是不能互相切换的。

 

2,下面列出平时用的最多的vi命令:

1),移动光标的方法:

[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。

[Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。

0或功能键[Home]:移动到这一行的最前面字符处。

$或功能键[End]:移动到这一行的最后面字符处。

G:移动到这个文件的最后一行。

gg:移动到这个文件的第一行,相当于1G.

N[Enter]N为数字,光标向下移动N行。

 

2),查找和替换:

/word:向下寻找一个名称为word的字符串。

?word:向上寻找一个名称为word的字符串。

:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.

:1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.

:1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。

 

3),删除、复制和粘贴:

x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。

dd:删除光标所在的一整行。

ndd:删除光标所在的向下n行。

yy:复制光标所在的一行。

nyy:复制光标所在的向下n行。

p,Pp为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。

u:复原前一个操作。

[Ctrl]+r:重做上一个操作。

.:小数点,重复前一个操作。

 

4),一般模式切换到编辑模式:

i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。

aA:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。

oO:进入插入模式。o为在下一行插入。O为在上一行插入。

rR:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。

 

5),一般模式切换到命令行:

:w:将编辑的数据写入到硬盘中。后边跟文件名.后缀名注意,保存路径终端命令行中的当前路径

:q:离开vi。后面加:q!为强制离开。

:wq:保存后离开。:wq!为强制保存后离开。

按下i过后在光标处进入插入模式,跟stl的insert一样。

 

3,目前主要的编辑器都有恢复功能,vim也不例外。vim是通过“保存”文件来挽回数据的。

  每当我们在用vim编辑时,vim都会自动在被编辑的文件的目录下面再新建一个名为filename.swap的文件。这就是一个暂存文件,我们对文件 filename所做的操作都会被记录到这个文件当中。如果系统意外崩溃,导致文件没有正常保存,那么这个暂存文件就会发挥作用。

  我们在vim的一般模式下按下Ctrl+z组合键,vim就会被丢到后台执行。回到命令提示符环境后,我们模拟将vim的工作不正常中断。

 

4,vim必备的配置信息:

---vim程序文件和配置文件存放目录

Linux: /usr/share/vim/vimrc

Windows: c:\program files\vim\vimrc

---注意,/etc下也有这个文件,更改效果同上。

 

  1. set nocompatible                 "去掉有关vi一致性模式,避免以前版本的bug和局限    
  2. set nu!                                    "显示行号
  3. set guifont=Luxi/ Mono/ 9   " 设置字体,字体名称和字号
  4. filetype on                              "检测文件的类型     
  5. set history=1000                  "记录历史的行数
  6. set background=dark          "背景使用黑色
  7. syntax on                                "语法高亮度显示
  8. set autoindent                       "vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)
  9. set cindent                             "(cindent是特别针对 C语言语法自动缩进)
  10. set smartindent                    "依据上面的对齐格式,智能的选择对齐方式,对于类似C语言编写上有用   
  11. set tabstop=4                        "设置tab键为4个空格
  12. set shiftwidth =4                   "设置当行之间交错时使用4个空格     
  13. set ai!                                      " 设置自动缩进 
  14. set showmatch                     "设置匹配模式,类似当输入一个左括号时会匹配相应的右括号,即输入完右括号,光标跳转到左括号上。     
  15. set guioptions-=T                 "去除vim的GUI版本中得toolbar   
  16. set vb t_vb=                            "当vim进行编辑时,如果命令错误,会发出警报,该设置去掉警报       
  17. set ruler                                  "在编辑过程中,在右下角显示光标位置的状态行     
  18. set nohls                                "默认情况下,寻找匹配是高亮度显示,该设置关闭高亮显示     
  19. set incsearch                        "在程序中查询一单词,自动匹配单词的位置;如查询desk单词,当输到/d时,会自动找到第一个d开头的单词,当输入到/de时,会自动找到第一个以 ds开头的单词,以此类推,进行查找;当找到要匹配的单词时,别忘记回车 
  20. set backspace=2           " 设置退格键可用
  21. 修改一个文件后,自动进行备份,备份的文件名为原文件名加“~”后缀

 

  •       if has("vms")
  •       set nobackup
  •       else
  •       set backup
  •       endif

 

  后边是自动备份文件

  如果设置完成后,发现功能没有起作用,检查一下系统下是否安装了vim-enhanced包,查询命令为:

 

        $rpm -q vim-enhanced
  注意:如果设置好以上设置后,VIM没有作出相应的动作,那么请你把你的VIM升级到最新版,一般只要在终端输入以下命令即可:sudo apt-get install vim

---下面是vimrc配置文件,修改后的效果如下:

 

posted on 2014-05-11 22:55  学到老死  阅读(410)  评论(0)    收藏  举报