Difference between revisions of "Readline (Italiano)"

From ArchWiki
Jump to: navigation, search
(tranlated intro and added translateme template)
(History: translated)
Line 16: Line 16:
 
Troverete le pagine dei trucchi di [http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.pdf vi] o [http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.pdf emacs] molto utili.
 
Troverete le pagine dei trucchi di [http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.pdf vi] o [http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.pdf emacs] molto utili.
  
=History=
+
=Cronologia=
Usually, pressing the up arrow key will cause the last command to be shown regardless of what has been typed so far. However, users may find it more practical to list only past commands that match the current input.
+
Solitamene, premendo la freccia che punta in alto, verrà mostrato l'ultimo comando eseguito anche se sono stati digitati alcuni caratteri. Comunque, gli utenti potrebbero trovare più pretico elencare i comandi digitati che hanno una corrispondenza con quanto digitato.
  
For example, if the user has typed the following commands:
+
Ad esempio, se l'utente ha digitato i seguenti comandi:
 
* {{Codeline|ls /usr/src/linux-2.6.15-ARCH/kernel/power/Kconfig}}
 
* {{Codeline|ls /usr/src/linux-2.6.15-ARCH/kernel/power/Kconfig}}
 
* {{Codeline|who}}
 
* {{Codeline|who}}
 
* {{Codeline|mount}}
 
* {{Codeline|mount}}
 
* {{Codeline|man mount}}
 
