手机版
你好,游客 登录 注册
背景:
阅读新闻

Vim学习指南

[日期:2013-08-20] 来源:oschina.net  作者:Lesus, Garfielt, szkiti, 耀耀 [字体: ]

区域选择 : <命令>a<对象> 或 <命令>i<对象>

这些命令仅仅能用在可视化模式的一个操作后。但是他们相当的有用。他们的主要模式有:

<命令>a<对象> 和 <命令>i<对象>

命令可以是任何命令,例如 , d(删除),y(拉取),v(进入可视化模式)。对象可以是: w一个单词,W一个单词 (扩展的),s一个句子,p一个段落。而且也可以是普通的字符, 例如",',),},]。

假设现在光标在 (map (+) ("foo")) 这个字符串的第一个o上。

  • vi"→ 将会选择 foo
  • va"→ 将会选择 "foo"
  • vi)→ 将会选择 "foo"
  • va)→ 将会选择 ("foo")
  • v2i)→ 将会选择 map (+) ("foo")
  • v2a)→ 将会选择 (map (+) ("foo"))

Text objects selection

矩形选择块:<C-v>

矩形选择块能够方便的对多行代码进行注释。 如:0<C-v><C-d>I-- [ESC]

  • ^→ 将光标定位到这行第一个非空格字符
  • <C-v>→ 选择开始位置
  • <C-d>→ 向下移动 (也可使用 jjj 或者 % , 其他…)
  • I-- [ESC]→ 用 -- 来注释每一行
Rectangular blocks

提示:如果你的剪贴板在Windows中是非空的话,那么你就不得不使用<C-q>来代替<C-v>。

实现:<C-n>和<C-p>.

在插入模式中:只要打出单词的首字母,然后按<C-p>,神奇的事情就发生了...

Completion

宏命令 : qa 做的一些事,@a,@@

qa 把你的动作记录在了寄存器 a 中。然后@a 就会将存在寄存器中的动作重现,就好像你从新打了一边。@@是将你最后一次执行的宏命令再次执行的快捷键。

事例

在只有数字1的一行上, 像这样键入命令:

  • qaYp<C-a>q→
    • qa开始记录。
    • Yp记录这一行。
    • <C-a>增加数字大小。
    • q停止记录。
  • @a→ 在1下面写2
  • @@→ 在2下面写3
  • 现在键入 100@@ 就将会产生一个到 103 的自增列。

Macros 

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款