di felipe
11/11/06: aggiunto il punto 4, wow finalmente!
Mi decido a scrivere questo MicroHowto dopo tanto tempo, non è niente di spettacolare ma è una di quelle cose che possono fare la differenza, e vi assicuro che una volta abituati a queste piccole comodità non si torna indietro! :)
Non molti sanno che readline, la libreria che legge gli input, può essere in qualche modo configurata, e questo generalmente significa la possibilità di risparmiarci i polpastrelli :D
Generalmente /etc/inputrc esiste già in molte distro, in alcuni casi è già configurato per la massima comodità, ma per la maggior parte c’è un bel po’ da migliorare. Ecco le righe che io ritengo indispensabili, potete fare copia/incolla nel vostro inputrc:
# 1) Tasti Home/End per # spostarsi all'inizio/fine della riga "\e[1~": beginning-of-line "\e[4~": end-of-line
# 2) PgUp e PgDn per # l'autocompletamento in base alla history "\e[5~": history-search-backward "\e[6~": history-search-forward
# 3) Ctrl + frecce destra/sinistra per # spostarsi da una parola all'altra "\e[1;5C": forward-word "\e[1;5D": backward-word "\e[5C": forward-word "\e[5D": backward-word "\e\e[C": forward-word "\e\e[D": backward-word
# 4) Alt + Canc per # eliminare intere parole davanti al cursore "\e[3;3~": kill-word
NB: Davanti alla “e” va sempre un backslash (es: “\e[1~”), purtroppo wordpress mi odia e le elimina -.- (grazie tkk!).
So già che volete spiegazioni sul secondo punto :) eccole:
C’è qualche comando noioso che eseguite “spesso ma non troppo”, oppure comandi kilometrici abbastanza simili che volete ricordare? Bene, basta scrivere le prime lettere del comando e successivamente premere su Pag.Su per scorrere nella history. La shell vi mostrerà solo i comandi simili :) Guardate questo screencast:
Per approfondimenti: il manuale readline(3readline) e`info rluserman’
Troppo utile, grazie!
Lo sai che differenza c’è tra la tastiera di uno che ha windows e quella di uno che ha linux? Il tasto TAB consumato :-)))
verissimo :)
io addirittura ogni tanto premo TAB quando scrivo il mio nome ._.
Pingback:Shell: alcune interessanti combinazioni di tasti « pollycoke :)
Pingback:Rendere operativa una Ubuntu secondo felipe « pollycoke :)
Commento solo per segnalare che ho finalmente trovato il tempo e ho aggiunto il punto 4
Adesso posso non solo cancellare intere parole indietro con Alt BackSpace (comportamento standard), ma anche in avanti con Alt Canc :-)
Forse mi deciderò a provare Ctrl al posto di Alt, ma ormai sono abituato così :F
Felipe scusa la domanda forse OT: come faccio a visualizzare l’ora nel terminale, prima del cursore? Ho spulciato tra le opzioni ma non ho trovato quella giusta…
PS: Se non hai capito a cosa mi riferisco al fatto che nel tuo terminale leggo: 10:56 – > [Cursore]
Grazie in anticipo.
@Daniele: Si usa una particolare sequenza di escape, in questo caso \A. Una lista più completa la trovi (per esempio) qui.
Per fare un prompt identico a quello di felipe dovrebbe bastare fare:
export PS1=’\A \w >’
Per renderlo default metti la riga in /etc/profile.
@Daniele: penso che le sequenze di escape siano anche in
man bash
(non ho uno UNIX sottomano per ora e non posso controllare :( )
Oh grazie. Non ci crederai ma ho capito perfettamente. =D
Per ora sto giocando col comando per avere quello che desidero, poi proverò a impostarlo perchè compaia di default…
Ecco, come immaginavo… ho editato il file /etc/profile in questo modo
[…]
if [ “$PS1” ]; then
if [ “$BASH” ]; then
# PS1=’\u@\h:\w\$ ‘
PS1=’\u @ \A \w > ‘
[…]
Ma non funziona… Suggerimenti?
Grazie di nuovo in ogni caso. ;)
Hai provato a fare
source /etc/profile
?
Cacchio, chiedo scusa sembra diventata una chat… :p
Comunque per chi fosse interessato ho risolto: il file da editare è “/etc/bash.bashrc”, fatto quello funziona tutto. Infatti nel file /etc/profile c’è la stringa
[…]
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
[…]
Grazie a GS Defender.
ottimo questo post, grazie a tutti voi
ho aggiornato il mio /etc/inputrc
Pingback:Aumentare la “memoria” della bash per fare alcuni trucchetti… « pollycoke :)
Ma queste cose la bash le fa già di suo, senza stare a cambiare alcunché:
1)
Ctrl+a e vai all’inizio;
Ctrl+e e vai alla fine
2)
Ctrl+r e inizi a scrivere il comando, e lui autocompleta in base alla tua history.
3)
Alt+f e vai a vanti di una parola
Alt+b e va indietro di una parola
4)
Alt+d e cancelli la parola davanti al cursore
Alt+Backspace e cancelli la parola dietro il cursore
Ctrl+u e cancelli da dove dal cursore fino all’inizio del cursore
Ctrl+k e cancelli da dove sei in avanti fino alla fine
Quanto al prompt e alla possibilità di personalizzarlo, c’è questo vecchio e completissimo howto:
http://www.pluto.it/files/ildp/HOWTO/Bash-Prompt-HOWTO/Bash-Prompt-HOWTO.html
@franco:
L’intero punto del post infatti è proprio quello di avere combinazioni di tasti simili a quelle usate in X e meno “oscure” o “incongruenti” delle attuali predefinite.
Perché incongruenti?
Alt+d e cancelli la parola davanti al cursore
Alt+Backspace e cancelli la parola dietro il cursore
Ormai sono anni che abbiamo tastiere decenti, il “contrario” di Backspace è percepito da tutti come Canc, e non D!
Posso contribuire ? :)
ctrl-a inizio linea
ctrl-e fine linea
ctrl-s blocco scorrimento video
ctrl-q riattiva scorrimento video
ctrl-z invia SIGSTOP al processo collegato alla tty
ctrl-c TERM
ctrl-r reverse serarh sulla linea ( premendo ctrl-r più volte cerca sulla history )
ctrl-t inverte i caratteri accanto al cursore
ctrl-y incolla la linea corrente
ctrl-u cancella tutto a sx della linea e lo registra per ctrl-y
ctrl-i tab
ctrl-o invio
ctrl-p cursore in su
ctrl-d exit
ctrl-f cursore dx
ctrl-h backspace
ctrl-j invio
ctrl-l pulisce lo schermo
ctrl-m invio
ctrl-n cancella tutta la linea corrente
ctrl-x memorizza/applica posizione corrente del cursore
ctrl-b cursore sx
alt-b una parola indietro
alt-f una parola avanti
alt-r lowercase di tutta la parola e annulla gli spazi bianchi se sono
piu’ di uno alt-u uppercase fino alla fine della parola
alt-l lowercase fino alla fine della parola
alt-p attiva ricerca sullo storico comandi
alt-c uppercase lettera sotto il cursore
my 2 cents
@Steno:
Grazie, forse avresti trovato qui un posto migliore per segnalarli (ce ne sono già molti)
http://pollycoke.wordpress.com/2006/10/04/shell-alcune-interessanti-combinazioni-di-tasti/
Questo post è solo dedicato alla personalizzazione tramite /etc/inputrc :)
@felipe
Opsss…
mi sono lasciato prendere da franco :)
@felipe:
> L’intero punto del post infatti è proprio quello di avere combinazioni di tasti
> simili a quelle usate in X e meno “oscure” o “incongruenti” delle attuali
> predefinite.
Ah, ok.
E’ che io sono venuto su con la shell, ho usato emacs per molto tempo e quindi mi trovo benissimo con quelle combinazioni, tanto che le replico sistematicamente anche sotto X.
@franco:
Hehe, praticamente i due opposti :)
Davanti alla e[ ci va la backslash.
Forse può essere utile a qualcuno.
Ciao
@tkk:
Colpa di wordpress -.-
Altre distribuzioni effettivamente hanno già /etc/inputrc configurato in questo modo :-\
Pingback:Colorare la Bash e il prompt di linux « Xsquid Blog v2.5