Vim小技巧

##总结平时碰见的vim小技巧,分享给大家.

  1. 读入一个文件内容,并写入到当前编辑器中
    :r filename
    
  2. 把内容写入到一个新的文件中
    :1,9 w filename #1到9行写入到新文件中
    :1,$ w >> filename #1到最后一行追加到filename中
    
  3. 暂时离开 vi 到指令模式下执行 command 的显示结果!
    :! command #比如 :! ls
    
  4. 进入shell命令行,执行完命令后ctrl+d退出重新进入vim编辑继续编辑
    :sh | :! bash
    
  5. 保存文件并退出,同上一个命令,注意大写,在命令模式直接输入
    ZZ
    
  6. 显示行号,和关闭行号
    :set number | :set nu
    :set nonumber |:set nonu 
    
  7. 将第1行到当前行(.)第一次出现的redhat字符代替为fedora,.号表示当前行,即光标所在行
    :1,.s/redhat/fedora
    
  8. 当前文件,返回到上次保存
    :e!
    
  9. 当编辑时有多个文件(比如vim file1 file2)时切换到下[上]一个文件,与:e file结合使用
    :bn#下一个文件
    :bp—上一个文件 
    
  10. 移到屏幕的第一行| 移到屏幕的中间一行|移到屏幕的最后一行
    H|M|L
    
  11. 移到句子的开头| 移到句子的结尾
    (|)
    
  12. 移到段落的开头| 移到下一个段落的开头
    {|}
    
  13. 读入文件 file 内容,并插在当前行后
    :r file
    
  14. 读入文件 file 内容,并插在第 n 行后
    :nr file
    
  15. 用 text 代替当前字符
    stext escape
    
  16. 用 text 代替整行
    Stext escape | cctext escape
    
  17. 重复最后的 :s 命令
    &
    
  18. 查找时忽略大小写|查找时对大小写敏感
    :set ic|:set noic
    
  19. 查找包含 text1 的行,用 text3 替换 text2
    :g/text1/s/text2/text3
    
  20. 在所有包含 text 的行运行 command 所表示的命令
    :g/text/command
    
  21. 在所有不包含 text 的行运行 command 所表示的命令
    :v/text/command  
    
  22. 读取 command 命令的输入并插入,如 :r!ls 会先执行 ls,然后读入内容
    :r!command
    
  23. 将当前已编辑文件作为 command 命令的标准输入并执行 command 命令,如 :w!grep all
    :w!command
    
  24. 打开文件浏览器
    :E [目录]
    
  25. 将当前行滚动到第一行
    z+Enter
    
  26. 将当前行滚动到最后行
    z-
    
  27. 强制文件保存
    w !sudo tee %
    
  28. 在所有的尾巴添加
    1. 视图模式下选择, G $ A strings Esc 
    2. 替换方法 %s/$/strings/g
    
  29. 列模式插入字符
    切换到列模式,选择多行之后, 使用 I 输入, Esc 之后所有选中的列都插入到编辑器.
    

    其他

  30. 中文文档:
    http://vimcdoc.sourceforge.net/
    1. 安装完成直接运行vimtutor zh
  31. 一些博客
    http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html
    http://blog.chinaunix.net/uid-20769502-id-112737.html
    http://www.cnblogs.com/kuainiao/archive/2013/02/05/2892665.html
    http://blog.sina.com.cn/s/blog_6d09b5750100vx3u.html
    http://www.jianshu.com/p/bcbe916f97e1
    http://blog.csdn.net/topgun_chenlingyun/article/details/8013115
    http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html