Включить мышь для прокрутки только в 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. Там под «Отправить события мыши для:» снимите флажок «Левый клик», «Средний клик», «Правый клик».

Выполнено.


0

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

Например:

vim -c 'set mouse=a'

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

alias vimmy="vim -c 'set mouse=a'"

-1

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

set mouse=a

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


2
Это позволяет другие вещи, кроме прокрутки.
Казарк

3
Более того, это уже упоминалось в вопросе.
Казарк
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.