【问题标题】:starting tmux from within vim chooses wrong terminal-emulator从 vim 中启动 tmux 选择了错误的终端仿真器
【发布时间】:2015-10-13 21:29:05
【问题描述】:

我正在使用 vim-r-plugin 在 vi​​m 和 gvim 中编辑 r 文件。启动 gvim,打开一个 R 文件,然后调用 \rf 将启动一个终端模拟器,在这个终端模拟器中启动一个 tmux-session,在这个 tmux-session 中启动一个新的 r-session。

我系统上终端模拟器的可能选择是:

% sudo update-alternatives --config x-terminal-emulator
Es gibt 5 Auswahlmöglichkeiten für die Alternative x-terminal-emulator (welche /usr/bin/x-terminal-emulator bereitstellen).

  Auswahl      Pfad                 Priorität Status
------------------------------------------------------------
  0            /usr/bin/lxterminal   40        automatischer Modus
  1            /usr/bin/koi8rxterm   20        manueller Modus
  2            /usr/bin/lxterm       30        manueller Modus
  3            /usr/bin/lxterminal   40        manueller Modus
* 4            /usr/bin/uxterm       20        manueller Modus
  5            /usr/bin/xterm        20        manueller Modus

Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten, 
oder geben Sie die Auswahlnummer ein: 
% 

如您所见,我的默认终端设置为 uxterm。然而,vim-r-plugin 会启动一个lxterminal。似乎 vim-r-plugin 尊重比用户手动选择更高的优先级值。

如何让 vim-r-plugin 使用 uxterm 代替?

【问题讨论】:

    标签: r vim tmux vim-plugin terminal-emulator


    【解决方案1】:

    您应该能够在您的 ~/.tmux.conf 中显式设置 tmux 选择的 $TERM

    set -g default-terminal "uxterm"
    

    【讨论】:

    • 这个字符串不是应该是“screen”还是“screen-256color”(参见 tmux 的手册页)。无论如何,我尝试了你的想法并在结果中收到错误消息。我可能错了,但我不认为变量“default-terminal”在这里指的是术语模拟器,而是指字符在终端中的编码和表示方式。
    • 设置default-terminal 确实改变了我的TERM。必须停止所有 tmux 实例才能生效。但是,你是对的,“uxterm”给出了一个错误。我想你必须做一个 infocmp 和 tic 来创建它,但它仍然可能无法解决你的问题。我确实在r-plugin.txt 帮助中看到您可以设置let vimrplugin_term = "uxterm"。你试过在~/.vimrc中设置吗?
    • 现在我想知道为什么我没有找到这部分文档。我工作。
    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 2015-11-10
    • 2011-08-29
    • 2019-01-06
    • 2020-01-03
    • 2016-08-08
    • 1970-01-01
    • 2013-11-25
    相关资源
    最近更新 更多