Vimがtmux内で実行されていません


14

私が使用してファイル開こうとするとvim内部のtmuxウィンドウ全体がフリーズし。私は窓を殺す必要がありますC-a &

私の~/.vimrc設定は次のとおりです。

:set autoindent
:set ts=4
:set number
:set shiftwidth=4
:set showmode
:filetype on
:filetype plugin on
:syntax enable
:set mouse=a

そして ~/.tmux.conf

# I like Ctrl-a as the default hotkey
unbind C-b
set-option -g prefix C-a

# Split window using | and -
unbind %
bind | split-window -h
bind - split-window -v

# Set status bar
set -g status-bg black
set -g status-fg white
set -g status-left ‘#[fg=green]#H’

# Highlight active window
set-window-option -g window-status-current-bg red

# Makes window numbering start from 1, instead of 0
set -g base-index 1

RHELで問題に直面しています。しかし、私の設定では同じ設定がうまく機能します。私の推測では、RHELボックスが再起動し、viスワップファイルからファイルを回復しようとするまで、問題なく動作していました。

これを修正する方法についてのアイデアはありますか?

[編集]:私はssh中の別のボックスに移動tmuxして、viそこで実行しようとしました。リモートボックスで正常に動作します!


[後で追加] @jasonwryanの提案に従って、set -g default-terminal screen-256colorの最後に行を追加しましたtmux.conf。これにより、プログラムが機能lessしなくなりました。

echo $TERM tmuxの内部は「screen」で、tmuxの外部は「xterm」です。

$ TERMを検索すると、https://wiki.archlinux.org/index.php/Tmuxに移動し、そこから行set -g default-terminal "screen-256color"を最初の行として追加しましたtmux.conf。これにより、$TERM内部のtmuxが「screen-256color」になりました。しかしvi、tmux を起動すると、次のエラーが表示されます。

E558: Terminal entry not found in terminfo
'screen-256color' not known. Available builtin terminals are:
    builtin_riscos
    builtin_amiga
    builtin_beos-ansi
    builtin_ansi
    builtin_pcansi
    builtin_win32
    builtin_vt320
    builtin_vt52
    builtin_xterm
    builtin_iris-ansi
    builtin_debug
    builtin_dumb
defaulting to 'ansi'

私は問題を解決したようです。set -g default-terminal xterm〜/ .tmux.confの最初の行として追加しただけでうまくいきました!


1
関連していないかもしれませんが、tmuxで正しいTERMを設定する必要がありますset -g default-terminal screen-256color
-jasonwryan

3
tmuxの内外で$ TERMを使用して質問を更新できますか?
-jasonwryan

1
tmuxの外部で、「echo $ TERM」を実行します。tmuxセッション内で、「echo $ TERM」を実行します。
ジョージM

1
tmux TERMをスクリーンデリバティブにのみ設定する必要があります
。FAQを

1
独自の答えを書いて、それをその中に投稿して、それを受け入れてください(そうすることは完全に受け入れられます)。
EightBitTony

回答:


11

行を追加して問題を解決しました

set -g default-terminal xterm

〜/ .tmux.confの最初の行として、正常に機能しました。

しかし、@ jasonwryanが指摘したように、TMUX FAQには次のことが明確に記載されています。

表示の問題のほとんどは、誤ったTERMによるものです!問題を報告する前に、tmuxの内部および外部でTERM設定が正しいことを確認してください。

tmuxのTERMの内部は、「screen」または類似のもの(「screen-256color」など)でなければなりません。外では、端末と一致する必要があります...

実際に問題を解決したので、この回答を投稿するだけです。代替ソリューションを自由に追加してください。


2

作業しなければならなかった古いCentOSのボックスで同じ問題に遭遇しました。私にとって、tmuxでTERMをxtermに設定すると、他の奇妙な問題が発生しました。ただし、set mouse=a.vimrc cf https://lists.gnu.org/archive/html/screen-users/2005-04/msg00039.htmlでコメントアウトすることで修正できました

どうやらset ttymouse=xterm2.vimrcに追加することでもうまくいくかもしれません。

同様の問題に直面している他の人には、一時的に.vimrcを移動して、何かが原因かどうかを確認することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.