Domanda

Conosco la combinazione Ctrl+UN per saltare all'inizio del comando corrente e Ctrl+E per saltare fino alla fine.

Ma esiste un modo per saltare parola per parola, ad esempio Alt+/ nelle applicazioni Cocoa fa?

È stato utile?

Soluzione

Fuori dagli schemi puoi usare il abbastanza bizzarro Esc+F per passare all'inizio della parola successiva e Esc+B per spostarsi all'inizio della parola corrente.

Altri suggerimenti

Su Mac OS X: le seguenti scorciatoie da tastiera funzionano per impostazione predefinita.Nota che devi farlo Opzione atto chiave come Meta nelle preferenze del Terminale (nella scheda Tastiera)

  • alt (⌥)+F saltare Favanti con una parola
  • alt (⌥)+B saltare Bricompensare con una parola

Ho osservato che le associazioni di tasti predefinite di emacs per la semplice navigazione del testo sembrano funzionare su shell bash.Puoi usare

  • alt (⌥)+D per eliminare una parola a partire dalla posizione corrente del cursore
  • Ctrl+UN per saltare all'inizio della riga
  • Ctrl+E per saltare alla fine della riga
  • Ctrl+K per terminare la linea a partire dalla posizione del cursore
  • Ctrl+Y per incollare il testo dal kill buffer
  • Ctrl+R per invertire la ricerca dei comandi digitati in passato dalla cronologia
  • Ctrl+S per inoltrare la ricerca (funziona in zsh per me ma non in bash)
  • Ctrl+F per andare avanti di un carattere
  • Ctrl+B per spostarsi indietro di un carattere
  • Ctrl+W per rimuovere la parola all'indietro dalla posizione del cursore

Ecco come puoi farlo

Per impostazione predefinita, il Terminale dispone di queste scorciatoie per spostarsi (sinistra e destra) parola per parola:

  • Esc+B (Sinistra)
  • Esc+F (Giusto)

Puoi configurare alt+ E per generare quelle sequenze per te:

  • Apri le preferenze del Terminale (cmq+,);
  • Nella scheda Impostazioni, seleziona Tastiera e fai doppio clic ⌥ ← se è presente o aggiungilo se non lo è.
  • Imposta il modificatore come desiderato e digita il tasto di scelta rapida nella casella: Esc+B, generando il testo \033b (non è possibile digitare questo testo manualmente).
  • Ripeti per la parola a destra (Esc+F diventa \033f)

In alternativa, puoi fare riferimento a questo post del blog su textmate:

http://blog.macromates.com/2006/word-movement-in-terminal/

Passa a iTerm2.È gratuito e molto più bello del semplice vecchio terminale.Inoltre ha molte più opzioni di personalizzazione, come le scorciatoie da tastiera.

Inoltre mi piace che tu possa usarlo cmq e 1-9 per passare da una scheda all'altra.Provalo e non tornerai mai più al terminale normale :)

Come impostare le preferenze personalizzate della tastiera in iterm2

  • Installa iTerm2
  • Avvia e poi vai al pannello delle preferenze.
  • Scegli la scheda dei profili della tastiera
  • Dovrai copiare il profilo in qualcosa di nuovo e quindi eliminare le scorciatoie dei tasti freccia come ^+ Giusto/Sinistra oppure se non ti interessa un backup, eliminali semplicemente dal profilo predefinito.
  • Successivamente assicurati che il tuo profilo modificato sia selezionato (stellato)

Picture 1.png

  • Ora scegli la scheda della tastiera (riga molto in alto)

iTerm 2

  • Fare clic sul pulsante più per aggiungere una nuova scorciatoia da tastiera
  • Nella prima casella digita CMD+Freccia sinistra
  • Nella seconda casella scegli "invia codice escape"
  • Nella terza casella digitare la lettera B

Picture 2.png

  • Ripetere con le combinazioni di tasti desiderate. fuga+B sposta una parola a sinistra, fuga+F sposta una parola a destra.
  • potresti anche voler impostare cmq+D con per cancellare la parola davanti al cursore fuga+D

Spesso premo il pulsante sbagliato (cmq / controllo / alt) con un tasto freccia e quindi ho le mie combinazioni di tasti freccia con quei pulsanti tutte impostate per saltare avanti e indietro tra le parole, ma per favore fai ciò che ti si addice meglio.

In realtà esiste un approccio molto migliore.Presa opzione ( alt su alcune tastiere) e premi i tasti freccia sinistra o destra per spostarti di parola in parola.Semplice come quella.

opzione
opzione

Anche Ctrle ti porterà alla fine della linea e CtrlUN ti porterà all'inizio.

Io ho Alt+/ lavorando:aprire Preferenze »Impostazioni»Tastiera, imposta la voce per cursore opzione a sinistra A invia una stringa alla shell:\033b, e impostare cursore opzione a destra A invia una stringa alla shell:\033f.Puoi anche usarlo per altre combinazioni di tasti Control.

