Jak uzyskać Ctrl + Lewo / Ctrl + Prawo, aby ponownie przeskoczyć słowo w Byobu?

19

Na moich komputerach Ubuntu 11.10 z systemem byobu 4.37 mogę użyć kombinacji klawiszy Ctrl+ / Ctrl+, aby przeskoczyć słowo w terminalu. Jednak na moich komputerach Ubuntu 12.04 z byobu 5.17 to już nie działa.

Czytałem, że byobu odwzorował te kombinacje klawiszy, aby zmienić rozmiar podziałów, a teraz Alt+ i Alt+ mają pożądany efekt. Nie jestem jednak w stanie znaleźć, gdzie są mapowane Alt+ i Alt+ , aby ponownie przypisać Ctrl+ i Ctrl+ . Jeśli odwzoruję przypisania klawiszy dla Ctrl+ i Ctrl+ , kursor przesunie tylko 1 znak na raz, a nie 1 słowo na raz.

chmac
źródło

Odpowiedzi:

11

Jednym z rozwiązań było przełączenie backendu na ekran. Miałem jednak powtarzające się problemy z ctrl-right, kiedy to robiłem. Aby to zrobić, zmień ~/.byobu/backendna BYOBU_BACKEND=screen.

Następnie znalazłem znacznie lepsze rozwiązanie za pomocą tmux z tego błędu . Utwórz ~/.byobu/.tmux.confz tą wartością:

set-window-option -g xterm-keys on

Następnie ~/.byobu/keybindings.tmuxz:

unbind-key -n C-Left
unbind-key -n C-Right

Teraz Ctrl-Lewo i Ctrl-Prawo przeskakują po jednym słowie w tmuxie.

chmac
źródło
0

W moim ~/.zshrc

bindkey '^[[1;5D' backward-word
bindkey '^[[1;5C' forward-word

... A teraz ctrl+left / rightprzeskocz słowa w byobu / tmux.

yPhil
źródło
To przydatna sztuczka. Myślę, że to działa tylko dla powłok Zsh. Osobiście używam zsh lokalnie, ale bash wszędzie indziej.
chmac
0

Powodem zmiany jest to, że teraz Byobu używa tmuxjako backendu zamiast screen.

CTRL- Lefti CTRL- Rightsą używane tmuxdo nawigacji w oknach, więc musimy powiedzieć, żeby tego tmuxnie robić! Po prostu edytuj ~/.byobu/keybindings.tmuxi dodaj następujące linie na końcu:

unbind-key -n C-Left
unbind-key -n C-Right

Po prostu wyloguj się / zaloguj ponownie i powinieneś zobaczyć zmianę.

* Uwaga, będzie to działać tylko w przypadku xterm, a nie w rzeczywistości ttys. Można zauważyć, że nawet bez użycia byobu, ctrl- lefti ctrl- rightnie zachowuje się zgodnie z oczekiwaniami od A tty. Ubuntu wydaje się ignorować /etc/inputrcpodczas korzystania z ttyjakiegoś powodu.

reverendj1
źródło
2
Próbowałem tego, ale wtedy ctrl-lewy / prawy przesuwa tylko jeden znak na raz, a nie całe słowo.
chmac
Mogę potwierdzić rozwiązanie @ chmac.
jrg
2
dobra odpowiedź, ale bez .tmux.confzmian nie zadziałało
Brenden,