VIM编辑器

vi : visual interface,文本编辑器
文本:ASCII,Unicode

文本编辑器种类:

行编辑器:sed
全屏编辑器:nano,vi

VIM: vi improved

模式化的编辑:

    基本模式:

        编辑模式,命令模式
        输入模式,插入模式
        末行模式:内置的命令行接口
      

    打开文件:

    vim [选项][文件]
           vi +5 文件名   打开文件,光标位于文件的第五行行首。
        vi +/内容 文件名 打开文件,光标位于第一个匹配到的内容的第一行行首。

       模式转换:

    编辑模式->输入模式,插入模式
    i:insert ,在光标所在处插入
    a:append ,在光标所在处后面插入
    o:在当前光标所在行的下一行打开一个新行。
    I:在当前光标所在行的行首输入。
    A:在当前光标所在行的行尾输入。
    O:在当前光标所在行的上方打开一个新行。

    输入模式->编辑模式
    ESC

    编辑模式->末行模式
    :

    末行模式->编辑模式
    ESC
    
    

    关闭文件:

    :q 退出  如果文件编辑过,无法使用:q退出。
    :q! 强制退出,丢弃作出的修改
    :wq 保存退出
    :x  保存退出
    :w 保存路径     【另存为】
    
    

    光标跳转:

    字符间跳转
        h,j,k,l   左 下 上 右
    使用数字接命令可以跳转对应数量。    
        3h 左移3
        4j 下移4
    
    单词间跳转    
        w  跳转到下一个单词的首字母
        b  跳转到当前或者上一个单词的首字母
        e  跳转到当前或者下一个单词的最后一个字母
    使用数字接命令可以指定跳转的单词数
        3w 跳转到后3个单词的首字母
        4b 跳转到前面3个或者4个单词的首字母
        
    行首行尾跳转
    ^:跳转至行首的第一个非空白字符
    0:跳转至行首
    $:跳转至行尾
    
    行间移动
    数字G  移动到数字对应的行
    3G 移动到第3行
    
    G  跳转到最后一行
    1G 或者 gg  跳转到第一行
    
    句间移动
    ) 跳转到下一个句子
    ( 跳转到前一个句子
    } 跳转到下一个段落
    { 跳转到上一个段落
    
    

    vim的编辑命令

    字符编辑:

    x:删除光标处的单个字符
    数字x:删除光标之后的数字个字符
        6x  删除光标之后的6个字符

    xp:交换光标所在字符与其后字符两个字符的位置
    

    删除命令

    d:删除命令,可结合光标跳转字符,实现范围删除。
        d$:z删除光标到行尾
        dG:删除光标到文件结尾
        d0:从行首删除到光标所在位置
    dd: 删除光标所在的行
    数字dd:删除包括光标所在行一共数字行、
        3dd 删除3行
    

    粘贴命令(paste)

    粘贴的内容来自于删除或者复制命令的缓冲区内容。
    
    p:缓冲区中如果存储的为整行(dd),则粘贴至当前光标所在行的下方,否则粘贴至当前光标所在行。 
    P:如果缓冲区中为整行(dd),则粘贴至当前光标所在行的上方,否则粘贴至当前光标前面。
    

    复制命令(yank)

    y:复制,工作行为类似于d命令
    y$
    y0
    y^
    
    ye
    yw
    yb
    
    数字y  
    
    yy
    
    数字yy 
    

    改变命令(change)

    c:修改
        编辑模式->输入模式
        c$ 将当前光标到行尾的内容删除,并且进入编辑模式
        cgg 将光标之前的所有内容删除,并且进入编辑模式
        其他跳转命令也可以结合使用
        cc 删除当前行,并且进入编辑模式
        

    替换命令(replace)

    r:替换光标处所在字符
        r替换的字符  替换单个字符
        数字r替换的字符 替换数字个字符,当前行字符不够,不能替换
    

    其他编辑操作:
    可视化模式(visual)
    v:逐个字符选定
    V:整行整行的选定
    
    撤销此前的编辑(undo)
    u
    
    撤销此前的撤销
    Ctrl+R
    
    重复前一个编辑操作
    .
    
    翻屏操作
    Ctrl+f 向文件尾部翻一屏
    Ctrl+b 向文件首部翻一屏
    Ctrl+d 向文件尾部翻半屏
    Ctrl+u 向文件首部翻半屏
    
    vimtutor  查看vim的内置教程
    
    
    

末行模式

        内建的命令行接口
        (1)支持地址定界机制
        :开始位置,结束位置
        :2 定位到第2行
        :2,100    从第2到100行
        :2,100d   删除2到100行
        :2,+100   从第二行开始,到后面的100行
        :2,+100d  从第2行开始,向后删除100行  
        
         .  当前行
         $  最后一行
         %  全文,相当于1,$
         
    使用方式
    后跟一个编辑命令或者保存命令
    :1,15w ~/store.txt   将文件的1到15行保存到home目录下的store.txt下
    
    :10r ~/store.txt  在文件的第10行插入home目录下的store.txt的所有内容
    
        (2)支持查找
        /test   从当前光标所在处向文件尾部查找test字符串
        ?test   从当前光标所在处向文件首部查找test字符串
            使用n  移动到下一个匹配位置
            使用N  移动到上一个匹配位置
    
        (3)查找并替换
        s: 在末行模式下完成查找替换操作
            %s/aaa/123  全文搜索aaa替换为123
            其中/可以替换为其他字符(在替换内容中没有出现的字符)

最后修改:2021 年 08 月 03 日
如果觉得我的文章对你有用,请随意赞赏