Bildschirm geht mit Ctrl+ A. tmux verwendet dagegen - wie in screen entwickelt - Ctrl+ B. Beide Tastenanschläge werden jedoch auch in Editoren, Shells usw. verwendet. Wenn Sie also eine der beiden Tasten auswählen, werden die Benutzerfreundlichkeit und die Funktionalität dieser Tools in tmux oder screen beeinträchtigt.
Welches Präfix kollidiert am wenigsten mit den Tastenkombinationen anderer Programme und Shells?
gnu-screen
hotkeys
tmux
Scott
quelle
quelle
~/.tmux.conf
Vergessen Sie nach der Änderung nicht, den tmux-Server neu zu starten, damit die Änderungen wirksam werden ( superuser.com/q/188491/105108 ).Antworten:
Ich denke,
^\
(aka^|
) ist am besten, wenn es in einer günstigen Position auf Ihrem Tastaturlayout ist. Seine Verwendung in anderen Programmen ist sehr selten:SIGQUIT
an einen Prozess^C
abgefangen wirdtoggle-input-method
in EmacsIch kenne keine anderen Verwendungen. Achten Sie darauf, dass Sie nicht versehentlich Prozesse außerhalb
tmux
oderscreen
nach der Gewöhnung abbrechen. Es ist mir allerdings nur einmal in ein paar Jahren passiert.~/.tmux.conf
~/.screenrc
quelle
C-`. Can I escape the
sich irgendwie über die Verwendung von `character?'C-\'
mitzuteilen , sollten Sie in der tmux-Konfiguration anstelle von `C- \` schreiben.Für Leute, die backtick als Flucht in tmux verwenden möchten, sollten Sie Folgendes hinzufügen:
Letzteres ist wichtig, sonst kann man kein Backtick für andere Zwecke eingeben :-)
quelle
$()
Muscheln zu verwenden. Auch wird es zu einem Schmerz, wenn Sie anfangen, viel Markdown zu schreiben. Ich benutze es seit einigen Jahren, aber leider muss ich es jetzt ändern.bind-key C-a set-option -g prefix C-a
. Wann immer ich Backticks verwenden muss, drücke ich, um`-Ctrl-a
mein Präfix auf zu setzenC-a
. Und ich habe ,bind-key C-b set-option -g prefix `
so kann ich schlagenC-a-C-b
zurück zu gehenEs ist auch bekannt, dass Strg + A Probleme mit Emacs verursacht, einschließlich Bash im Emacs-Modus. Es hört sich so an, als wäre dies kein Problem für Sie.
Strg + O ist die andere Option, die ich gesehen habe. Anscheinend ist dies die Standardeinstellung in RatPoison (dies ist ein X-Fenstermanager, der keine Maus benötigt). Ich habe Strg + O verwendet, wenn ich verschachtelte Bildschirme verwende: Strg + O für den äußeren und Strg + A für den inneren. Hat gut funktioniert, aber irgendwie hat es meinen Kollegen Angst gemacht. :-)
Ich habe nur darüber nachgedacht, und wenn Sie vi anstelle von Emacs verwenden, gibt es ein paar Alternativen. Strg + G wird zum Beispiel nicht oft verwendet.
quelle
set -g prefix2 C-j; bind-key C-j send-prefix -2
C-j
Konflikte mit CtrlP. Auf- und Abbewegung der Pufferliste verwendetC-k
undC-j
jeweilsIch habe
CAPS-LOCK
global zugeordnetESC
. Dann benutze ichM-Space
(dh.CAPS-LOCK
+Space
) Für mein Präfix.quelle
CAPS-LOCK
tmux halte (überlege, was ich als nächstes befehle oder so) - oder iTerm, nicht sicher, was dies verursacht -, wird derESC
Befehl wiederholt empfangen, was dazu führt, dassM-Space
er dann nicht funktioniert. Gibt es eine Möglichkeit, dieses sich wiederholende Schlüsselproblem zu deaktivieren? Zum Beispiel funktioniert es, wenn ich schnell drückeCAPS-LOCK + Space
, aber nicht, wenn ichCAPS-LOCK
eine Sekunde lang gedrückt halte und dann drückeSpace
, wird derM-Space
Akkord nicht registriert ...Ich benutze ein komplexes System für den Bildschirm. Mein Standard-Escape ist auf \ 140 \ 140 gesetzt, was ein Backtick ist. Die Strg-A-Taste erschwert sowohl die Bearbeitung von Emacs als auch der Befehlszeile in Zsh und ich mag Strg-O nicht (2-Hand-Operationen für die meisten Bildschirmaktionen).
Ich binde 's' erneut an Bildschirm 1, sodass neue Sitzungen von links nach rechts auf der Tastatur ab 1 erstellt werden. Dies ermöglicht mir, Bildschirm 0 für das zu reservieren, was ich als persistent oder Referenzfenster betrachte. Es ist eine sehr schnelle einhändige Geste, mit der Sie zwischen (Backtick) 1, (Backtick) 2, (Backtick) 3 zwischen Fenstern wechseln können.
Das Problem bei der Verwendung von Backtick in einer Unix-Umgebung ist der Versuch, Shell- / Perl-Skriptcode auszuschneiden und einzufügen. Aus diesem Grund drücke ich die Taste F11 / F12, um zwischen meinen Escape-Zeichen zu wechseln.
Dadurch wird die Escape-Taste bei Ausschneiden und Einfügen auf Strg-O umgestellt. Ich habe festgestellt, dass das Schlagen eines doppelten Ticks einfach ist und für die meisten Bildschirmoperationen ein guter Kompromiss ist.
Wiederholen Sie diese Antwort mit einer neueren Lösung, mit der Sie den Modus umschalten können, indem Sie F12 drücken und eine Beschriftung zum Anzeigen des Modus verwenden.
quelle
Ich benutze
Ctrl-Q
intmux
und es hat bisher gut funktioniert. Ich muss jedoch erwähnen, dass dies im Widerspruch zur Shell-Flusssteuerung steht. StandardmäßigCtrl-Q
wird verwendet, um die Ausgabe nach dem Stoppen mit wieder zu aktivierenCtrl-S
. NachdemCtrl-S
ich einige Male nach einem versehentlichen Schlag von einer stecken gebliebenen Muschel überrascht worden war , habe ich gelernt, nicht zu drückenCtrl-S
.(Man kann die Flusskontrolle auch ganz mit ausschalten
stty -ixon
oder verschiedene Schlüssel anstty start
und bindenstty stop
.)quelle
quote-inserted
. Anwendungsbeispiel (in Emacs): Wenn ich nach dem nächsten Tabulatorzeichen suchen möchte -<Ctrl-s>+<Ctrl-q>+<TAB>
Ich reserviere gerne
^Space
für sehr spezielle / häufige Operationen, da ich finde, dass es das am einfachsten zu tippende Präfix ist, aber ich versuche es gerade alsprefix
in tmux abgebildet .Sie haben die Finger frei, um sofort zu dem Befehl zu springen, den Sie eingeben möchten. Versuche es.
quelle
set -g prefix2 C-j; bind-key C-j send-prefix -2
Ein verspäteter Vorschlag:
ctrl-s
.ctrl-s
hat eine Reihe von Vorteilen:ctrl-a
(in der Tat werden bei den meisten Schreibmaschinen dieselben zwei Finger verwendet wie bei ihnenctrl-a
), so dass das Umschalten des Muskelgedächtnisses vonctrl-a
aufctrl-s
trivial ist - für mich wurde es innerhalb von etwa einer Stunde nach dem ersten Versuch zur zweiten Natur.ctrl-a
emacs-artige Operationen "Zurück zum Zeilenanfang" oder vim-artige Operationen "Inkrementieren von Zahlen". Oder wie wäre es, wenn Sie den Bildschirm in einem tmux-Fenster ausführen, ohne sich Gedanken darüber machen zu müssen, ob Präfixzeichen zur Steuerung der eingebetteten Bildschirminstanz fehlen. (Ich verwende dazu häufig einen lokalen tmux mit Bereichen, die ssh-Sitzungen zu Remote-Servern enthalten, auf denen ich screen ausführe.)Natürlich ist der Grund, dass nichts auf ctrl-s steht, dass es im Terminal traditionell zur Flusskontrolle verwendet wird und aus den Tagen stammt, bevor Paging-Tools wie
more
undless
üblich waren. Ich bin mir sicher, dass in einigen GUI-Terminalprogrammen immer noch diese Flusssteuerungsfunktionalität standardmäßig aktiviert ist, aber ich bin noch nicht auf eine gestoßen. Die GUI-Terminal-Programme, die ich ausprobiert habe, scheinen es standardmäßig vollständig zu ignorieren, was diese praktische Tastenkombination für produktivere Anwendungen verfügbar macht.Wenn Sie also screen / tmux nicht direkt von einem Linux-Terminal aus verwenden, sondern von einem GUI-basierten Terminal aus, empfehle ich, es zu
ctrl-s
versuchen. Es ist so gemacht, dass es in tmux und auf dem Bildschirm viel praktischer für mich ist.quelle
Ein Schlüssel ohne Konflikt kann sein C-z, da er normalerweise verwendet wird, um das Programm in den Hintergrund zu schicken und eine andere Sache auf der Shell fortzusetzen, die es gestartet hat. Ich mache das nicht, wenn ich tmux habe.
quelle
fg
.Ich habe gehört, dass `(backtick) verwendet wird, und dann muss man es für ein tatsächliches backtick nur zweimal eingeben. Könnte für vi-Benutzer besser sein, die an die Aktion gewöhnt sind (es sei denn, Sie machen die Feststelltaste).
quelle
'; bind '
' send-prefix; siehe die Antwort von Darren Hall oben.Ich empfehle
C-j
, die nicht viel mit vi oder Emacs stören. Im Wesentlichen stimme ich einer Bemerkung von Susam Pal zu, die es wert zu sein scheint, als Antwort zu erscheinen, da alle anderen aus meiner Sicht erhebliche Konflikte zu haben scheinen.quelle
Für das Tastaturlayout von Programmer Dvorak ist es ziemlich einfach, eine Minustaste (Bindestrich) als Präfix zu verwenden, dh
ctrl
+-
.Die Minus-Taste befindet sich im QWERTY-Layout an der Position der Anführungszeichen. Außerdem habe ich eine Feststelltaste als Strg-Taste. Es folgt eine tmux conf, um sie als Präfix zu setzen:
Sie fragen sich vielleicht, warum der Unterstrich anstelle des Minus verwendet wird? Siehe Tmux: Wie binde ich an C - (Strg-Minus)?
Für qwerty könnten Sie Folgendes anwenden: Wie binde ich den tmux-Präfixschlüssel an C- '? Lösung, um die gleiche Verknüpfung beizubehalten.
Ich würde sagen, dass dies ein perfektes Präfix ist, wenn Sie Vim / Neovim verwenden. Weil Präfixe wie
ctrl
+a
oderctrl
+b
die Funktionalität von Vim in jeder Hinsicht überlappen.quelle
Persönlich
b
ist esCtrl
für mich einfach zu weit weg . Wenn ich tmux benutze, ändere ich immer die Bindung von Cb zu Ca. Der Hauptkonflikt mit Ca besteht darin, alle auszuwählen, aber ich habe nicht festgestellt, dass dies ein Problem mit den Programmen ist, mit denen ich tmux verwende.quelle
Als Benutzer von GNU emacs, zsh und MS Windows verwende ich Control-T. (zB in .screenrc :)
Ja, Control-T ist an etwas gebunden, wie das Pulldown-Menü in Ubuntus Aptitude oder das Transponieren von Zeichen in Emacs.
Ich habe Co ignoriert, weil es zwei Hände für mich erfordert.
quelle
Ich denke die beste Lösung ist ^ C. Emacs verwendet ^ C als Präfixschlüssel, und wenn ich ^ C in eine Shell eingeben muss, gebe ich sowieso fast immer zwei ein. :-)
quelle
Ich benutze die Feststelltaste und unter OSX müssen Sie einige spezielle Dinge tun, damit es funktioniert.
https://gist.github.com/burtlo/3788048
quelle
Sie können backtick verwenden. Einige ältere Versionen von tmux unterstützen kein Backtick, daher können Sie Folgendes tun, um dieses Problem zu umgehen (wobei C-`, C-@ und C-space gleichzeitig als Meta hinzugefügt werden):
Normalerweise ordne ich meine Feststelltaste der Strg-Taste zu, was mit dem Backtick noch sinnvoller ist.
quelle
Die meisten Antworten hier verwenden Strg als Teil einer Tastenkombination.
Wenn ich Strg verwendete, fing mein kleiner Finger an zu schmerzen, weil ich ihn immer auf Strg ausbreiten musste.
Ich benutze das,
Alt-j
was ich mit meinem linken Daumen und meinem rechten Zeigefinger tippe und es ist sehr praktisch. Ich habe auch noch keine Kollisionen mit einem anderen Programm gefunden.quelle
Für den GNU-Bildschirm funktioniert die Zuordnung des Backtick zum Escape in ~ / .screenrc für mich.
quelle
Ich mag den Vorschlag , ctrl- \ als Präfix zu binden , aber um dies unter Linux Mint 12 zum Laufen zu bringen, musste ich die Bindung am unteren Rand entfernen . Sonst würde es nicht dauern. Siehe meine .tmux.conf hier: Verwenden von tmux mit Emacs und Vim
quelle
Ich denke, dass Mac-Benutzer das
§
bequemere als das Backtick finden werden.Bei Nicht-Mac- Tastaturen befindet sich das Backtick ungefähr auf der gleichen Taste wie
§
bei Mac-Tastaturen. Verwenden Sie das Absatzzeichen auf einer Mac-Tastatur, um den gleichen Komfort zu erzielen wie die Benutzer, die das Backtick verwenden möchten.Das Verwenden des Backtick auf Mac-Tastaturen ist schwierig, da es sich sehr nahe an der linken (⇧) Umschalttaste, der (⌃) Steuerung und den (⌥) Alt-Tasten befindet. Bei MacBooks sogar in der Nähe der linken
fn
Taste.quelle