Подтвердить что ты не робот

Как я могу добавить номера vim для выбора мыши в vim?

Итак, я понял, как добавить номера строк в vim (: set no или: set number), но как я могу сделать так, чтобы, когда я использую мышь в эмуляторе терминала для выбора блока строк, также не выбирает числа?

Например, скажем, у меня есть три строки, которые выглядят так в vim:

1    First line
2    Second
3    Third

Если я хочу выбрать три строки с помощью мыши, то я хочу, чтобы она ТОЛЬКО выбирала фактический текст. Но в результате происходит выбор номеров строк, а также всего пространства слева и справа от номеров строк.

Есть ли способ изменить это поведение? Кстати, я использую редактор терминалов gnome в gnome, если это имеет значение.

4b9b3361

Ответ 1

AFAIK, это невозможно.

Единственное, что я могу добавить на данный момент, это то, что вам будет лучше с

:set invnumber

Он будет инвертировать текущее состояние, поэтому вы можете сопоставить его с ключом и переключить его. Таким образом, вам не нужно запоминать две команды.

Ответ 2

Используйте следующее:

:set mouse=a

чтобы включить xterm style mousing во всех режимах. Это позволит вам делать то, что вы хотите. Имейте в виду, если vim удален через ssh, вам понадобится переадресация X11 для выбора, чтобы сделать его в локальном буфере обмена.

Ответ 3

Я согласен с первым ответом. Если вы используете gvim, вы можете поэкспериментировать с использованием set mouse=n и set mouse=a, которые должны изменить поведение выбора номера строки.

Ответ 4

Когда я хочу выбрать текст в терминал, я удаляю номера строк.

:set nonu

Когда я закончил

:set nu

Ответ 5

Я уверен, что это невозможно в терминале-vim. Допустимый стандарт (например, TTY escape) для указания блоков символов, которые не выделяются мышью, насколько я знаю.

Я бы использовал gvim, если вы захотите сделать это любой ценой. Его поведение, как вы описываете.

Ответ 6

Вероятно, вы не на Macintosh, и я не могу сказать, имеете ли вы в виду, что хотите использовать системную копию, а не vim yank.

Но если вы оба эти вещи, вы можете использовать опциональное перетаскивание для выбора текста. Это создает 2d поле над текстом, выбирая вещи, находящиеся под ним. Он должен быть функционально таким же, как "брать столбцы от x1 до x2 строк y1 до y2".

Ответ 7

Моя рекомендация - привыкнуть к маленькому ящику в правом углу экрана, который имеет текущий номер строки и информацию о позиции символа. До того, как я использовал vim, я никогда не мог представить себе жизнь без номеров строк, но с тех пор я перешел за это. Не имея номеров строк, загромождающих экран, вы можете видеть, что номер строки выше текущей активной линии меньше вашего текущего номера строки, а строка ниже - еще одна?

Ответ 8

Копия без мыши:

Войдите в визуальный режим: расположите курсор, нажмите v (для полной строки V) перемещайтесь вверх или вниз до нужной позиции

Нажмите control + c, чтобы скопировать в буфер обмена (если + буфер обмена существует: вывод команды ve) нажмите ESC и вставьте его туда, где вы хотите, с помощью управления + v.

Или нажмите y, чтобы вставить в регистр и нажмите p, чтобы поместить текст после курсора