In realtà dipende da quale shell usi, tuttavia la maggior parte delle shell ha collegamenti simili.Gli attacchi a cui ti riferisci (es. Ctrl+UN E Ctrl+E) sono collegamenti che troverai in molti altri programmi e vengono utilizzati per anni, tra l'altro funzionano anche nella maggior parte delle app dell'interfaccia utente.

Ecco uno sguardo ai collegamenti predefiniti per Bash:

Scorciatoie da tastiera Bash più importanti

Tieni inoltre presente che puoi personalizzarli.Devi creare un file, chiamalo come desideri, io ho chiamato il mio .bash_key_bindings e l'ho inserito nella mia home directory.Lì puoi impostare alcune opzioni generali di bash e puoi anche impostare le associazioni dei tasti.Per assicurarsi che vengano applicati, è necessario modificare un file denominato ".bashrc" quella bash viene letta all'avvio (devi crearla, se non esiste) e lì effettua la seguente chiamata:

bind -f ~/.bash_key_bindings

~ significa home directory in bash, come detto sopra, puoi nominare il file come preferisci e anche posizionarlo dove preferisci purché inserisci il percorso+nome corretti da associare.

Lascia che ti mostri alcuni estratti del mio file .bash_key_bindings:

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

Questi impostano solo un paio di opzioni (ad es.disattivare il campanello;tutto questo può essere cercato sulla pagina web di bash).

"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

Questi assicurano che i caratteri da soli non facciano altro che assicurarsi che il carattere sia "digitato" (si inseriscono nella shell).

"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line

Questo è piuttosto interessante.Se colpisco Ctrl+D da solo (ho selezionato d per eliminare), non succede nulla.Ma se poi digito una w minuscola, la parola a sinistra del cursore viene cancellata.Se scrivo in maiuscolo, tuttavia, la parola a destra del cursore viene eliminata.Lo stesso vale per l e L per quanto riguarda tutta la linea a partire dal cursore.Se digito una "a", l'intera riga viene effettivamente cancellata (tutto prima e dopo il cursore).

Ho inserito saltando una parola in avanti Ctrl+F e una parola all'indietro Ctrl+B

"\C-f": forward-word
"\C-b": backward-word

Come puoi vedere, puoi creare una scorciatoia, che porta immediatamente a un'azione, oppure puoi crearne una, che inizia semplicemente una sequenza di caratteri e poi devi digitare uno (o più) caratteri per far sì che un'azione abbia luogo come mostrato nell'esempio più sopra.

Quindi, se non sei soddisfatto delle associazioni predefinite, sentiti libero di personalizzarle come preferisci.Ecco un collegamento al manuale di bash per maggiori informazioni.

Se sei un utente Vim, potresti provare la modalità vim di bash.Esegui questo o inseriscilo nel tuo ~/.bashrc file:

set -o vi

Per impostazione predefinita sei in modalità di inserimento;premi Esci e puoi muoverti proprio come puoi in Vim in modalità normale, quindi il movimento per parola è w O b, e il funzionano anche i normali tasti di movimento.

Se controlli Use option as meta key nella scheda tastiera delle preferenze, quindi i comandi di stile emacs predefiniti per parola avanti e indietro e ⌥F (Alt+F) E ⌥B (Alt+B) rispettivamente.

Consiglierei la lettura Da Bash a Z-Shell.Se vuoi aumentare la tua abilità in bash/zsh!

A partire da Mac OS X Lion 10.7, le mappe del terminale Opzione-Freccia sinistra/destra A Esc-b/f per impostazione predefinita, quindi ora è integrato per bash e altri programmi che utilizzano queste combinazioni di tasti compatibili con emacs.

In Bash, questi sono destinati a Esc-B E Esc-F.Bash ha molte, molte più scorciatoie da tastiera;dai un'occhiata all'output di bind -p per vedere cosa sono.

Sotto iterm2'S Preferenze > Profilo > Chiavi, fai clic su + sotto Mappature chiave e registrare una nuova scorciatoia.Per Azione, Selezionare Send Escape Sequence e digitare b O f rispettivamente per avanti e indietro.

Quando ho provato a registrarne uno per (Ctrl+), ho notato nel Scorciatoia da tastiera campo che la freccia non è mai stata visualizzata.Si scopre che ho dovuto disabilitare i Mac predefiniti Preferenze di Sistema > Tastiera > Scorciatoie > Controllo missione prima le scorciatoie per far funzionare le cose, poiché sovrascriveranno le scorciatoie predefinite di iterm2.Dovrebbe essere vero anche per l'app terminale standard.

Keyboard system preferences

Tieni premuto il tasto Opzione e fai clic nel punto in cui desideri spostare il cursore

Utilizzo Modifica naturale del testo preimpostato!

enter image description here

Essenzialmente associa, tra le altre sequenze di tasti, Opzione + Freccia Sinistra a ^[b sequenza e Opzione + Freccia Destra per ^[f

Funziona in fish e bash, così come nel terminale psql.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top