2011年4月15日星期五

Vim笔记(二)

  1. 分割窗口
    :split file2    把窗口分割成上下两半,在新开窗口打开文件file2
    :new    上下分割窗口,在新开窗口打开新文件
    CTRL-W w    切换窗口
    CTRL-W +    增大窗口尺寸
    CTRL-W -    缩小窗口尺寸
    :vsplit file2    左右分割窗口,在新开窗口打开文件file2
    CTRL-W h    切换到左边窗口,其他方向按j, k, l类推
    CTRL-W H    移动窗口到最左边,其他方向按J, K, L类推
    :qall    退出所有窗口,类似的有:wall
  2. 反复执行复杂命令
    q{register}    开启寄存器,开始记录命令,register可以是az中任何一个
    q    结束记录命令
    @{register}    执行寄存器{register}内所有命令
  3. 查找替换一段字符
    :[range]s/from/to/[flags]    将from替换为to[range]控制替换范围,[flags]表示一些控制参数
    常用[range]
    • .    当前行
    • $    文件最后一行
    • 1,5    第一行到第五行
    • %    全部文件
    • .+3    当前行之下第三行
    常用[flags]
    • g    替换所有匹配字符串,否则只替换第一个匹配
    • c    执行每一个替换之前寻求确认
  4. 可视化块模式
    CTRL-V    开启可视化块模式,用h,j,k,l选择块
    I{string}<Esc>    在块的左边每一行插入一段字符串
    A{string}<Esc>    在块的右边每一行加入一段字符串
    c{string}<Esc>    替换一个块的文字
    U    换为大写字母
    u    换为小写字母
    ~    大小写互换
  5. 数行合并
    J    数行合并,去除换行符

2011年4月14日星期四

Vim笔记(一)

常用的Vim命令小结,最基本的就不说了,例如如何安装,如何启动和退出,两种基本模式(正常模式和插入模式),用h,j,k,l移动光标,简单的复制粘贴等等。
  1. 移动光标
    1. 以字符为单位
      f    右移至指定字符,例如fh移动至右边第一个h
      F    左移至指定字符
    2. 以词为单位
      w    右移至词首
      b    左移至词首
      e    右移到词尾
      ge    左移到词尾
    3. 以行为单位
      0    左移至行首
      ^    左移至行首第一个非空字符
      $    右移至行尾
      gg    移动至第1行
      G    移动至最后1行
      nG    移动至第n行
      n%    移动至n%位置
    4. 以屏为单位
      H    移动至屏幕顶端
      M    移动至屏幕中间
      L    移动至屏幕底端
      CTRL-U    向上滚半屏
      CTRL-D    向下滚半屏
      CTRL-F    向下滚一整屏
      CTRL-B    向上滚一整屏
  2. 简单搜索
    /string    向后搜索字符串
    ?string    向前搜索字符串
    n    下一个匹配字符串
    N    上一个匹配字符串
    /\<word\>    匹配整个单词,\<\>分别匹配词首和词尾
    %    寻找匹配的括号
  3. 书签
    ma    标记此处为a,共可使用az二十六个书签
    `a    回到标记为a