在Vim中,我将进入带有 V 的可视模式,然后向上移动光标( k )。
在kak中,我可以选择 x 的一行,我可以通过多次按 X 或向下移动光标向下扩展选择用 J 按 shift ,但是如果我在按下 shift 时上升,用 K 我保持选择,但不是整行,第一个选定行的选择以某种方式跳转到第0列。
答案 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>"