Scorciatoia del terminale OS X: salta all'inizio / alla fine della riga


115

So che posso saltare all'inizio e alla fine di una riga all'interno del terminale OS X con Ctrl+ Ae Ctrl+ E. Ma sono così abituato a saltare con Cmd+ Rightfreccia e Cmd+ Leftfreccia dal mio editor, che mi piacerebbe usare queste scorciatoie anche per il terminale.

Non ho trovato una soluzione su google, quindi forse qui qualcuno può aiutare.

Aggiornare

Come nei commenti, ho provato la soluzione da Esiste un modo nel terminale di OS X per spostare il cursore parola per parola?

Sfortunatamente, le impostazioni del terminale sembrano non includere Cmdcome tasto di modifica, come puoi vedere qui:

Tasti di modifica del terminale


Non si può adattare questo ?
Thomas Ayoub

Ho aggiornato la mia domanda, vedi sopra
23tux

1
Hmmm, non credo proprio. L'ho provato, funziona con Option + right-arrow, ma non conCmd + right-arrow
23tux

Hai ragione, colpa mia, ho giorni difficili su un PC
Thomas Ayoub

Scorciatoie più utili: stackoverflow.com/a/5542996
AT

Risposte:


23

Uso un'app pratica chiamata Karabiner per fare questo e molte altre cose. È gratuito e open source.

È un remapper della tastiera, con molti pratici preset per molte rimappature comuni che le persone potrebbero voler fare.

Come puoi vedere dallo screenshot, questa rimappatura è inclusa come preimpostazione in Karabiner.

Screenshot delle preferenze di Moschettone che mostra il preset per mappare cmd + sinistra / destra a ctrl + a / e

Spero che questo ti aiuti. Buona rimappatura!


3
Tieni presente che al momento Karabiner non funziona su macOS Sierra.
Knuhol

Buono a sapersi; Non ho aggiornato. Si spera che il moschettone venga aggiornato presto! :)
Aaron Wallentine

2
Ora supporta Sierra e anche superiori. Ecco il collegamento ad alcune regole predefinite dal sito web di Karabiner .
Java Xu

Nel link di @ JavaXu nel commento direttamente sopra di me, cerca per Navigation in Terminal Appstrovare la regola che devi importare.
electrovir

126
fn + shift + leftArrow = goto beginning of line
fn + shift + rightArrow = goto end of line

questi funzionano per me


20
Non avevo bisogno di tenere premuto il tasto Maiusc. fn + leftArrawo ha fn + rightArrowlavorato per me. Forse aiuta!
Bharat Gupta

7
@BharatGupta fn + leftArrow funziona in alcune applicazioni terminali (ad esempio VI), ma non funziona nella riga di comando del terminale.
hygoh2k

2
Usando iTerm2, fn + sinistra e fn + destra funzionano senza spostamento. Con il turno, non funzionano. Anche ctrl + a e ctrl + e funzionano.
bhekman

1
Sono un nuovo utente Mac e sono disgustato da quanto sia difficile tutto in Mac vs Windows! L'hardware è buono, ma il software è orribile (cioè non facile da usare)
doctorram

1
Se sei nuovo su Mac pensa semplice, perché quando usi Windows a lungo termine, sei abituato a usare sempre percorsi complicati ... con Mac devi pensare in modo molto semplice ... e il più delle volte ce l'hai. È stato così per me quando sono passato da PC a Mac
Supernini

34

Nell'ultimo sistema operativo Mac È possibile utilizzare shift+ homeo shift+end


16

Come configurato nel terminale utilizzando vi:

Il Hometasto su una tastiera di Macbook Pro: Fn + Left Arrow.

Il Endtasto su una tastiera di Macbook Pro: Fn + Right Arrow.


9

Non sono sicuro che funzionerà per te (lo uso ancora OS 10.8), ma funzionano per il mio terminale:

home = move cursor to the start of the line
shift+end = move cursor to the end of the line

alt+leftArrow = move one "word" to the left
alt+rightArrow = move one "word" to the right

Spero che questo ti aiuti!


1
Nella 10.12 Sierra, sembra che sia shift + home per andare all'inizio. gli altri elencati qui funzionano come elencati.
Chris


