首页 > 系统服务 > 详细

关于VIM,知道这些就够了

时间:2018-04-10 21:44:53      阅读:176      评论:0      收藏:0      [点我收藏+]
基本操作

打开文件

    vim [option] file
    +n. :打开文件后,让光标处于第n.行的行首,+默认行尾
                    \\ vim +5 file 打开file并让光标处在第5行

进入插入模式

    i           \\ 在光标处输入
    I           \\ 当前光标行的行首输入
    a           \\ 在光标所在处后面输入
    A           \\ 在当前光标所在行的行尾输入
    o           \\ 光标下方开一个新行
    O           \\ 光标上方开一个新行

命令模式基本操作

    x           \\ 剪切光标处字符,n.x剪切光标起始处n.个字符
    p           \\ (小写p)如果缓冲区为整行,在光标下方粘贴,否则在光标所
                  \\ 在后面粘贴,xp可以实现字符换位
    P           \\ (大写P)如果缓冲区为整行,在光标上方粘贴,否则在光标后
                  \\ 面粘贴
    ~           \\ 转换文档中光标所在处字母大小写
    J            \\ 删除当前行后的换行符
    r            \\ 替换光标所在处字符,如rm将光标处字符换成m
    R           \\ 进入replace模式,此模式下输入的字符会替换光标所
                \\ 在位置的字符
    ctrl+f,b:向下或向上翻一屏       ctrl+d,u:向下或向上翻半屏

    u              \\ 撤销最近的更改
    ctrl+r      \\ 重做最后的撤销
    n.u         \\ 撤销之前的n.次更改
    U           \\ 撤销光标落在这行的所有对此行更改、
    .           \\ 重复上一个操作
    n.          \\ 重复上一个操作n次

扩展模式或尾行模式

命令模式按“:”英文冒号进入扩展模式

    w               \\ 保存
    q               \\ 退出
    wq              \\ 保存退出
    q!              \\ 强制退出,不保存
    r filename      \\ 读文件到当前文件
    w filename      \\ 写文件到指定文件
    !command        \\ 执行命令
    r!command       \\ 读入命令输出
    ①. 地址定界
        起始位置,结束位置跟操作
        如   1y   复制第一行
            2,4d 删除第二行到第四行
            2,+4y 复制第二行到第六行
        .   代表当前行
        $   最后一行
        %   全文,等同于1,%
        起始位置和结束位置可以使用正则表达式如:
        /[0-9]/,/[0-9]/d        \\ 表示删除第一次匹配到包含数字的行到第二次匹
                                \\ 配到包含数字的行
        可以使用的操作命令包括d,y,w file(将范围内的行存如指定文件)
        r file                   \\(在指定位置插入指定文件内容)
    ②. 查找替换
        查找:/pattern向下查找(pattern为要查找的内容)
             ?pattern向上查找
            n,N与命令同方向或反方向匹配(输入匹配命令之后按n,N)

        替换格式:s/查找的内容/替换的内容/修饰符
        查找的内容可以使用模式(正则)
        替换的内容不能使用模式但可以使用后向引用,还可以使用&引用前面查找到的整个内容
        修饰符:
        i:      忽略大小写
        g:      全局替换,默认情况下每一行只替换第一次出现
        gc:     全局替换,替换前询问
        查找替换中的分隔符/可以替换为如@#等字符
        如:
        删除文件中的行首的空白字符
        :s@^[[:space:]]\+@@g
        在文件中所有以空白字符开头的行首添加一个#号
        1,$s@^[[:space:]]@#\1@g 

最后还有一张图

这张图包含命令模式大多数命令,如果能记住的话,绝对装逼利器,还有原图,太大无法上传,给个连接,看得上的可以下载https://share.weiyun.com/5YxLhPX

技术分享图片

关于VIM,知道这些就够了

原文:http://blog.51cto.com/13672361/2096678

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!