Vim tmux içinde çalışmıyor


14

Ne zaman kullanarak bir dosyayı açmaya vimiçindeki tmuxbütün pencere donar. Pencereyi öldürmek zorundayım C-a &.

İşte ~/.vimrcayarlarım:

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

ve ~/.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'de sorunla karşı karşıyayım. Ancak aynı yapılandırma Mac bilgisayarımda düzgün çalışıyor. Sanırım, RHEL kutum yeniden başlatılıncaya kadar işler iyi çalışıyordu ve vi takas dosyasından bir dosyayı kurtarmaya çalıştım.

Bunu nasıl düzeltebileceğine dair bir fikrin var mı?

sshİçerideki diğer kutuyu denedim tmuxve viorada koştum. Uzak kutuda iyi çalışıyor!


[daha sonra eklendi] @jasonwryan'ın önerisini takiben set -g default-terminal screen-256colorsonuna satır ekledim tmux.conf. Bu programların lessçalışmasını engelledi .

echo $TERM tmux'un iç kısmı "ekran" ve dış tmux "xterm" dir.

$ TERM araması beni ilk satır olarak satırı eklediğim https://wiki.archlinux.org/index.php/Tmux adresine yönlendirdi . Bu, iç tmux'u "screen-256color" yapmıştır. Ama şimdi tmux içinde başladığımda , şu hatayı görüntüler:set -g default-terminal "screen-256color"tmux.conf$TERMvi

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'

Sorunu çözdüğüm anlaşılıyor. Sadece set -g default-terminal xterm~ / .tmux.conf dosyasının ilk satırı olarak eklendi ve işe yaradı!


1
İlişkili olmayabilir, ancak tmux ile doğru set -g default-terminal screen-256color
TERM'yi

3
Sorunuzu tmux içinde ve dışında $ TERM ile güncelleyebilir misiniz?
jasonwryan

1
Tmux dışında 'echo $ TERM' işlemini yürütün. Tmux oturumunun içinde 'echo $ TERM' işlemini yürütün.
George M


1
Kendi cevabınızı yazmalı ve içinde bununla birlikte göndermelisiniz ve sonra kabul etmelisiniz (bunu yapmak tamamen kabul edilebilir).
SekizBitTony

Yanıtlar:


11

Satırı ekleyerek sorunu çözdüm

set -g default-terminal xterm

~ / .tmux.conf benim ilk satırı olarak ve iyi çalıştı.

Ancak @jasonwryan'ın belirttiği gibi, TMUX SSS açık bir şekilde şunları ifade eder:

Görüntü sorunlarının çoğu yanlış TERM! Sorunları bildirmeden önce, TERM ayarlarının tmux içinde ve dışında doğru olduğundan emin olun.

İç tmux TERM "ekran" veya benzeri olmalıdır ("ekran-256 renk" gibi). Dışarıda, terminalinize uymalı ...

Bu cevabı sadece sorunumu çözdüğü için gönderiyorum. lütfen alternatif çözümlerinizi eklemekten çekinmeyin.


2

Aynı problem üzerinde çalışmam gereken eski bir CentOS kutusunda da karşılaştım. Benim için TERM'i tmux'da xterm olarak ayarlamak diğer garip sorunların ortaya çıkmasına neden oldu. Ancak, set mouse=a.vimrc cf https://lists.gnu.org/archive/html/screen-users/2005-04/msg00039.html adresimde yorum yaparak sorunu çözebildim

Görünüşe göre set ttymouse=xterm2.vimrc içine eklemek de hile yapabilir.

Benzer sorunlarla karşılaşan herkes için, neden bir şey olup olmadığını görmek için .vimrc'nizi geçici olarak taşımanızı öneririz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.