Vim延伸线的范围
我是一位C#开发人员,他刚刚决定扩展我对可用工具的知识。 我决定学习的第一个工具是Vi / Vim。 到目前为止,一切进展顺利,但是我似乎无法find答案:
-
可以说我想抽出一系列线条。 我知道这样做有很多方法,但是我想用行号来做。 我认为这与替代命令的工作方式类似,像
81,91y
。 有没有办法做到这一点? -
我在正常模式下对
g
命令有点困惑。 它似乎做了很多事情,我不能确定g命令的核心。 我很困惑它是一个运动命令还是一种“全部捕捉”其他命令在正常模式下运行。 有人可以解释一下这个或者给我一个参考,给出一个g
命令的一个很好的解释吗?
猛拉81-91行
:81,91y<enter>
如果你的手指不喜欢find:
和,
键,这也会起作用(去第81行,抽出11行)
81gg11yy
我唯一使用的是5gg
。 去五号线 22gg
:第22行。 正如jimbo所说的那样,它实际上只是一些其他命令的修饰符。
为了完整性,( http://vim.wikia.com/wiki/Power_of_g )解释了许多g
在命令模式下的工作原理。
G
命令转到某个行号,如果它伴随着一个计数值。 81G
把你放在第81行。
y
命令可以与G
一起运动。 所以要把所有东西都y91G
91行,你可以使用y91G
。
一起你得到:
81Gy91G
去81线,然后去91线。
我也喜欢使用vim的相对行号选项,这意味着我可以input:
:-10,-7ya a
将文本放入命名缓冲区a。
注意指定A会将你正在拖延的内容附加到缓冲区a的当前内容。
不要忘了,你也可以复制文本块并移动文本块以及类似的命令:
:-10,-7co .
意思是把上面的四行文字复制到当前行的下面,
:-10,-7mo .
意味着将上面的四行文字移动10行到当前行的下面。
g
本身并没有做任何事情。 这是一对夫妇元命令之一,它包含了一堆不相关的命令。
z
是另外一个这样的命令。
Vim的:help index
将g
描述为:
|g| g{char} extended commands, see |g| below
向下滚动(或:help g
)列表。