Прокрутка внутри Vim в терминале Mac


89

Я искал в Google, пытаясь выяснить, можно ли использовать колесо мыши для прокрутки внутри Vim в терминале Mac, но безуспешно. Кажется, что это поддерживают только X11 или iTerm.

Прежде чем сдаться, я подумал, что попробую здесь гениев посмотреть, знает ли кто-нибудь способ сделать это. Итак, кто-нибудь знает, могу ли я это настроить?

Или мне стоит серьезно подумать об использовании другого терминального приложения?


Можно ли это сделать на других платформах или в терминальных редакторах? Если бы существовала реализация VI на основе X, я думаю, она могла бы это поддерживать, но разве вы не предпочли бы иметь поддержку мыши с прокруткой для управления буфером прокрутки?
benc

В терминале Ubuntu вы можете прокручивать, поэтому я спрашивал, я хотел узнать, могу ли я иметь такую ​​же функциональность на моем Mac.
hora

1
@hora - можно, просто используйте iterm. Вы также получаете 256 цветов, разумное копирование и вставку и т. Д.
Робинс

Ответы:


68

http://bitheap.org/mouseterm/

Используйте MouseTerm (и обязательно сначала установите SIMBL!), И прокрутка будет работать как шарм, даже удаленно, с использованием Mac Terminal.

Вам необходимо полностью закрыть приложение Терминал (Command + Q), а затем снова запустить его после установки MouseTerm.


2
Вау, это именно то, что я искал. Между тем я привык НЕ пользоваться мышью, но это все равно полезно.
hora

8
Для орехов vim добавление a set mouse=aв ваш .vimrc работает как шарм с MouseTerm
Панайотис Мустафеллос

5
Если вы ищете SIMBL и пытаетесь заставить его работать на Lion, попробуйте EasySIMBL: github.com/norio-nomura/EasySIMBL/downloads
Zachary Murray

2
может подтвердить, что EasySIMBL + MouseTerm также работает на Mavericks
jcr

2
Последние выпуски EasySIMBL уже здесь (сейчас 1.6): github.com/norio-nomura/EasySIMBL/releases
Натаниэль Хайнрихс

99

И если вы используете iTerm, добавьте это в свой vimrc

:set mouse=a

6
Также работает для терминального приложения OSX по умолчанию.
Ian

24

Это старый вопрос, но он пользуется популярностью в Google, поэтому я вынужден дать обновленный ответ.

Запуск OSX El Capitan 10.11, vim-мышь и прокрутка трекпада просто работали (TM) для меня в Terminal.app по умолчанию. Однако иногда ввод мыши / трекпада прекращал манипулировать буфером vim и начинал прокручивать буфер терминала. Ответ был Command+Rили Меню Просмотр -> Разрешить сообщение с мышью. Включение этого параметра позволяет операциям прокрутки мыши / трекпада перемещать курсор в vim.


Привет, я понял, что ошибочно пытался один раз нажать Command + R вместо Control + R для получения последних команд! Наверное, это то, что меня достало. Благодарность!
Тедди

6
  • Termanal Menu> View> Allow Mouse Reporting
  • Меню терминала> Настройки> Клавиатура> Прокрутить альтернативный экран

4

Вы можете прочитать эту статью , но я почти уверен, что, поскольку терминал по умолчанию в Mac OS X имеет встроенную полосу прокрутки, команды колеса мыши автоматически переходят к ней. Вы определенно можете использовать gVim, как предлагалось в предыдущем ответе. Я обнаружил, что обычно не хочу использовать мышь в Vim, поскольку это убирает мои руки с клавиатуры.

Я просто 50jспускаюсь и 50kподнимаюсь. Не совсем скроллинг, но работает неплохо.


Спасибо, это не совсем прокрутка, но я думаю, что так лучше, так как мои руки всегда находятся на клавиатуре.
hora

@hora - Да, прокрутка определенно была бы хороша, но, к сожалению, я не думаю, что это выполнимо.
Topher Fangio

13
Или используйте CTRL + f и CTRL + b для перемещения вперед и назад на один экран за раз. Или CTRL + d и CTRL + u для перемещения вверх и вниз на половину экрана.
Дэн Дайер

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

@thrope - Совершенно верно, на самом деле я использую это довольно часто. vдля визуального режима, а затем выделите нужный текст. Однако обычно мне нужна целая строка или набор строк, поэтому, чтобы избежать проблем с вставкой новой строки, я обычно просто считаю строки и ddудаляю их. Иногда немного медленнее, но это то, к чему я привык.
Topher Fangio


2

Убедитесь, что терминал xtermне ansiвключен Terminal Menu > Preferences > Profiles > Advanced. Я случайно сломал прокрутку, изменив тип термина в наивной попытке заставить раскраску работать по ssh.


1

Используйте gVim, который дает вам среду редактирования текста в окне, которое вы можете прокручивать. Терминал не задействован при использовании gVim.


2
Не совсем актуально - он мог получить доступ к vim на другом компьютере (через ssh) - В любом случае, на Mac, macvim является предпочтительной графической версией code.google.com/p/macvim
robince

1

Я использую xterm в X11 (XQuartz 2.3.4), и vim отлично работает с мышью, а также поддерживает 256 цветов.

Вот ~ / .Xresources, которые я использую, чтобы сделать мой xterm лучше в X11:

XTerm*faceName: Lucida Sans Typewriter Regular
XTerm*faceSize: 9
XTerm*utf8: 1

xterm*saveLines: 1000
xterm*jumpScroll: true
!xterm*awaitInput: true
!xterm*multiScroll: true

XTerm*scrollBar: false
xterm*scrollbar*thickness: 16
xterm*rightScrollBar: true

XTerm*foreground: white
XTerm*background: grey10
!XTerm*background: black
XTerm*cursorColor: yellow

xterm*visualBell: false

xterm*loginShell: true

Маленькие подсказки, чтобы убрать звук звонка в xterm X11, введите эту команду:

xset b 0

Я пробовал xterm, не большой поклонник, хотя не знаю почему, в этом есть что-то, что меня отталкивает. Может, я сделаю еще один шанс.
hora

Единственное, что меняется - это копирование и вставка. Вставка выполняется средним щелчком мыши (или Alt + щелчок), а копирование выполняется простым выделением текста. Конечно, в vim вам придется отключить мышь, чтобы иметь возможность копировать что-то за пределами X11 или вставлять что-то извне X11 или vim, переопределяя поведение мыши X11.
XPac27

1

Я бы рекомендовал использовать iTerm - у него так много преимуществ по сравнению с терминалом, например, поддержка мыши, 256 цветов, разумное копирование и вставка (автоматическое копирование, выбор слова / URL-адреса двойным щелчком, вставка среднего щелчка) ...


Есть ли в iTerm встроенные цветовые схемы? Как мне изменить цвета, кажется, не могу понять ... Диалог «показать информацию о сеансе», похоже, не позволяет мне сохранять разные профили.
hora

Да, настройка конфигурации немного забавная ... Перейдите в Закладки -> Управление профилями -> Профили отображения, и вы можете настроить цвета. Затем вы переходите в Закладки -> Управление закладками и устанавливаете по умолчанию или в зависимости от того, какой вы хотите использовать профиль отображения, который вы хотите.
robince

Я не могу даже Option + Стрелка влево, чтобы вернуться на слово за раз в iTerm. Вы издеваетесь надо мной прямо сейчас?
IIllIIll

-1

При использовании iTerm создайте файл .vimrc (если он еще не существует) в своей домашней папке и добавьте строку:

:set mouse=a

Прокрутка вниз в vim для просмотра файла работает после этого.


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