ksh history-search-backward/forward

OsunSeyi

Well-Known Member
Gibt es in der Bash durch setzen von:

Code:
"\e[5~": history-search-backward
"\e[6~": history-search-forward

..in /etc/inputrc
Nun gibt es eine solche Datei aber nicht, mW könnte ich aber auch eine ~/.inputrc anlegen.

Ist eine derartige Konfiguration für die Ksh auch möglich?
Entschuldigt bitte, wenn ich "Löcher in den Bauch" frage...

Wohl habe ich Strg+R als Suchfunktion gefunden, aber das ist nicht annährend so praktisch.
 
Verknuepfe das mit bind (siehe manpage, da ist als Beispiel das history-per-cursor-tasten bei).

Das ist dann fuer emacs-mode ... just sayin.
 
Das werde ich probieren!
Habe etwas gefunden, was ich einigermaßen cool finde:

Code:
alias H="cat ~/.history | sort | uniq | fzf | tr '\n' ' ' | xsel"

Ich vermute, das ist mal wieder alles sehr dilletantisch. Aber funktioniert.
Zum Einfügen in die Konsole muß die mittlere Maustaste bemüht werden.

Dein Vorschlag werde ich auf jeden Fall befolgen! (bei mir braucht immer alles seine Zeit).
 
EDIT

Code:
alias  trim="tr '\n' ' ' | sed 's/^ *//g' | sed 's/ *$//g'"
alias     H="cat ~/.history | sort | uniq | fzf | trim | xsel"
 
Ein Tipp aus qualvoller Erfahrung: Ich würde nicht so viel mit Aliases machen, denn sie sind etwa "magisch" und in ihrer genauen Funktion nicht immer genau nachzuvollziehen. Ich würde stattdessen für alles, was über simples 'Ersetze Aufruf A durch Aufruf B' hinausgeht Funktionen definieren. Sie verhalten sich ebenfalls wie Shell-Kommandos, aber anders als bei Aliasen gibt es kaum Überraschungen und sie lassen sich fast unendlich komplex bauen.

Ohne das jetzt getestet zu haben könntest du zum Beispiel das hier machen:

Code:
trim() {
    tr '\n' ' ' $1 | sed 's/^ *//g' | sed 's/ *$//g'
}

Will man Funktionen definieren, die der Nutzer nicht benutzen soll, da sie nur für interne Aufgaben sind, ist die ungeschriebene Konvention ihre Namen mit _ beginnen zu lassen.
 
Vielen Dank für den Tip... und ein frohes Neues!

Ich weiß aber nicht so recht, wie man das anwendet.
Zwar benutze ich Funktionen innerhalb von Scripte, wenn sinnvoll, nicht aber außerhalb als Sammlung.

Dann würde ich für zB 'trim' eher ein eigenes kleines Script anlegen.

Und weil da allerhand zusammen kommt, sind in meinem 'bin' Verzeichnis viele Unterverzeichnisse, die mit 'find $HOME/bin -type d usw' in $PATH einbinde.

In meinen Scripten binde ich ein Script 'inc' ein (weil das so schön unauffällig ist), das zB Konsolefarben $hellrot ... $def zur Verfügung stellt und verschiedene Variablen. Es wäre warscheinlich auch der richtige Ort, um eine Funktionssammlung einzubinden.

Das dieses 'trim' jetzt als Alias definiert ist, hat damit zu tun, daß mit meinem Umzug auf OBSD auch eine Neusortierung von dem bisherigen Chaos dran ist.

Ist das eine rein organisatorische Frage, ob Schnipsel als Funktionssammlung oder eigene kleine Scripte vorliegen?

Will man Funktionen definieren, die der Nutzer nicht benutzen soll, da sie nur für interne Aufgaben sind, ist die ungeschriebene Konvention ihre Namen mit _ beginnen zu lassen.

Oki. Ich habe mal gehört, Variablenbezeichnungen sollten in klein gehalten werden, um nicht mit vom System verwendeten Variablen in die Quere zu kommen. Bin halt Laie. Wenn ich professionell angelegte Scripte zu Gesicht bekomme, kann ich sie in der Regel nicht mal 'lesen'.

Aber ich werde versuchen, mich daran zu halten!
 
Zuletzt bearbeitet:
Zurück
Oben