Включить мышь для прокрутки только в Vim в iTerm (MacOSX)

30

Я хотел бы использовать мышь в Vim только для прокрутки (не для включения других режимов Vim или иного взаимодействия с Vim). Использование :set mouse=a- это операция «все или ничего», это можно изменить? В качестве альтернативы можно сделать так, чтобы iTerm проходил только через события прокрутки и никогда не щелкал / перетаскивал события?

Длинное объяснение: я часто использую Vim в iTerm и не пользуюсь мышью. Тем не менее, инерционная прокрутка с помощью трекпада действительно хороша и является отличным способом просмотра больших файлов. Я могу :set mouse=aи использовать трекпад для прокрутки, и это здорово. Теперь, когда я нажимаю, vim входит в визуальный режим, и iTerm не будет копировать выделенный текст. Я хотел бы сохранить возможность iTerms для выбора и копирования текста.

Я думал о настройке Vim так, чтобы копирование в vim копировало в Mac OS X (используя pbcopy, мне все равно нужно это делать). Это поможет при редактировании локальных файлов, но большую часть времени я буду sshгде-то и редактировать удаленные файлы.

Иона Браун
источник

Ответы:

44

Вы могли бы использовать

:set mouse=nicr

Это работает только с прокруткой мыши, как я тестировал.

Армандо Нето
источник
3
Не совсем то, что мне нужно, так как пока он прокручивается в vim, iTerm не позволяет мне выбирать текст. У меня :set mouse=iтак, что прокрутка работает в режиме вставки и iTerm выбрать в обычном режиме. Достаточно близко, поэтому я отмечаю ответ. Спасибо за идею!
Иона Браун
3
Это похоже на то, чтобы «установить мышь, чтобы быть лучше» для меня.
Казарк
6
@JonahBraun, iTerm будет выделять мышью, :set mouse=nicrесли вы удерживаете кнопку выбора во время выбора. См. Stackoverflow.com/questions/4608161/…
Джон Уитли,
Где ты пишешь :set mouse=nicr?
Нагиб Ихаб
18

Если вы set mouse=a, вы все еще можете использовать Option -click, чтобы сделать выбор в iTerm. Не идеально, но это лучший вариант, который я нашел.

Майк Морарти
источник
3
это настоящий реальный ответ.
Дзен
1

Я не уверен насчет iTerm, но это возможно с Terminal.app.

  • Прокрутка в Terminal.app:

http://ayaz.wordpress.com/2010/10/19/using-mouse-inside-vim-on-terminal-app/ (установите SIMBL и MouseTerm)

  • Только прокрутка:

    1. Перейти к терминалу;
    2. Предпочтение;
    3. Значок «Настройки»;
    4. Вкладка «Клавиатура»
    5. Кнопка "мышь ...";
    6. Там под «Отправить события мыши для:» снимите флажок «Левый клик», «Средний клик», «Правый клик».

Выполнено.

LiL
источник
0

Вы также можете установить параметры vim env из командной строки

Например:

vim -c 'set mouse=a'

Таким образом, альтернативный псевдоним для vim, который делает это автоматически, может быть:

alias vimmy="vim -c 'set mouse=a'"
Дэн Буркхардт
источник
-1

Даже лучше, чем принятый ответ:

set mouse=a

Это позволяет прокручивать, а затем выделение дает вам визуальный блок.

ibash
источник
2
Это позволяет другие вещи, кроме прокрутки.
Казарк
3
Более того, это уже упоминалось в вопросе.
Казарк