8

Per iterm2:

Vai a Profili / Apri profili / Chiavi

Imposta Cmd + left_arrow_keysu InviaHex Code 001

Imposta Cmd + right_arrow_keysu InviaHex Code 005

Ciò consente di utilizzare Cmd + arrow_keysper spostarsi dall'inizio alla fine della riga.


come da commento di @ bhekman: "Utilizzando iTerm2, fn + sinistra e fn + destra funzionano senza MAIUSC. Con MAIUSC, non funzionano. CTRL + A e CTRL + E funzionano anche."
Alexander Suraphel

Non vedo cmdun'opzione del tasto modificatore, come nella domanda originale
elettrovir

@electrovir tienilo premuto e premi i tasti freccia
Timmy Von Heiss

Vedi "Sfortunatamente, le impostazioni del Terminale sembrano non includere Cmd come chiave di modifica, come puoi vedere qui" nella domanda originale. Ho lo stesso problema. Il mio commento riguardava la creazione dell'impostazione della chiave, non la sua esecuzione.
elettrovir

@electrovir sembra che tu sia nel posto sbagliato. non vi è alcun modificatore. apri iterm. vai alle preferenze. vai ai profili. premere il pulsante "+" a sinistra di "Load Preset". Ci sono due campi: "Scorciatoia da tastiera" e "Azione" per la scorciatoia da tastiera, tenere premuto il tasto freccia sinistra. quindi per l'azione -> "invia codice esadecimale -> 001"
Timmy Von Heiss il

5

Qui ho trovato un tweak per questo, senza alcuno strumento di terze parti . Questo farà funzionare la seguente scorciatoia:

 fn + right: to go to the end of the line.
 fn + left: to go to the beginning of the line.
  • Apri le preferenze del terminale. ( cmd + ,).
  • Vai al tema selezionato e poi alla scheda della tastiera.

inserisci qui la descrizione dell'immagine

  • E aggiungi una nuova voce come segue. inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

  • È tutto. Adesso chiudi e controlla.

    Spero che sia d'aiuto.

EDIT: fare riferimento al commento di @Maurice Gilden di seguito per ulteriori approfondimenti.


5
Questo inserirà semplicemente "001" o "005". Manca la barra rovesciata e non sono riuscito a trovare alcun modo per aggiungerla manualmente. Quello che puoi fare, tuttavia, è premere Ctrl + A per "\ 001" e Ctrl + E per "\ 005" mentre sei all'interno della casella di testo.
Maurice Gilden

2
Questa dovrebbe essere la risposta assolutamente corretta. Tutte le app di terze parti sono danneggiate o non sono più mantenute e fn + maiusc + freccia sinistra non funziona più su Mojave.
Salyangoz

Questo ha funzionato brillantemente. Tuttavia, ho selezionato "Fine" anziché "Pagina giù" per la mappatura fn + freccia destra.
nedblorf

2

Puoi scaricare Better Touch Tools . È un'app che ti consente di creare associazioni di tasti e scorciatoie personalizzate sull'intero sistema o su singole app. Usandolo, potresti creare una scorciatoia nel terminale che emula ctrl-a / ctrl-e ogni volta che premi cmd-sinistra / cmd-destra, rispettivamente. Lo consiglio vivamente! Lo uso da anni e ho oltre 50 scorciatoie distribuite su diverse app.


2
Sfortunatamente, il tuo collegamento è interrotto
23tux

Grazie per il testa a testa! L'ho riparato.
Jacob

Ehi @Jacob quale sarebbe l '"azione predefinita attivata" per iniziare o terminare il comando del terminale?
Oer

Inoltre, dovresti usare l'opzione "Attiva altre scorciatoie da tastiera" e inserire Ctrl-A per andare all'inizio del comando del terminale e Ctrl-E per andare alla fine.
Jacob il

1

in iterm2

fn + freccia sinistra o fn + freccia destra

questo ha funzionato per me


0

Per gli ultimi mac os, le scorciatoie di seguito funzionano per me.

Salta all'inizio della riga == Maiusc + Fn + Freccia destra

Salta alla fine della riga == shift + fn + freccia sinistra

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.