理解“ [[”,“]]”,“ []”,“] [”


9

我发现很难理解这些文本对象的动作:

                            *]]*
]]          [count] sections forward or to the next '{' in the
            first column.  When used after an operator, then also
            stops below a '}' in the first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

                            *][*
][          [count] sections forward or to the next '}' in the
            first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

                            *[[*
[[          [count] sections backward or to the previous '{' in
            the first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

                            *[]*
[]          [count] sections backward or to the previous '}' in
            the first column.  |exclusive|
            Note that |exclusive-linewise| often applies.

我可以理解,“]”意味着前进,就像“]}”转到下一个不匹配的“}”一样,第二部分“}”描述了目标,这很有意义。

但是“]]”,“] [”,“ [[”,“ []”中的第二个括号是什么意思?如果“]]”中的第二个“]”表示“第一列”中的“ {”,那么“ []”中的第二个“]”表示“}”而不是“ {”。我只是无法理解这四个文本对象的运动。


4
在您的报价下方的3个段落中解释了“节”的含义。
romainl '16

2
@romainl指出:“第二个字符[确定]找到的括号的类型”,这意味着]应始终与匹配}。OP指出,情况并非如此。他们要求澄清这一点,而不是要求一节的定义。
Rich

Answers:


5

这有助于在文件上进行测试。您可以将它们视为“前进”和“后退” X“开始”和“结束”

尝试在此文本块上使用四个动作:

function one
{#1

}#2

function two
{#3

}#4

function three
{#5

}#6

我不知道该怎么做那些经常有用的运动gif,但基本上例如]] ]] ]]它将从位置1-1-> 3-> 5 [[反向移动。类似地,使用][[]运动在#2 <-> 4 <-> 6之间移动。

这是一张图片: 在此处输入图片说明


4

这些将移至函数的顶部和底部,其中假定函数的打开和关闭括号始终在第一列中。(社论:如今这种情况似乎并不常见,因此这些动议对许多用户来说都是小问题。)

前导[或分别]指示文件的上,下方向。然后第二个[或第二个]方法要么在功能序言处打开括号,要么在功能序言处关闭括号;如果与主角字符匹配,则转到大括号;如果与主角字符不同,则转到右括号。

尽管我通常更喜欢放在函数定义上,但我经常使用[[]]经常使用。对我来说[]][在编辑时是非直觉的,我从不使用;我希望我能弄清楚如何使它们在我的大脑中起作用,因为这是我经常通过其他方式完成的操作(例如,a}运动常常遮盖了我)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.