Как сделать так, чтобы vim выделил последний символ визуального выделения?

1103
dpc.pw

Я хочу использовать в _качестве моего терминала курсор (konsole / gnome-терминал).

Однако из-за этого использование визуального выделения блоков в Vim становится проблемой, так как Vim не выделяет символ под курсором как остальную часть выделения. (в то время как этот символ является частью самого выбора визуального блока).

Anyone knows how to force Vim to select the last character of the selection (the character under cursor) as a part of visual selection block?

3

1 ответ на вопрос

3
Ingo Karkat

Vim has certain limitations with the visual display, especially in the terminal. Even if it were possible, you'd probably have to modify Vim's source code for it. Therefore, only some ideas:

  • In a multi-line block selection, the selection end is only obscured in the current line, not the ones above. So, you should still be able to visually parse the entire block as such. (Only exception: visual blocks extending to end-of-lines.) I'd imagine the real issue is with characterwise selections.
  • You can :set selection=exclusive, where the position before the cursor marks the end of the selection. It's a different paradigm, sometimes has differing behavior, but you may prefer that.
  • When you've :set ruler, you'll see the current cursor position and size of the visual selection as numbers in the bottom right corner. This can be helpful to ensure you've selected the right area.
Благодарю. К сожалению, ни один из них не является решением для меня. Я бы предпочел просто сделать патч для Vim, так как я все равно собираю свою собственную версию Vim. Я подожду некоторое время и выясню, есть ли у кого-нибудь лучшее представление о том, как с этим справиться. dpc.pw 11 лет назад 0
Понял. Возможно, имеет смысл поинтересоваться в [списке рассылки vim_dev] (http://www.vim.org/community.php); у них может быть дополнительное понимание, или они могут сказать, насколько трудным будет такое изменение. Ingo Karkat 11 лет назад 0