Aus einer FreeBSD-Welt kommend möchte ich das Linux-Terminal wie FreeBSD verhalten lassen, insbesondere die 9.1-Version. Wenn Sie cd
das Terminal eingeben und den Aufwärtspfeil drücken, können Sie alle Befehle im Verlauf durchsuchen, beginnend mit cd
denen Sie beginnen viel Zeit gewinnen.
Ich weiß nicht, wie ich diese Funktion in Linux Debian oder CentOS aktivieren soll, was mich zwingt, das Ganze zu tippen. Könnte mir jemand helfen?
bindkey -k (up|down) history-search-(back|for)ward
mein.tcshrc
wie hier beschrieben einfügte . Cool!Antworten:
Fügen Sie Folgendes hinzu, um
~/.inputrc
:Erläuterung
~/.inputrc
ist die Konfigurationsdatei für GNU readline . Viele Shells, einschließlichbash
undtcsh
verwenden readline zum Bearbeiten der Befehlszeile. In den beiden obigen Zeilen wird readline angewiesen, die Verlaufssuchfunktion aufzurufen, wenn die Escape-Sequenzen für die Aufwärtspfeiltaste (\e[A
) und die Abwärtspfeiltaste (\e[B
) gefunden werden.quelle
Last word
ist oft ein Weg, den ich in verschiedenen arkanen Klischees ausprobieren möchte. Und Shift F12 , um mich von Anfang an wieder dazu zu bringen, die gesamte letzte Zeile zu bearbeiten.~/.inputrc
ist ein handliches Werkzeug.Was passiert ist, dass FreeBSD und Linux standardmäßig unterschiedliche Shells verwenden. FreeBSD verwendet standardmäßig tcsh , das in der Vergangenheit bessere interaktive Funktionen als bash hatte (aber bash hat aufgeholt), aber deutlich schlechtere Skriptfunktionen .
Der einfachste Weg, die gewohnte Umgebung zu finden, besteht darin, die Shell unter Linux auf tcsh umzustellen. Vorausgesetzt, dass tcsh systemweit installiert ist (falls dies nicht der Fall ist, bitten Sie Ihren Systemadministrator, es zu installieren), führen
chsh -s tcsh
Sie den Befehl aus, um Ihre Standard-Shell zu ändern.Alternativ können Sie bash so einrichten, dass Sie diesen Befehl gewohnt sind. Standardmäßig ist die Upund Downnavigieren Pfeile unter allen Befehlen in der Geschichte, nicht nur diejenigen , die mit dem Präfix beginnen Sie eingegeben haben. Um dies in das gewohnte Verhalten zu ändern, fügen Sie die folgenden Zeilen in die Initialisierungsdatei von bash ein, die sich
.bashrc
in Ihrem Home-Verzeichnis befindet. Führen Sie. ~/.bashrc
eine neue Shell aus oder starten Sie sie, um die Initialisierungsdatei erneut zu lesen.Die Escape-Sequenzen werden von Ihrem Terminal an die Shell gesendet, wenn Sie eine Pfeiltaste drücken. Upkann
\eOA
(Flucht,O
,A
) oder\e[A
je nach Endgerät und in ähnlicher Weise für Down.Standardmäßig bietet bash verschiedene Tastenkombinationen zum Durchsuchen des Befehlsverlaufs. Sie können Ctrl+ drücken Rund dann einige Zeichen eingeben, um irgendwo in der Zeile nach einem Befehl zu suchen, der diese Teilzeichenfolge enthält. Drücken Sie Ctrl+ S, um vorwärts statt rückwärts zu gehen. Die Suche erfolgt inkrementell (dh während der Eingabe). Alt+ Pund Alt+ Ngeben Ihnen eine nicht inkrementelle Suche.
Anstelle von bash und tcsh können Sie auch zu zsh wechseln, das einige nette Funktionen bietet, die in anderen Shells nicht zu finden sind . Zsh hat standardmäßig Ctrl+ Rund Ctrl+ Sgenau wie bash. Um zu erhalten Upund Downwie Sie es in tcsh getan haben, geben Sie die folgenden Zeilen ein
~/.zshrc
:Wenn Sie überall dieselbe Shell verwenden möchten, können Sie bash oder zsh auch unter FreeBSD verwenden, sofern der Port installiert ist (fragen Sie erneut Ihren Systemadministrator).
quelle
tcsh
ist für die meisten Linux-Distributionen verfügbar. Versuchen Sie, dastcsh
Paket zu installieren , und führen Sie es dann auschsh -s /bin/tcsh
, um es zu Ihrer Standard-Shell zu machen.quelle
Andere Antworten behandeln es, aber wenn Sie mehr wollen, schauen Sie sich https://github.com/zsh-users/zsh-history-substring-search an
Prezto ( https://github.com/sorin-ionescu/prezto ) ist auch voll von zsh-Leckereien.
quelle