GNU/Linux >> Linux Esercitazione >  >> Linux

Vim non funziona all'interno di Tmux?

Quando provo ad aprire un file usando vim dentro tmux l'intera finestra si blocca. Devo uccidere la finestra con C-a & .

Ecco i miei ~/.vimrc impostazioni:

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

e ~/.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

Sto affrontando il problema in RHEL. Tuttavia la stessa configurazione funziona bene sul mio Mac. Immagino che le cose stessero funzionando bene fino a quando la mia scatola RHEL non è stata riavviata e ho provato a recuperare un file dal file di scambio vi.

Qualche idea su come risolvere questo problema?

[modifica]:ho provato ssh in un'altra casella all'interno di tmux ed eseguendo vi là. Funziona bene in scatola remota!

[aggiunto dopo]
Seguendo il suggerimento di @jasonwryan, ho aggiunto la riga set -g default-terminal screen-256color alla fine di tmux.conf . Ciò ha impedito programmi come less dal lavoro.

echo $TERM all'interno di tmux è "screen" e all'esterno di tmux è "xterm".

La ricerca di $TERM mi ha portato a https://wiki.archlinux.org/index.php/Tmux, da dove ho aggiunto la riga set -g default-terminal "screen-256color" come prima riga di tmux.conf . Questo ha creato il $TERM all'interno di tmux su "screen-256color". Ma ora quando avvio vi all'interno di tmux, viene visualizzato il seguente errore:

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'

Sembra che io abbia risolto il problema. Ho appena aggiunto set -g default-terminal xterm come prima riga del mio ~/.tmux.conf e ha funzionato!

Risposta accettata:

Ho risolto il problema aggiungendo la riga

set -g default-terminal xterm

come prima riga del mio ~/.tmux.conf e ha funzionato bene.

Tuttavia, come ha sottolineato @jasonwryan, le FAQ TMUX affermano chiaramente che:

La maggior parte dei problemi di visualizzazione sono dovuti a TERM errato! Prima di
segnalare problemi assicurati che le impostazioni di TERM siano corrette all'interno e
all'esterno di tmux.

All'interno di tmux TERM deve essere "screen" o simile (come
"screen-256color"). All'esterno, deve corrispondere al tuo terminale...

Pubblico questa risposta solo perché ha effettivamente risolto il mio problema. sentiti libero di aggiungere le tue soluzioni alternative.

Correlati:Esecuzione di un motore sincrono CA con CC?
Linux
  1. Utilizzo di Irssi all'interno di una sessione tmux di Linux

  2. Come avviare un set di programmi all'interno di Tmux o Gnome-terminal all'interno di uno script?

  3. vim:comando non trovato

  4. Centos 7:Configura vim

  5. CronJob non in esecuzione

Come mostrare i numeri di riga in Vim / Vi

^M alla fine di ogni riga in vim

Barra grigia a sinistra in vim?

Servizio MongoDB non in esecuzione in Fedora

Come impostare la scheda su 4 spazi in vim?

Come impostare un file come NON eseguibile?