美文网首页
vim命令详解

vim命令详解

作者: IT教程 | 来源:发表于2017-08-04 15:26 被阅读13次

    欢迎访问我的个人博客网站:http://www.yanmin99.com/

    一、vim模式

    • vim模式介绍
    编辑模式(命令模式)
    输入模式
    末行模式
    替换模式(正常模式下,按R进入)
    

    二、模式转换

    • 1、编辑-->输入

    i: 在当前光标所在字符的前面,转为输入模式;
    a: 在当前光标所在字符的后面,转为输入模式;
    o: 在当前光标所在行的下方,新建一行,并转为输入模式;
    I:在当前光标所在行的行首,转换为输入模式
    A:在当前光标所在行的行尾,转换为输入模式
    O:在当前光标所在行的上方,新建一行,并转为输入模式;
    
    • 2、输入-->编辑

    ESC
    
    • 3、编辑-->末行

    :
    
    • 4、末行-->编辑

    ESC, ESC
    

    三、打开文件

    vim +# :打开文件,并定位于第#行
    vim +:打开文件,定位至最后一行
    vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
    

    四、关闭文件

    • 1、末行模式关闭文件

      :q  退出
      :wq 保存并退出
      :q! 不保存并退出
      :w 保存
      :w! 强行保存
      :wq --> :x  
      
    • 2、编辑模式下退出

    ZZ: 保存并退出
    

    五、移动光标

    • 1、逐字符移动

    h: 左
    l: 右
    j: 下
    k: 上
    
    • 2、以单词为单位移动

    w: 移至下一个单词的词首
    e: 跳至当前或下一个单词的词尾
    b: 跳至当前或前一个单词的词首
    
    • 3、行内跳转

      0: 绝对行首
      ^: 行首的第一个非空白字符
      $: 绝对行尾
      
    • 4、行间跳转

      gg: 第一行
      G:最后一行
      

    六、翻屏幕

    Ctrl+f: 向下翻一屏 
    Ctrl+b: 向上翻一屏
    Ctrl+d: 向下翻半屏
    Ctrl+u: 向上翻半屏
    ctrl+e: 向下滚动一行
    ctrl+y: 向上滚动一行
    

    七、剪切和复制、粘贴

    • 1、剪切(删除)

    [n]x: 剪切光标右边n个字符,相当于d[n]l。
    [n]X: 剪切光标左边n个字符,相当于d[n]h
    
    d$ or D: 删除(剪切)当前位置到行尾的内容。
    d[n]w: 删除(剪切)1(n)个单词
    d[n]l: 删除(剪切)光标右边1(n)个字符。
    d[n]h: 删除(剪切)光标左边1(n)个字符。
    d0: 删除(剪切)当前位置到行首的内容
    [n] dd: 删除(剪切)1(n)行。
    :m,nd<cr> 剪切m行到n行的内容。
    d1G或dgg: 剪切光标以上的所有行。
    dG: 剪切光标以下的所有行。
    
    • 2、复制

    y: 复制在可视模式下选中的文本。
    yy or Y: 复制整行文本。
    y[n]w: 复制一(n)个词。
    y[n]l: 复制光标右边1(n)个字符。
    y[n]h: 复制光标左边1(n)个字符。
    y$: 从光标当前位置复制到行尾。
    y^: 从光标当前位置复制到行首。
    y0: 从光标当前位置复制到行首。
    :m,ny<cr> 复制m行到n行的内容。
    y1G或ygg: 复制光标以上的所有行。
    yG: 复制光标以下的所有行。
    

    3、粘贴

    p: 在光标之后粘贴。
    P: 在光标之前粘贴。
    

    八、查找、替换

    • 1、查找

    /something: 在后面的文本中查找something。
    ?something: 在前面的文本中查找something。
    /pattern/+number: 将光标停在包含pattern的行后面第number行上。
    /pattern/-number: 将光标停在包含pattern的行前面第number行上。
    n: 向后查找下一个。
    N: 向前查找下一个。
    
    • 2、替换

    :s/old/new - 用new替换当前行第一个old。
    :s/old/new/g - 用new替换当前行所有的old。
    :n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old。
    :%s/old/new/g - 用new替换文件中所有的old。
    :%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。
    :%s/$/xxx/g - 在每一行的行尾插入xxx,$表示行尾。
    所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写(ignore)
    

    九、排版

    • 1、基本排版

    << 向左缩进一个shiftwidth
    >> 向右缩进一个shiftwidth
    :ce(nter) 本行文字居中
    :le(ft) 本行文字靠左
    :ri(ght) 本行文字靠右
    

    十、快速编辑

    • 1、改变大小写

    ~: 反转光标所在字符的大小写。
    可视模式下的U或u:把选中的文本变为大写或小写
    
    • 2、替换

    r: 替换光标处的字符,同样支持汉字。
    R: 进入替换模式,按esc回到正常模式
    
    • 3、撤销、重做

    [n] u: 取消一(n)个改动。
    :undo 5 -- 撤销5个改变。
    :undolist -- 你的撤销历史
    
    • 4、可视化模式

    v: 按字符选取
    V:按矩形选取
    

    十一、配置文件

    /etc/vimrc    针对所有用户
    ~/.vimrc    针对当前用户
    

    十二、高级话题

    • 1、显示或取消显示行号

    :set nu
    :set nonu
    
    • 2、查找到的文本高亮显示或取消

    :set hlsearch
    :set nohlsearch
    
    • 3、语法高亮

    :syntax on
    :syntax off
    
    • 4、显示忽略或区分字符大小写

    :set ic
    :set noic
    

    相关文章

      网友评论

          本文标题:vim命令详解

          本文链接:https://www.haomeiwen.com/subject/fwovlxtx.html