Как выбрать несколько линий, идущих вверх на Какуне?

В Vim я бы входил в визуальный режим с помощью V, а затем просто перемещал курсор вверх (с помощью k).

В kak я могу выбрать строку с помощью x, и я могу расширить выделение вниз, нажимая X несколько раз или перемещая курсор вниз, все еще нажимая Shift с J, но если я поднимусь, продолжая нажимать Shift, с K я сохраню выделение, но не для всей строки, выделение на первой выделенной строке каким-то образом переходит к столбцу 0.

2 ответа

Решение

Это не идеально, но на данный момент лучшее, что я могу найти, чтобы сделать выделение на всю строку, это сделать то, что вы описали: x, а затем прокрутить вверх, нажав shiftk.

Только после того, как вы закончите прокрутку вверх, вы должны расширить выделение, чтобы включить все полные строки, нажав altx.

См. Обсуждение в этой проблеме Github kakoune для некоторых отличных сценариев решения этой проблемы, которые вы можете добавить в свой kakrc,

Одно из этих решений представлено на вики-сайте kakoune:

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>"

Это потому, что выборы Какуне ориентированы. Когда вы выбираете строку с помощью x, курсор находится в конце строки, а привязка - в начале. shiftk означает "расширить выделение до указанного выше символа", но означает "select to there с сохранением той же привязки", а "вышеуказанный символ" является последним символом предыдущей строки.

Короче говоря, вам нужно изменить направление выделения перед расширением вверх: x + alt; + сдвигк.

Другие вопросы по тегам