码迷,mamicode.com
首页 > 系统相关 > 详细

vim 文本编辑器的使用法则

时间:2016-05-28 14:31:02      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:vim 文本编辑器

本文旨在学习vim编辑器的使用


1. vim三种主要模式



        技术分享

    

    命令模式(默认模式):移动光标,剪切/粘贴文本等。

    插入模式:修改文本

    扩展模式:保存,退出等

    ESC键:退出当前模式,返回到命令模式



2. vim模式之间转换



 命令模式-->插入模式

    i: insert,  在光标所在处输入

    I:在当前光标所在行的行首 输入

    a: append,在光标所在处后面输入

    A:在当前光标所在行的行尾 输入

    o: 在当前光标所在行的下方打开一个新行

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


 插入模式-->命令模式

    按ESC键


 命令模式-->扩展模式

    按:(冒号)


 扩展模式-->命令模式

    按2次ESC键或者2次enter



3. 扩展模式、命令模式详解 



 扩展模式:

    按“:” 进入Ex模式

        命令:

        w      保存文件

        wq     保存并退出文件

        x      写入并退出,相当于wq

        q      退出

        q!     强制退出

        r filename 读文件内容到当前文件中

        w filename 将当前文件内容写入另一个文件

        !command   不退出当前文本执行命令

        r!command  将命令执行结果打印到当前文本

     如:r!ls /boot

       r!openssl passwd -1i


        地址定界

    :start_pos,end_pos

    #    具体第#行。例如2 表示第2行

    #,#  例如 2,5 表示从第2行起始,到第5行结尾

    #,+# 例如2,+3 表示2到5行

    .    当前行

    $    最后一行

    %    匹配全文


       查找并替换

            s:  在扩展模式下完成查找替换操作

        格式:s/ 要查找的内容/替换为的内容/修饰符

                要查找的内容:可使用模式

                替换为的内容:

                           不能使用模式。可以使用\1, \2, ...等后向引用符号;还可以                                    使用“&”引用前面查找时查找到的整个内容


            修饰符:

 i: 忽略大小写

 g: 全局替换;默认情况下,每一行只替换第一次出现;

                    查找替换中的分隔符/ 可替换为其它字符,例如

    s@/etc@/var@g

    s#/boot#/#i


 命令模式 


    字符间跳转:

        h j k l

        #command:跳转由指定的个数的字符

           如:5h


    单词间跳转:

        w:下一个单词的词首

        e:当前或下一个单词的词尾

        b:当前或下一个单词的词首

        #command:由#指定一次跳转的单词数


    当前页跳转:

        H:页首   high

        M:页中间行 middle

        L:页低low


    行首行尾跳转:

        ^:跳转至行首的第一个空白字符

        0:(数字0)跳转至行首

        $:跳转至行尾


    行间移动:

        #G

        G:最后一行

        gg:第一行


    字符编辑:

        x:删除光标处的字符

        #x:删除光标处起始的#个字符

        xp:交换光标所在处的字符及其后面字符

        ~:转换大小写


    替换命令:(r,replace)

        r:替换光标所在处的字符



    删除命令: d

        d$:删除到行尾

        d^:删除到非空行首

        d0:删除到行首

        dw:删除光标后面的一个字符串。

        de:删除光标后面的一个字符串(与dw稍有不同)

        db:删除光标前面的一个字符串

        #command


        dd:删除光标所在行

        #dd:删除多行

        dgg:删除光标之前的所有行。

        dG;删除光标之后的所有行。


        D:从光标位置一直删除到行尾。空行不删除。



    复制命令: y

        y$:

        y0

        y^

        yw

        ye

        yb

        #command


        yy:复制行

        #yy:复制多行

        Y:复制整行



    粘贴命令:p

        p:小p  粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方


        P: 大p粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方



    撤销更改:u

        u:撤销最近的更改

        #u:撤销之前多次更改

        U:撤消光标落在这行后所有此行的更改

        按Ctrl - r 重做最后的“撤消”更改



    查找:

        /PATTERN :从当前光标所在处向文件尾部查找

        ?PATTERN :从当前光标所在处向文件首部查找


    命令模式的其他用法:

        100iwang [ESC] 复制“wang”100次


 可视化模式

        允许选择的文本块

            v 面向字符

            V 面向行

            ctrl-v  面向块

         突出显示的文字可以被删除,复制,变更,过滤,搜索 / 替换



4.定制vim的工作特性



   配置文件:永久有效

        全局:/etc/vimrc

        个人:~/.vimrc


  扩展模式:对当前vim进程有效

    (1) 行号

        显示:set number,简写为set nu

        取消显示:set nonumber,简写为set nonu


    (2) 括号成对匹配

        匹配:set showmatch,简写为set sm


     (3) 自动缩进

        启用:set ai

        禁用:set noai


    (4) 高亮搜索

        启用:set hlsearch

        禁用:set nohlsearch


    (5) 语法高亮

        启用:syntax on

        禁用:syntax off


    (6) 忽略字符的大小写

        启用:set ic

        不忽略:set noic


    (7) 文件格式

        启用:fileformat=unix

        不忽略:fileformat=dos


    (8) 设置文本宽度

        :set textwidth=65 (vim only)

        :set wrapmargin=15


    (9) 设置tab键为4个空格长度

        [root@study ~]# cat ~/.vimrc 

        set tabstop=4

    

    更详细的使用:           

        :help option-list

        :set or :set all


本文出自 “Hello,Linux” 博客,转载请与作者联系!

vim 文本编辑器的使用法则

标签:vim 文本编辑器

原文地址:http://zhangbei.blog.51cto.com/11081042/1784003

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!