* {{Codeline|man mount}}
In this situation, when typing {{codeline|ls}} and pressing the up arrow key, current input will be replaced with {{codeline|man mount}}, the last performed command. Had history search been enabled, only past commands beginning with {{codeline|ls}} (the current input) would've been shown, in this case {{codeline|ls /usr/src/linux-2.6.15-ARCH/kernel/power/Kconfig}}.
+
In questa situazione, se digitiamo {{codeline|ls}} e successivamente premiamo la freccia su, l'attuale input sarà sostituito con {{codeline|man mount}}, cioè l'ultimo comando eseguito. Avendo la ricerca nella cronologia abilitata, verranno mostrari invece solo i comandi eseguiti che cominciano con {{codeline|ls}} (l'attuale input), in questo caso {{codeline|ls /usr/src/linux-2.6.15-ARCH/kernel/power/Kconfig}}.
  
You can enable this mode by adding the lines below to {{Filename|/etc/inputrc}} or {{Filename|~/.inputrc}}:
+
Sarà possibile abilitare questa modalità aggiungendo le seguenti linee al file {{Filename|/etc/inputrc}} orppure al file {{Filename|~/.inputrc}}:
 
  "\e[A":history-search-backward
 
  "\e[A":history-search-backward
 
  "\e[B":history-search-forward
 
  "\e[B":history-search-forward
  
If you chose to add the aforementioned two lines to {{Filename|~/.inputrc}}, it is recommended that you also add the following line at the beginning of this file to avoid strange things like [https://bbs.archlinux.org/viewtopic.php?id=112537 this]:
+
Se si sceglie di inserire le righe sopra al file {{Filename|~/.inputrc}}, è consigliato aggiungere anche la seguente linea all'inizio del file per evitare strani comportamenti come [https://bbs.archlinux.org/viewtopic.php?id=112537 questo]:
  
 
  $include /etc/inputrc
 
  $include /etc/inputrc
  
Alternatively, one can use reverse-search-history (incremental search) by pressing {{Keypress|Ctrl}}+{{Keypress|R}}, which does not search based on previous input but instead jumps backwards in the history buffer as commands are typed in a search term. Pressing {{Keypress|Ctrl}}+{{Keypress|R}} again during this mode will display the previous line in the buffer that matches the current search term, while pressing {{Keypress|Ctrl}}+{{Keypress|G}} (abort) will cancel the search and restore the current input line. So in order to search through all previous {{codeline|mount}} commands, press {{Keypress|Ctrl}}+{{Keypress|R}}, type 'mount' and keep pressing {{Keypress|Ctrl}}+{{Keypress|R}} until the desired line is found.
+
In alternativa, si può utilizzare la reverse-search-history (ricerca incrementale) premendo {{Keypress|Ctrl}}+{{Keypress|R}}, che non effettua una ricerca basata sull'input ma sposta il buffer di ricerca mentre i tasti vengono digitati ed utilizzandoli come termini di ricerca. Premendo nuovamente {{Keypress|Ctrl}}+{{Keypress|R}} durante questa modalità verrà mostrata la linea precedente nel buffer che corrisponde all'attuale termine di ricerca, mentre premendo {{Keypress|Ctrl}}+{{Keypress|G}} (abort) verrà annullata la ricerca e riproposto l'input corrente. Quindi per ricercare tra i precedenti comandi {{codeline|mount}}, sarà necessario premere {{Keypress|Ctrl}}+{{Keypress|R}}, digitare  'mount' e continuare a premere {{Keypress|Ctrl}}+{{Keypress|R}} finchè non si raggiunge la linea desiderata.
  
The forward equivalent to this mode is called forward-search-history and is bound to {{Keypress|Ctrl}}+{{Keypress|S}} by default. Beware that most terminals override {{Keypress|Ctrl}}+{{Keypress|S}} to suspend execution until {{Keypress|Ctrl}}+{{Keypress|Q}} is entered. (This is called XON/XOFF flow control). For activating forward-search-history, either disable flow control by issuing:
+
L'equivalente ricerca ma in avanti chiamata forward-search-history è legata alla cominazione {{Keypress|Ctrl}}+{{Keypress|S}} di default. Attenzione perché molti terminali sovrappongono la combinazione {{Keypress|Ctrl}}+{{Keypress|S}} per sospendere l'esecuzione fino a che non viene premuta la combinazione {{Keypress|Ctrl}}+{{Keypress|Q}}. (Questo viene chiamato  XON/XOFF flow control). Per attivare la forward-search-history, e quindi disabilitare il flow control eseguire il comando:
 
  $ stty -ixon
 
  $ stty -ixon
or use a different key in {{Filename|inputrc}}. For example, to use {{Keypress|Alt}}+{{Keypress|S}} which is not bound by default:
+
oppure utilizzare un'altra combinazione di tasti nel file {{Filename|inputrc}}. Ad esempio se si vuole utilizzare {{Keypress|Alt}}+{{Keypress|S}} che solitamente per default non è legato a nessun evento :
 
  "\es":forward-search-history
 
  "\es":forward-search-history
  

Revision as of 15:46, 12 October 2011

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Readline (Italiano)#)

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Sommario help replacing me
Implementare readline oltre alle sue capacità di default.
Articoli correlati
Bash (Italiano)

Readline è una libreria del progetto GNU usata da Bash e da altre interfacce per la linea di comando per modificare ed interagire con la linea di comando. Prima di leggere questo articolo fare riferimento alla home page del progetto dato che in questo articolo saranno introdotte solo semplici configurazioni.

Editing della linea di comando

Come default Readline usa le combinazioni da tastiera di Emacs, per interagire con la linea di comando. Comunque, è supporatata anche la modalità vi. Nel caso siate utenti appassionati di vi, probabilmente vorrete inserire la seguente linea nel proprio Template:Filename per abilitare le scorciatoie di vi:

set -o vi

Troverete le pagine dei trucchi di vi o emacs molto utili.

Cronologia

Solitamene, premendo la freccia che punta in alto, verrà mostrato l'ultimo comando eseguito anche se sono stati digitati alcuni caratteri. Comunque, gli utenti potrebbero trovare più pretico elencare i comandi digitati che hanno una corrispondenza con quanto digitato.

Ad esempio, se l'utente ha digitato i seguenti comandi:

In questa situazione, se digitiamo Template:Codeline e successivamente premiamo la freccia su, l'attuale input sarà sostituito con Template:Codeline, cioè l'ultimo comando eseguito. Avendo la ricerca nella cronologia abilitata, verranno mostrari invece solo i comandi eseguiti che cominciano con Template:Codeline (l'attuale input), in questo caso Template:Codeline.

Sarà possibile abilitare questa modalità aggiungendo le seguenti linee al file Template:Filename orppure al file Template:Filename:

"\e[A":history-search-backward
"\e[B":history-search-forward

Se si sceglie di inserire le righe sopra al file Template:Filename, è consigliato aggiungere anche la seguente linea all'inizio del file per evitare strani comportamenti come questo:

$include /etc/inputrc

In alternativa, si può utilizzare la reverse-search-history (ricerca incrementale) premendo Template:Keypress+Template:Keypress, che non effettua una ricerca basata sull'input ma sposta il buffer di ricerca mentre i tasti vengono digitati ed utilizzandoli come termini di ricerca. Premendo nuovamente Template:Keypress+Template:Keypress durante questa modalità verrà mostrata la linea precedente nel buffer che corrisponde all'attuale termine di ricerca, mentre premendo Template:Keypress+Template:Keypress (abort) verrà annullata la ricerca e riproposto l'input corrente. Quindi per ricercare tra i precedenti comandi Template:Codeline, sarà necessario premere Template:Keypress+Template:Keypress, digitare 'mount' e continuare a premere Template:Keypress+Template:Keypress finchè non si raggiunge la linea desiderata.

L'equivalente ricerca ma in avanti chiamata forward-search-history è legata alla cominazione Template:Keypress+Template:Keypress di default. Attenzione perché molti terminali sovrappongono la combinazione Template:Keypress+Template:Keypress per sospendere l'esecuzione fino a che non viene premuta la combinazione Template:Keypress+Template:Keypress. (Questo viene chiamato XON/XOFF flow control). Per attivare la forward-search-history, e quindi disabilitare il flow control eseguire il comando:

$ stty -ixon

oppure utilizzare un'altra combinazione di tasti nel file Template:Filename. Ad esempio se si vuole utilizzare Template:Keypress+Template:Keypress che solitamente per default non è legato a nessun evento :

"\es":forward-search-history

Ricerca nella cronologia

Evitare i duplicati

Se si ripetono spesso diversi comandi, essi verranno aggiunti ogni volta alla propria cronologia. Per evitarlo, aggiungere questo al proprio Template:Filename:

export HISTCONTROL=ignoredups

Evitare gli spazi

Per impedire che vengano considerati nella cronologia i comandi vuoti aggiungere questa linea al file Template:Filename:

export HISTCONTROL=ignorespace

Se nel file è già presente

export HISTCONTROL=ignoredups

Sostituirlo con

export HISTCONTROL=ignoreboth

Macro

Readline supporta anche l'assegnazione di combinazioni di tasti a delle macro. Per esempio, eseguire questo comando in Bash:

bind '"\ew":"\C-e # macro"'

o aggiungere la parte contenuta tra apici al file Template:Filename:

"\ew":"\C-e # macro"

Adesso scriviamo una linea e premiamo Template:Keypress+Template:Keypress. Readline si comporterà come se avessimo premuto Template:Keypress+Template:Keypress (spostamento a fine riga) ed aggiungerà 'Template:Codeline'.

Usare ogni possibile combinazione di tasti per una macro tramite readline, può essere molto utile per automatizzare le opreazioni effettuate spesso. Ad esempio questa macro fa si che la combinazione Template:Keypress+Template:Keypress+Template:Keypress aggiunga "| less" alla linea e la esegua (Template:Keypress+Template:Keypress equivale a Template:Keypress):

"\e\C-l":"\C-e | less\C-m"

Il comando successivo inserisce ad inizio riga la stringa 'yes |' quando viene premuta la combinazione Template:Keypress+Template:Keypress+Template:Keypress, utile per confermare ogni domanda di tipo yes/no dal terminale:

"\e\C-y":"\C-ayes | \C-m"

Questo esempio incapsula la linea digitata all'interno di Template:Codeline, se vinene premuta la combinazione Template:Keypress+Template:Keypress:

"\es":"\C-a su -c '\C-e'\C-m"

Come ultimo esempio, per avviare facilmente un comando in background con Template:Keypress+Template:Keypress+Template:Keypress, redirigendo ogni tipo di output:

"\e\C-b":"\C-e > /dev/null 2>&1 &\C-m"

Tips and Tricks

Disabilitare la visualizzazione delle combinazioni control

A causa di un aggiornamento di Template:Package Official, il terminale ora visualizza Template:Codeline dopo aver premuto Template:Keypress+Template:Keypress. Per gli utenti che vogliono disabilitare questa visualizzazione, basterà semplicemente aggiungere la seguente linea al file Template:Filename:

set echo-control-characters off

Risorse