Skip to content Skip to main navigation Skip to footer

vim: 玩转VIM-札记(三)

玩转VIM-札记(三)

眨眼之间,5月就要从指间溜走,不给人一点点遐想的时间,我要赶紧抓着五月的尾巴,在博客中在添一笔。那么就还接着Vim来说吧。以Vim来为五月画上一个句号。

返璞归真

相信经过玩转Vim-札记(一)和玩转Vim-札记(二)的学习,对于光标的移动已经能做到随心所欲了,但是如果想要更快速的操作,以下几个光标移动的命令也是必不可少的。

在当前行上移动光标:  0^$fFtT,;

  • 0 → 到行头
  • ^ → 到本行的第一个非blank字符
  • $ → 到行尾
  • g_ → 到本行最后一个不是blank字符的位置。
  • fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。
  • t, → 到逗号前的第一个字符。逗号可以变成其它字符。
  • 3fa → 在当前行查找第三个出现的a。
  • F 和  T → 和  f 和  t 一样,只不过是相反方向。

区域选择  a或  i

在visual 模式下,这些命令很强大,其命令格式为

a和  i

  • action可以是任何的命令,如  d (删除),  y (拷贝),  v (可以视模式选择)。
  • object 可能是:  w 一个单词,  W 一个以空格为分隔的单词,  s 一个句字,  p 一个段落。也可以是一个特别的字符: "、  ‘、  )、  }、  ]。

假设你有一个字符串  (map (+) (“foo>”)).而光标键在第一个  的位置。

  • vi” → 会选择  foo.
  • va>” → 会选择  “foo>”.
  • vi) → 会选择  “foo>”.
  • va) → 会选择 (“foo>”).
  • v2i) → 会选择  map (+) (“foo>”)
  • v2a) → 会选择  (map (+) (“foo>”))

块操作: 

块操作,典型的操作:  0 I– [ESC]

  • ^ → 到行头
  •  → 开始块操作
  •  → 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)
  • I– [ESC] → I是插入,插入“ ”,按ESC键来为每一行生效。

在Windows下的vim,你需要使用  而不是  是拷贝剪贴板。

自动提示:   和 

在 Insert 模式下,你可以输入一个词的开头,然后按  或是,自动补齐功能就出现了……

宏录制:  qa 操作序列  q@a@@

  • qa 把你的操作记录在寄存器  a。
  • 于是  @a 会replay被录制的宏。
  • @@ 是一个快捷键用来replay最新录制的宏。
  • 示例

    在一个只有一行且这一行只有“1”的文本中,键入如下命令:

    • qaYpq@a → 在1下面写下 2
      • qa 开始录制
      • Yp 复制行.
      •  增加1.
      • q 停止录制.
    • @@ → 在2 正面写下3
    • 现在做  100@@ 会创建新的100行,并把数据增加到 103.

可视化选择:  v, V,

前面,我们看到了  的示例 (在Windows下应该是),我们可以使用  v和  V。一但被选好了,你可以做下面的事:

  • J → 把所有的行连接起来(变成一行)
  • < 或  > → 左右缩进
  • = → 自动给缩进 

在所有被选择的行后加上点东西:

  • 选中相关的行 (可使用  j 或   或是  /pattern 或是  % 等……)
  • $ 到行最后
  • A, 输入字符串,按  ESC。

分屏:  :split 和  vsplit

下面是主要的命令,你可以使用VIM的帮助  :help split. 你可以参考陈皓以前的一篇文章 VIM分屏

  • :split → 创建分屏 ( :vsplit创建垂直分屏)
  •  : dir就是方向,可以是  hjkl 或是 ←↓↑→ 中的一个,其用来切换分屏。
  • _ (或  |) : 最大化尺寸 (| 垂直分屏)
  • + (或  ) : 增加尺寸

参考:http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/

PS:本博客欢迎转发,但请注明博客地址及作者,因本人水平有限,若有不对之处,欢迎指出,谢谢~

博客地址: http://www.cnblogs.com/voidy/

博客新址: http://voidy.net

<。)#)))≦

原文:http://www.cnblogs.com/voidy/p/4541530.html

0 Comments

There are no comments yet

Leave a comment

Your email address will not be published.