Próbuję dowiedzieć się, jak dostać się vim
i tmux
grać razem.
Mój problem brzmi: kiedy używam, xterm-256color
mogę vim
ładnie pracować, ale tło nie renderuje się poprawnie.
Naprawiłem to za pomocą screen-256color
. Wygląda to ładnie, ale psuje Ctrl + arrow keys
(przechodzą w tryb wstawiania i usuwają 4 linie). Chcę użyć tych mapowań zamiast do przełączania kart vim
.
Jak mogę to uruchomić?
vim
keyboard-shortcuts
tmux
przechytrzyć
źródło
źródło
Istnieje kilka poziomów konfiguracji, które należy poprawnie skonfigurować, aby uzyskać najlepszą funkcjonalność.
xterm-256color
.). Wpis w bazie terminfo zidentyfikowane przez zmienną środowiskową TERM mówi tmux jak rozpoznawać sekwencje zmodyfikowany klawiszy strzałek (funkcje zdefiniowane przez użytkownika {kUP
,kDN
,kRIT
,kLFT
} {,3
..7
}).Skonfiguruj tmux, aby wygenerował sekwencje. Ustaw
xterm-keys
opcję sesjion
tak, aby tmux wygenerował własną sekwencję w stylu xterm, gdy otrzyma sekwencję, którą identyfikuje jej TERM. W twoim~/.tmux.conf
:screen
opartego na TERM wewnątrz Tmuxa (npscreen-256color
.). To mówi programom działającym w tmuxie, jak kontrolować terminalną (re) emulację terminala tmux i jakie odpowiedzi powinny oczekiwać od tmux .Niestety,
screen
oparte na bazach danych wpisy terminfo często nie definiują żadnych sekwencji dla zmodyfikowanych klawiszy strzałek (tzn. Mogą ich nie miećkUP
itd.), Więc programy działające w tmux mogą nie wiedzieć, że mogą oczekiwać takich sekwencji. Konieczne będzie ręczne skonfigurowanie programów, które mają rozpoznać te klucze. W Vimie możesz umieścić to w~/.vimrc
:Możesz użyć wariantów bez
x
(tj.<Up>
Zamiast<xUp>
, itd.), Jeśli okaże się, że użycie opcjix
-variant powoduje, że normalne klawisze strzałek przestają działać.Zaletą takiego zdefiniowania klawiszy jest to, że nie trzeba mapować każdej kombinacji modyfikatora osobno (Shift, Control, Contol + Shift, Meta, Meta + Shift, Meta + Control, Meta + Control + Shift);
*
dostaje szczególną interpretację do obsługi wszystkich powiązanych sekwencji (patrz:help xterm-modifier-keys
).Następnie możesz zmapować klucze zamiast ich zakodowanych sekwencji:
źródło
Jak wyjaśniono tutaj , wyłącz wymazywanie koloru tła (BCE), usuwając
t_ut
opcję terminala (uruchom:set t_ut=
w Vimie, a następnie naciśnij Control+, Laby odświeżyć wyświetlacz terminala), aby schematy kolorów działały poprawnie, gdy Vim jest używany na ekranie tmux i GNU.W ten sposób możesz zachować swoją
TERM
wartość jak wxterm-256color
przypadku prawidłowego wykrywania klucza, a także uzyskać prawidłowe renderowanie schematu kolorów Vima! :-)źródło
Czy ustawienie
set t_Co=256
w ~ / .vimrc w ogóle pomaga? Jest to tylko ustawienie kolorów, ale może pomóc rozwiązać niektóre problemy.Możesz również ponownie mapować
ctrl+Arrow
klucze w ~ / .vimrc ...Edycja: czy próbowałeś
ctrl+Arrow
podczas sesji ekranowej GNU? Myślę, że to może być twój problem.źródło