如何在Kakoune上选择多条线向上?

时间:2017-05-27 18:47:52

标签: key-bindings kakoune

在Vim中,我将进入带有 V 的可视模式,然后向上移动光标( k )。

kak中,我可以选择 x 的一行,我可以通过多次按 X 或向下移动光标向下扩展选择用 J shift ,但是如果我在按下 shift 时上升,用 K 我保持选择,但不是整行,第一个选定行的选择以某种方式跳转到第0列。

2 个答案:

答案 0 :(得分:6)

那是因为Kakoune的选择是面向的。当您选择 x 的行时,光标位于行的末尾,锚点位于开头。 shift k 表示"将选择范围扩展到上面的字符",但是扩展均值"选择到那里同时保持相同的锚点#34; "上面的"字符"是前一行的最后一个字符。

简而言之,您需要在向上扩展之前切换选择的方向: x + alt ; + shift < / KBD> ķ

答案 1 :(得分:2)

这不是理想的,但是在这一点上我能找到的最好的全线选择是做你所描述的: x 然后按 shift向上滚动 ķ

只有在完成向上滚动后,您必须通过按 alt x 扩展选择以包括所有完整行。

请参阅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>"