我如何 select 多条线路在 Kakoune 上行?
How do I select multiple lines going upwards on Kakoune?
在 Vim 中,我会使用 V 进入视觉模式,然后将光标向上移动(使用 k)。
在 kak 中,我可以 select 一条带有 x 的线,我可以通过按 [=16= 向下扩展 selection ]X 多次,或者在按下 shift 和 J 的同时向下移动光标,但如果我在按下时向上移动shift,用 K 我保留 selection,但不是整行, selection 在第一个 selected 行以某种方式跳转到第 0 列。
这并不理想,但在这一点上,我能找到的最好的全行选择是做你所描述的:x 然后向上滚动按 shiftk.
只有在完成向上滚动后,您才必须通过按 altx 扩展选择以包括所有完整行。
请参阅 this Github kakoune issue 中的讨论,了解可以添加到您的 kakrc
中的针对此问题的一些出色的脚本解决方案。
其中一个解决方案是 featured on the kakoune wiki:
def -hidden -params 1 extend-line-down %{
exec "<a-:>%arg{1}X"
}
def -hidden -params 1 extend-line-up %{
exec "<a-:><a-;>%arg{1}K<a-x>"
}
map global normal x ":extend-line-down %val{count}<ret>"
map global normal X ":extend-line-up %val{count}<ret>"
那是因为 Kakoune 的 select 离子是定向的。当您 select 带有 x 的行时,光标位于行尾,锚点位于行首。 shiftk表示"extend the selection to the character above",但扩展表示"select to there while keeping the same anchor"并且"character above"是最后一个字符上一行。
简而言之,在向上延伸之前需要切换select离子的方向:x + alt; + shiftk.
在 Vim 中,我会使用 V 进入视觉模式,然后将光标向上移动(使用 k)。
在 kak 中,我可以 select 一条带有 x 的线,我可以通过按 [=16= 向下扩展 selection ]X 多次,或者在按下 shift 和 J 的同时向下移动光标,但如果我在按下时向上移动shift,用 K 我保留 selection,但不是整行, selection 在第一个 selected 行以某种方式跳转到第 0 列。
这并不理想,但在这一点上,我能找到的最好的全行选择是做你所描述的:x 然后向上滚动按 shiftk.
只有在完成向上滚动后,您才必须通过按 altx 扩展选择以包括所有完整行。
请参阅 this Github kakoune issue 中的讨论,了解可以添加到您的 kakrc
中的针对此问题的一些出色的脚本解决方案。
其中一个解决方案是 featured on the kakoune wiki:
def -hidden -params 1 extend-line-down %{
exec "<a-:>%arg{1}X"
}
def -hidden -params 1 extend-line-up %{
exec "<a-:><a-;>%arg{1}K<a-x>"
}
map global normal x ":extend-line-down %val{count}<ret>"
map global normal X ":extend-line-up %val{count}<ret>"
那是因为 Kakoune 的 select 离子是定向的。当您 select 带有 x 的行时,光标位于行尾,锚点位于行首。 shiftk表示"extend the selection to the character above",但扩展表示"select to there while keeping the same anchor"并且"character above"是最后一个字符上一行。
简而言之,在向上延伸之前需要切换select离子的方向:x + alt; + shiftk.