是否存在vim或gVim命令来复制括号中的文本?

时间:2012-06-22 15:36:35

标签: vim

在以下代码段中,如果我转到以(开头的行的第一个左括号(spit

(defn missing-accts 
    "Prints accounts found in one report but not the other."

    [report-header mapped-data out-file]
    (spit out-file (str "\n\n    " 
          (count mapped-data) 
          "   " report-header 
          "\n\n") :append true)
          .
          .
          .

vim会突出显示第一个(和关闭)个括号。

是否有,如果有的话,什么是vim命令会抽出整个spit命令?

感谢。

3 个答案:

答案 0 :(得分:9)

序列

va(

将从开头到结束括号高亮显示,然后y会将其拉出来。请注意,与%命令不同,您不必将其放在括号上 - 您只需要在子句中。

请注意

vi(

会突出显示括号内的所有 ,而不是括号。

您也可以为大括号({代替()和XML代码(t - 大概是标记

执行此操作

答案 1 :(得分:7)

Vim确实有这样的命令,幸运的是它非常简单。只需输入y%

这有效的原因是%是Vim所谓的移动命令。它从一个分隔符移动到匹配的分隔符 - 在您的情况下从左括号到结束分隔符。如果调用yyy命令单行放入Vim的缓冲区,但不需要第二行y。相反,可以像%一样发出运动,然后Vim将移动文本。因此,y%

答案 2 :(得分:2)

将%与y一起使用。按“y”然后按“%”,光标应该是“(”,当你输入命令时。