Jak sprawić, aby klawisze F działały w Byobu, dla Midnight Commander (MC), Htop itp.?

47

Używam byobu z backendem tmux na moim serwerze 12.04. Chciałbym używać z nim klawiszy skrótu dowódcy północy, ale klawisze F nie działają.

Widziałem tutaj kilka postów na ten temat:

ale są przestarzałe i nie działają na nowsze wersje byobu. Jak mogę to obejść lub użyć MC w sposób, który działa lepiej?

Jorge Castro
źródło
3
To samo dotyczy htopa i innych.
jrg

Odpowiedzi:

73

Możesz łatwo włączać / wyłączać użycie klawiszy F wewnątrz Byobu (tmux), naciskając:

  • shift- F12(w tmux)

  • ctrl- a- !(na ekranie)

Pełne ujawnienie: jestem autorem i opiekunem Byobu.

Dustin Kirkland
źródło
1
Rozumiem, dodaj source $BYOBU_PREFIX/share/byobu/keybindings/f-keys.tmux.disabledo .byobu / keybindings.tmux na końcu
Pykler
3
nie działa: P którekolwiek z tych klawiszy
QkiZ
2
Dustin, chociaż działa to dobrze w przypadku większości klawiszy, Shift-Fx wydaje się być całkowicie ignorowany przez mc podczas uruchamiania w Byobu (z Tmux tutaj). Rozumiem to dla Shift-F12 (z oczywistych powodów) - ale czego mi brakuje na przykład dla Shift-F3 lub Shift-F4 (których często potrzebuję)?
Izzy
2
@Dustin: fajnie byłoby dodać te skróty również w dokumentacji shift-F1! Szukałem tego przez chwilę! Dzięki!
Andrea Borga,
2
Możesz także użyć byobu-keybindingspolecenia równoważnego z tymi kombinacjami klawiszy.
Lew
11

O północy dowódca, aby uruchomić na przykład F2klucz:

  • Naciśnij Alt+ 2(jednocześnie)
  • Naciśnij ESC, 2(jeden po drugim).

Co jest wygodniejsze niż przełączanie za pomocą:

  • Shift+ F12(w tmux, domyślnie na byobu)

  • Ctrl+ A+ !(na ekranie)

zabiera
źródło
Jest to przydatne głównie, gdy używasz MC wewnątrz byobu w Mac OS X, ponieważ niektóre klawisze F są już używane przez system. Uważam siebie za pomocą ESC, 9dość często.
gerlos
1
Jest jakiś sposób, aby rozszerzyć to na Shift-Fx? Nawet przy wyłączonych skrótach klawiszowych Byobu, Shift-Fx wydaje się być „ślepy” (nie działa). Próbowałem Esc - Shift-4, bez efektu.
Izzy
3

Hah, człowiek po moim sercu :)

Krótka odpowiedź: dodaj mój ppa ( ppa:izx/private) i updatebyobu (lub ręcznie zainstaluj deb). Byobu domyślnie screenprzyjmuje jako backend z Fzachowaniem -key przywróconym do starego stylu 4.x.

Długa odpowiedź: Użyj byobu-select-backend, aby przełączyć się screenjeśli jeszcze go nie masz, i dodać wiersz $BYOBU_PREFIX/share/byobu/keybindings/f-keys.screen.disablepo wierszu $BYOBU_PREFIX/share/byobu/keybindings/f-keys.screenw /usr/share/byobu/keybindings/common.

Cała łatka:

+++ byobu-5.17 / usr / share / byobu / keybindings / common
@@ -1 +1,3 @@
 źródło $ BYOBU_PREFIX / share / byobu / keybindings / f-keys.screen
+ źródło $ BYOBU_PREFIX / share / byobu / keybindings / f-keys.screen.disable
+
--- byobu-5.17.orig / etc / byobu / backend
+++ byobu-5.17 / etc / byobu / backend
@@ -1,4 +1,4 @@
 # BYOBU_BACKEND może obecnie być „screen” lub „tmux”
 # Zastąp to dla poszczególnych użytkowników, edytując „$ BYOBU_CONFIG_DIR / backend”
 # lub uruchamiając „byobu-screen” lub „byobu-tmux” zamiast „byobu”.
- # BYOBU_BACKEND = "tmux"
+ BYOBU_BACKEND = „ekran”
ish
źródło
Ale co, jeśli chcielibyśmy zachować to dzięki Tmuxowi?
jrg
@jrg: Przepraszam, nie znam się tak dobrze na tmuxie - wypróbowałem nowy byobu, ale po tym teraz naprawionym błędzie wróciłem do backendu ekranu, ponieważ jestem do tego przyzwyczajony i zadowolony z niego, niezależnie od jego ograniczeń .
ish