Vim新手快速升级攻略

发表于:2011-9-13 10:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈皓    来源:51Testing软件测试网采编

分享:

  下面,让我来说说最强的光标移动:

  ● %:匹配括号移动,包括 (, {, [. (陈皓注:你需要把光标先移到括号上)
  ● * 和 #: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

  相信我,上面这三个命令对程序员来说是相当强大的。

  更快

  你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。很多命令都可以如下来干:

  <start position><command><end position>

  例如 0y$ 命令意味着:
  ● 0 → 先到行头
  ● y → 从这里开始拷贝
  ● $ → 拷贝到本行最后一个字符

  你可可以输入 ye,从当前位置拷贝到本单词的最后一个字符。

  你也可以输入 y2/foo 来拷贝2个 “foo” 之间的字符串。

  还有很多时间并不一定你就一定要按y才会拷贝,下面的命令也会被拷贝:
  ● d (删除 )
  ● v (可视化的选择)
  ● gU (变大写)
  ● gu (变小写)
  ● 等等

  (注:可视化选择是一个很有意思的命令,你可以先按v,然后移动光标,你就会看到文本被选择,然后,你可能d,也可y,也可以变大写等)

  第四级 – Vim 超能力

  你只需要掌握前面的命令,你就可以很舒服的使用VIM了。但是,现在,我们向你介绍的是VIM杀手级的功能。下面这些功能是我只用vim的原因。

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

  还有一个很有用的命令是 dt" → 删除所有的内容,直到遇到双引号—— "。

  区域选择<action>a<object>或<action>j<object>

  在visual 模式下,这些命令很强大,其命令格式为<action>a<object>或<action>j<object>

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

  假设你有一个字符串 (map (+) ("foo")).而光标键在第一个 o 的位置。
  ● vi" → 会选择 foo.
  ● va" → 会选择 "foo".
  ● vi) → 会选择 "foo".
  ● va) → 会选择("foo").
  ● v2i) → 会选择 map (+) ("foo")
  ● v2a) → 会选择 (map (+) ("foo"))

53/5<12345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号