Vim и мышь с ssh из Mac в Linux

9

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

Daily vim дает совет о том, как заставить его работать, но если я, например, пытаюсь установить 'mac-ansi', я получаю сообщение об ошибке, в котором я могу указать только значения, начинающиеся со встроенного_ (riscos, beos-ansi и т. Д.). Я пытался использовать ssh -X, в сочетании с set mouse=aи, set term=builtin_ansoнапример, но безуспешно с или без объединения их.

Я использую Snow Leopard и пытаюсь использовать мышь на компьютере Debian с vim 7.1.314. Я посмотрел на документацию, но не могу заставить ее работать. Какие-нибудь советы?

Джонатан Литтке
источник
Совет относительно этого ежедневного сообщения vim совершенно неверен, когда дело доходит до 'term'опции. Очень мало обстоятельств, когда нужно менять эту опцию в Vim вместо того, чтобы терминал устанавливал правильное значение для $ TERM. Комментарий Спектрала прав.
jamessan

Ответы:

15

Я не думаю, что Terminal.app поддерживает отчеты мыши xterm, которые необходимы для работы мыши. Есть несколько вариантов получения терминала с функцией отчетности мыши.

  • iTerm - это альтернативная терминальная программа, поддерживающая отчеты мыши
  • MouseTerm - это хак, чтобы добавить отчеты о мышах в Terminal.app, но я не пробовал и не знаю, насколько хорошо это работает
  • Вы также можете установить X11 и использовать настоящий Xterm

После того, как у вас есть один из них, :set mouse=a(вам также может понадобиться :set term=xterm), и вы должны быть в бизнесе.

Джефф Риди
источник
1
MouseTerm решил проблему. В настоящее время они поддерживают щелчки мыши и события прокрутки. Я только что установил SIMBL + MouseTerm и запустил set mouse = a в Vim на моей удаленной машине, и это сработало.
Джонатан Литтке
1
+1 за: установить мышь = a в vim. При использовании Putty в Windows никакая другая конфигурация не требуется. Я не могу поверить, что я использовал клавиатуру только так долго.
Чизингтон
6

Чтобы использовать Terminal.app с мышью, вам нужно использовать Alt-click вместо click.
Например, в vim set mouse = a затем используйте Alt-click для позиционирования курсора.

Это работает через ssh, хотя и не позволяет изменять размер окон (vim). Вы также теряете возможность вырезать из других окон и вставлять в окно терминала.

dschult
источник
1

У меня нет ответа, но я могу поделиться тем, что узнал за долгие месяцы поиска ответа. Я большой пользователь экрана vim и GNU поверх ssh. По иронии судьбы, я клянусь этими программами, потому что я могу использовать их удаленно без мыши, но я почти отказался от OS X, потому что это не дает мне простой способ использовать их удаленно с помощью мыши.

Во всяком случае, вот что я обнаружил:

  • xterm, работающий под X11.app, может создавать отчеты о событиях мыши и работать по желанию. К сожалению, в xterm отсутствуют многие функции iTerm и Terminal.app. Для простого изменения шрифта в xterm требуется немного черной магии.
  • iTerm может предположительно приспособить желаемую функциональность, но я никогда не заставлял это работать. iTerm также страдал от серьезных проблем с производительностью, когда я перебрался на Terminal.app пару месяцев назад. Обновления экрана происходили медленно, и это занимало бы 25% процессорного времени, просто сидя там, ничего не делая.
  • Я действительно пытался использовать урезанную виртуальную машину Ubuntu, работающую под VMWare, в качестве моего терминального приложения. Я настроил его для загрузки в полноэкранный терминал Gnome с Fluxbox в качестве оконного менеджера. Я отказался от этого решения, потому что оно не очень понравилось с Spaces и накладными расходами на запуск VMWare.

Теперь я просто никогда не отклоняюсь от настоящего Linux-бокса, иногда использую vim через Terminal.app, чтобы быть честным - если я не могу вспомнить нажатия клавиш навигации, я также могу использовать Visual Studio.


источник
0

Помимо ответа Джеффа, вот еще одно возможное решение:

MacVim + NetRW для vim .

MacVim имеет встроенную поддержку мыши, а NetRW - это модуль vim, позволяющий использовать удаленное редактирование vim scp://host/path/to/file. Так что просто запустите MacVim и подключитесь к файлу, отредактируйте его и сохраните его удаленно.

Вы также можете быть немного заинтересованы в настройке GUI, см. Мой связанный вопрос по SO.

Джонатан Литтке
источник