自从建了博客之后,一直不知道如何去写,也不知道写些什么,必境自己还处于刚入门的学习中。终于鼓起勇气打算写一下自己的第一篇博客,内容应该只是学习的一个记录,没有什么特别的东西,各位运维大神就不用看了,没用过vim并且想看看怎么用的,可以看看,我希望看完我写的东西后能让您觉得有收获,好了,开篇就介绍到这。下面,正文:


一、什么是vim,它能做什么。

   从我的理解上来看,只要知道它是一款文档编辑器就行了,vim就是vi编辑器的升级版,比vi编辑器多了很多实用的功能,例如注释掉的行用蓝色显示,普通的行用白色显示等。

   做为一款文档编辑器,它的作用主要就是用来编辑文档的,当然,你也可以用它来建立新的文档。


二、如何使用vim编辑器

   从我个人的学习感受来讲,我觉得使用vim编辑器的能力分为两个阶段,第一阶段:基础使用者,第二阶段:熟练使用者

   先说说基础使用者要知道的用法:

   1、建立和打开文件

   使用vim空格加路径和文件名就可以新建可打开已有的文件。例:

   vim work1      vim /home/work1


   2、进入文本输入模式

   打开文件后,按i键,就可以进入文本输入模式,这时候你就可以随意的输入文本了

   按小键盘的上下左右可以移动光标位置,退格键可以删掉光标前面的文字

   当你输入完了或不想输入了,按ESC可退出文本输入模式


   3、想保存或退出怎么办?

   不管什么情况下,多按几遍ESC,就回到了编辑模式

  (所谓编辑模式你现在可以先理解为基础模式就行了)

   然后按:wq(冒号,w键,q键),回车,就可以保存退出了

   如果你不想保存想直接退出,按:q!,回车,就可以不保存强行退出

   如果你只想保存一下,不想退出,按:w,回车


   到此你已经达到基础使用者级别了,是不是很简单^^  快去玩玩吧!


   下面我们来说说熟练使用者是怎么用vim编辑器的

   1、vim编辑器的三种模式

      编辑模式(基础模式)、输入模式和末行模式。这些模式都有什么不同呢?

          编辑模式:对文档进行复制、粘贴、删除等操作的模式(用过word吗?用过的话你就理解 为专门用来排版的模式)

          输入模式:对文档进行输入字符或文字的模式(用过word吗?不用我说你能理解了吧)

          末行模式:主要用来对文档进行保存退出等功能的模式(用过word吗?和菜单里的功能差不多)


   2、编辑模式的用法

在编辑模式下各按键有不同的意义:
i :在当前光标所在的字符的前面,转为输入模式
a :在当前光标所在的字符的后面,转为输入模式
o :在当前光标所在的行的下一行,新建一行,并转为输入模式
I :在当前光标所在的行的行首,转为输入模式
A :在当前光标所在的行的行尾,转为输入模式
O :在当前光标所在的行的上一行,新建一行,并转为输入模式
w :光标跳至下一个单词的词首
e :光标跳至当前或下一个单词的词尾
b :光标跳至当前或前一个单词的词首
0 :光标跳至绝对行首
^ :光标跳至行首的第一个非空白字符
$ :光标跳至绝对行尾
G :光标跳至最后一行,如果在输入G前加数字表示跳转至所输的行数


ctrl+f :向文件尾部(上)翻一屏
ctrl+b :向文件首部(下)翻一屏
ctrl+d :向下翻半屏
ctrl+u :向上翻半屏

x :删除光标所在位置的字符,前面加数字表示从当前位置删除多个字符
d :表示删除,要和跳转符一起使用,例如:dw表示删除到一个词的词首

                                      de表示删除当前或下一个词的词尾

                                      …………

                                      dd删除当前所在行,前面加数字表示从当前行删除多行


y :复制,用法同d
c :删掉当前行,并转换成输入模式,用法同d
r :替换(也可以叫改写)当前字符,输入r再输入要换的字符就行了
R :直接转换成替换(也可以叫改写)模式进行输入
u :撤消前一次操作,多次使用撤消多次,一般情况最多撤消50次,用数字加u可直接撤消多次操作
ctrl+r:撤消刚才的撤消操作
p :如果删除的或复制的为整行内容,则粘贴到光标所在的行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
P :如果删除的或复制的为整行内容,则粘贴到光标所在的行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面
.:重复前一次的编辑操作
v :按字符选中光标所划过的所有内容
V :按矩形块选中光标所划过的内容

/ :后面输入内容,表示向后查找输入的内容,如果找到多个,则按n可以切到下一个,按N切到上一个
? :后面输入内容,表示向前查找输入的内容,如果找到多个,则按n可以切到下一个,按N切到上一个
s :查找并替换,全局替换在最后加g,忽略大小写在后面加i
例::.,$-1s/he/HE/g 表示从当前行到倒数第2行把小写he替换成大写HE,并且全局替换
(vim支持正则表达式)


   3、末行模式的用法
在编辑模式下输入 “:” 来进入末行模式
:30 后面跟数字表示跳转到数字的行数,这个就是跳转到30行
:10,20d 表示删除10到20行,.表示当前行,$表示最后一行,+表示向下多少行
:.,$-3d  表示删除从当前行到倒数第3行间的所有行


   至此你已经达到我认为的熟练使用者了级别了,至于如何才能达到大神级别,本小菜也没达到,就无能为力了,呵呵!

   本文尽量使用我觉得别人可以明白的方式进行说明,不知道对新接触vim的有没有帮助,这也是我第一次发贴,有什么不足尽管提出,我尽力改正^^