Где бы я ни говорил vim, я имею в виду vim внутри tmux.
Текущий сценарий: У меня естьмышь отключена в vimrc и включена в tmux.conf. Мышь прокручивает внутри vim, используйте tmux-mouse для прокрутки и таким образом прокручивайте историю.
Дело 1
Если я также отключу мышь в tmux (vim=off, tmux=off), то прокрутка приведет к перемещению курсора (позиционированию курсора) в vim в tmux.
Случай-2
Если я включу мышь в vim (vim=on, tmux=on), то у меня возникнут проблемы с копированием, чего я не хочу. Поэтому мое требование — отключить мышь в vim.
Цель — использовать прокрутку только в tmux, в то время как в vim прокрутка должна перемещать курсор (который как бы прокручивается, когда курсор достигает края страницы, что является настройкой по умолчанию).
Мой вопрос заключается в том, есть ли способ настроить поведение так, чтобы отключить прокрутку мыши в vim (чтобы работало поведение по умолчанию, т. е. прокрутка перемещала курсор), когда я вхожу в vim в tmux, только на той панели, где находится vim, и включить ее снова, когда я выхожу из vim.
Проще говоря, сохранение tmux=on, vim=off отключает эффекты tmux=on в vim, и, таким образом, прокрутка приводит к позиционированию курсора.
решение1
Я использовал этот плагин:tmux-лучший-режим-мышии включил этот флаг в .tmux.conf
:
set -g @emulate-scroll-for-no-mouse-alternate-buffer "on"
Это сработало именно так, как мне было нужно.
решение2
Этот вопрос сформулирован очень неудачно.
Неясно, хотите ли вы, чтобы мышь работала в vim или нет.
Если вы это сделаете, вам просто нужно настроить vim, чтобы включить его. Если вы это сделаете, то tmux будет отправлять события мыши на панели, на которой запущен vim, в vim, а не обрабатывать их самостоятельно.
Если вы не хотите, чтобы мышь работала в vim, достаточно отключить ее в vim. Это значит, что vim не будет запрашивать мышь у tmux, и поэтому tmux не будет отправлять события мыши на панель.