天天看点

vim模式化编辑器的使用

vim:模式化的编辑器。分为:输入模式(插入模式);编辑模式(命令模式);末行模式。

输入模式和编辑模式之间可以相互的转换,编辑模式和末行模式可以相互的转换,而末行模式转换

到输入模式不能直接转换,只能先转换到编辑模式在转换到输入模式。

输入模式转换到编辑模式使用:ESC

编辑模式转换到输入模式使用:i或o或a或c

编辑模式转换到末行模式使用::

末行模式转换到编辑模式使用:ESC

使用vim编辑文本:

    vim FILE

    vim +n FILE 打开文件的前n行

从编辑模式转换到输入模式可以使用:

    i    在当前光标所在处插入

    I    在当前光标所在的行首插入

    a    在当前光标后插入

    A    在当前光标所在行尾

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142252955.jpg"></a>

    O    在光标所在行的上方打开一个新行

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142221579.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142348689.jpg"></a>

保存退出:在末行模式下

    退出单个文件时:wq

    退出打开的所有文件时:wqall

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142118578.jpg"></a>

退出不保存:在末行模式下

    没有对文本内容进行修改:q

    修改了文本但是不保存:q!

    退出多个文件:    qall

    退出多个文件并且不保存:qall!

在打开一个内容较多的文本时,光标的移动以及定位:在编辑模式下

    光标的移动:

        h:左 l:右 k:上 j下 在他们之间加上数字就是向某个方向移动多少位如:5h 即

光标向左移动5位

        w:移动到下一个单词的首部

        e:移动到当前光标所在单词的词尾

        b:移动到当前光标所在单词的词首

        (:移动到前一句句首

        ):移动到后一句句首

        {:移动到前一段的段首

        }:移动到后一段的段位

        $:跳转到光标所在行的行尾

        G:跳转到最后一行,前面可以跟数字表示跳转到第几行如:5G 跳转到第五行

        1G:表示跳转到首部

在打开多个文件时并且将这多个文件分屏显示时,在这几个屏幕之间跳转时:在编辑模式下

    Ctrl+f    往下翻一屏

    Ctrl+b    往上翻一屏

    Ctrl+d    往下翻半屏

    Ctrl+u    往上翻半屏

当打开文件对其内容进行修改时:在编辑模式下

    c:修改当前光标所在的单词

    cc:标识删除行,前面跟上数字表示删除几行。如在编辑模式下输入 3cc:表示删除三行

    C:删除光标所在的行以后的内容

    x:删除光标所在的单个字符,前面跟上数字表示删除多少个字符

    X:删除光标前面的字符

    dd:删除光标所在的一整行,前面跟上数字表示删除几行,从光标所在的行开始算起

    r:替换光标所在的单个字符

    R:替换光标所在的一整行

对于复制、剪切、粘贴:在编辑模式下

    y:复制

    d:剪切

    p:粘贴,当复制或剪切的内容为一整行时则粘贴在当前光标所在行的下方,若不为一整行

则粘贴在当前光标所在的字符后

    P:粘贴,当复制或剪切的内容为一整行时则粘贴在当前光标所在行的上方,若不为一整行

则粘贴在当前光标所在的字符前

在复制或剪切时还可以使用可视化模式命令:在编辑模式下使用

    v:代表按照字符选取

    V:代表安装行来选取

当打开一个内容较多的文本时,而我们要修改摸个特定的字符或段时,就用到了查找:在末行模式

    /Keyword:查找Keyword

    ?Keyword:查找Keyword

在查找后需要进行修改,不需要将原有的内容删除在键入新的内容,我们可以直接使用替换命令:s

在末行模式下使用

    s 参数

        i:忽略大小写

        g:全部替换

        1,$:指定替换的范围为第一行到最后一行

        .,$:当前行到最后一行

        .,+8:当前到第八行

        .,$-1:当前行到倒数第二行

        %:全文搜索

当修改文本内容修改错误或者不想修改时,可以使用撤销命令:在编辑模式下

    u:撤销最近一次的的操作

    ctrl+r:撤销撤销,即撤销上一步的撤销

打开多个文件时:

    prev    跳转到上一个

    next    跳转到下一个

    first    跳转到第一个

    last    跳转到最后一个

分割窗口:

    水平分割    ctrl+w s

    垂直分割    ctrl+w v

    切换到下个窗口    ctrl+w 方向箭头

    最上面一个    ctrl+w t

    最下面一个    ctrl+w b

    -o    水平分割多个文件

    -O    垂直分割

设定vim的工作属性:在末行模式下

    显示行号:    set nu

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142430318.jpg"></a>

    取消行号:    set nonu

    自动缩进:    set ai(autoindent)

    取消缩进:    set noai

而这些的设置都是在当前的shell及其子shell下有作用,当shell结束时作用就不在存在,若要长久

的有用就可可以修改vim的配置文件

    在/etc/bimrc 控制的全体用户的vim设置

    在用户家目录 ~/.vimrc 控制的是用户自己的vim的设置

当两者发起相同设置的冲突时,其设置作用则依照影响范围小的设置生效

本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/775437,如需转载请自行联系原作者