GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Vim läuft nicht in Tmux?

Wenn ich versuche, eine Datei mit vim zu öffnen innerhalb von tmux das ganze Fenster friert ein. Ich muss das Fenster mit C-a & killen .

Hier sind meine ~/.vimrc Einstellungen:

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

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

Ich stehe vor dem Problem in RHEL. Die gleiche Konfiguration funktioniert jedoch auf meinem Mac einwandfrei. Ich schätze, die Dinge funktionierten gut, bis meine RHEL-Box neu gestartet wurde und ich versuchte, eine Datei aus der vi-Auslagerungsdatei wiederherzustellen.

Irgendwelche Ideen, wie man das beheben kann?

[Bearbeiten]:Ich habe es mit ssh versucht zu einem anderen Feld in tmux und Ausführen von vi dort. Funktioniert gut in der Remote-Box !

[später hinzugefügt]
Dem Vorschlag von @jasonwryan folgend, habe ich die Zeile set -g default-terminal screen-256color hinzugefügt am Ende von tmux.conf . Das verhinderte Programme wie less von der Arbeit.

echo $TERM innerhalb von tmux ist „screen“ und außerhalb von tmux „xterm“.

Die Suche nach $TERM führte mich zu https://wiki.archlinux.org/index.php/Tmux, wo ich die Zeile set -g default-terminal "screen-256color" hinzufügte als erste Zeile von tmux.conf . Dadurch wurde $TERM erstellt innerhalb von tmux zu „screen-256color“. Aber jetzt, wenn ich vi starte Innerhalb von tmux wird der folgende Fehler angezeigt:

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'

Sieht so aus, als hätte ich das Problem gelöst. Habe gerade set -g default-terminal xterm hinzugefügt als erste Zeile meiner ~/.tmux.conf und es hat funktioniert !

Akzeptierte Antwort:

Ich habe das Problem gelöst, indem ich die Zeile

hinzugefügt habe
set -g default-terminal xterm

als erste Zeile meiner ~/.tmux.conf und es hat gut funktioniert.

Wie @jasonwryan jedoch betont hat, heißt es in den häufig gestellten Fragen zu TMUX eindeutig:

Die meisten Darstellungsprobleme sind auf falsche BEGRIFFE zurückzuführen! Bevor
Probleme gemeldet werden, stellen Sie sicher, dass die TERM-Einstellungen innerhalb und
außerhalb von tmux korrekt sind.

Innerhalb von tmux muss TERM „screen“ oder ähnlich sein (z. B.
„screen-256color“). Draußen muss es zu Ihrem Endgerät passen …

Ich poste diese Antwort nur, da sie mein Problem tatsächlich gelöst hat. Bitte zögern Sie nicht, Ihre alternativen Lösungen hinzuzufügen.

Verwandte:AC-Synchronmotor mit DC betreiben?
Linux
  1. Verwenden von Irssi in einer Linux-tmux-Sitzung

  2. .bash_profile nicht bezogen, wenn Su ausgeführt wird?

  3. Wie starte ich eine Reihe von Programmen in Tmux oder Gnome-Terminal innerhalb eines Skripts?

  4. MongoDB-Dienst läuft nicht in Fedora

  5. CronJob läuft nicht

So zeigen Sie Zeilennummern in Vim / Vi an

Festlegen der Vim-Hintergrundfarben

^M am Ende jeder Zeile in vim

Grauer Balken links in vim?

tmux Strg+B funktioniert nicht

Wie setze ich eine Datei als NICHT ausführbar?