Я бы хотел, чтобы опция в файле конфигурации tmux была активирована, только если vim не работает в текущей панели / окне. В частности, строка выглядит следующим образом:
bind-key -n MouseDown2Pane run "tmux set-buffer \"$(xclip -o -sel primary)\"; tmux paste-buffer"
, что позволяет мне использовать средний щелчок для вставки непосредственно из основного буфера обмена в tmux. Он отлично работает, единственная проблема в том, что он имеет странное поведение внутри vim (вставка в неправильном месте, странный пропуск строк ...). Если я закомментирую эту строку, вставка с помощью среднего щелчка в vim работает, как ожидается, но я теряю функциональность вставки в tmux, очевидно.
Итак, мой вопрос: как заставить tmux применять эту привязку ТОЛЬКО, если vim не работает?
Проведя некоторые исследования, я нашел следующий подход, который выглядит многообещающим, но я не могу заставить его работать.
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
if-shell "$is_vim" {command here}
Редактировать: В качестве альтернативы, я также был бы рад иметь команду "tmux set-buffer \"$(xclip -o -sel primary)\"; tmux paste-buffer"
для правильной работы при вставке в vim. Но это по какой-то причине выглядит более сложной задачей.