GNU/Linux >> Znalost Linux >  >> Linux

Vim neběží uvnitř Tmux?

Když se pokusím otevřít soubor pomocí vim uvnitř tmux celé okno zamrzne. Musím zabít okno pomocí C-a & .

Zde jsou mé ~/.vimrc nastavení:

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

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

Čelím problému v RHEL. Stejná konfigurace však na mém Macu funguje dobře. Myslím, že věci fungovaly dobře, dokud se můj box RHEL nerestartoval a pokusil jsem se obnovit soubor z odkládacího souboru vi.

Nějaké nápady, jak to opravit?

[editovat]:Zkoušel jsem ssh do jiného pole v tmux a spuštění vi tam. Funguje dobře ve vzdáleném boxu!

[přidáno později]
Podle návrhu @jasonwryana jsem přidal řádek set -g default-terminal screen-256color na konci tmux.conf . To zabránilo programům jako less z práce.

echo $TERM uvnitř tmux je „screen“ a vně tmux je „xterm“.

Hledání $TERM mě přivedlo na https://wiki.archlinux.org/index.php/Tmux, odkud jsem přidal řádek set -g default-terminal "screen-256color" jako první řádek tmux.conf . Tím vznikl $TERM uvnitř tmux na „screen-256color“. Ale teď, když spustím vi uvnitř tmux zobrazí následující chybu:

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'

Zdá se, že jsem problém vyřešil. Právě přidán set -g default-terminal xterm jako první řádek mého ~/.tmux.conf a fungovalo to!

Přijatá odpověď:

Problém jsem vyřešil přidáním řádku

set -g default-terminal xterm

jako první řádek mého ~/.tmux.conf a fungovalo to dobře.

Jak však poznamenal @jasonwryan, TMUX FAQ jasně uvádí, že:

Většina problémů se zobrazením je způsobena nesprávným TERM! Před
nahlášením problémů se UJISTĚTE, že nastavení TERM je správné uvnitř a
vně tmux.

Uvnitř tmux TERM musí být „screen“ nebo podobný (jako je
„screen-256color“). Venku musí odpovídat vašemu terminálu…

Tuto odpověď posílám pouze proto, že to skutečně vyřešilo můj problém. neváhejte a přidejte svá alternativní řešení.

Související:Běží střídavý synchronní motor se stejnosměrným proudem?
Linux
  1. Náhled technologie:Spuštění kontejneru uvnitř kontejneru

  2. Tmux nevyužívá .tmux.conf?

  3. vim:příkaz nenalezen

  1. Centos 7:Konfigurace vim

  2. tmux Ctrl+B nefunguje

  3. Jak nastavit tabulátor na 4 mezery ve vim?

  1. Použití Irssi v linuxové tmux relaci

  2. .bash_profile není při spuštění Su?

  3. Jak nastavit soubor jako NENÍ spustitelný?