Все отлично работает за пределами tmux
. Но tmux
я не могу изменить размер Vim Split с помощью мыши. У меня есть set mouse=a
в моем .vimrc. Есть ли решение для этого?
.tmux.conf:
$ cat ~/.tmux.conf
set-option -g mode-mouse on
set-option -g mouse-resize-pane on
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
ttymouse=xterm2
в Vim ? Это позволяет мне перетаскивать Vim- разбиения внутри tmux (кажется, по умолчанию используетсяxterm2
при запуске сTERM=xterm
, что, вероятно, имеет место за пределами tmux ).Ответы:
Оказывается , что перетащив строку состояния , чтобы изменить размер раскола не представляется возможным , когда Вим вариант
ttymouse
являетсяxterm
; это работает, когда значениеxterm2
хотя. Последнее значение настраивает Vim для запроса расширенного режима отчетов мыши, который (помимо прочего) обеспечивает лучшую поддержку перетаскивания. Этот расширенный режим работает только с более новыми версиями xterm (и другими совместимыми эмуляторами терминала, включая tmux ), поэтому он не является значением по умолчанию.Вы можете использовать что-то вроде следующего
.vimrc
для установки опции:(Хотя я не уверен, как это повлияет на фактические экземпляры экрана , которые также используют TERM, начинающийся с
screen
.)Когда вы находитесь за пределами tmux , переменная окружения TERM, вероятно, имеет
xterm
значение -ish, и Vim будет проверять версию xterm , используяt_RV
управляющую последовательность.источник
set
работает переменная ting.ttymouse
значениеsgr
asxterm2
, не выходя за рамки этого. Вы можете проверить , если ваш VIM поддерживаетsgr
сhas("mouse_sgr")
. Он всегда должен быть безопасным для установки,sgr
а неxterm2
потому, что он обратно совместим. Смотрите:help ttymouse
В моем случае это решило оба случая: изменение размера мышки и проблема положения мыши для широкого экрана.
Исправление:
источник