2015-05-16 13 views
6

Nell'editor di atomi, quando si digita console.log( ad esempio, diventa console.log() e il cursore rimane tra le due parentesi. Quindi devo usare il tasto END o il tasto freccia destra per saltare fuori da lì. C'è un modo per usare invece TAB (per saltare fuori dalla parentesi finale/parentesi/quotazione)?Salta sopra parentesi/parentesi/quotazione nell'editor di atomi con TAB

+0

Sarebbe bello averlo fuori dalla scatola. Dai un'occhiata a [questo thread] (https://discuss.atom.io/t/move-cursor-out-of-parenthes-quotes-or-brackets/10618) su Atom Discuss. –

risposta

14

Se si continua a digitare, poi la chiusura ) verrà 'inghiottita' dal matcher staffa di Atom, quindi non c'è bisogno di premere Fine o .

Tuttavia, ci sono alcune situazioni in cui il matcher della staffa di Atom non inghiottisce i tasti e non è possibile continuare a digitare. Ad esempio, quando si inserisce il codice seguente, dopo aver premuto ; potrebbe essere necessario spostare il cursore oltre la parentesi graffa di chiusura (che Atom inserito automaticamente):

if (someCondition) { 
    doSomething(); 
} 

In situazioni come questa, è possibile utilizzare un comando personalizzato e una mappa personalizzata per saltare il cursore in avanti. Ecco come ...


Vai al menu File e selezionare 'Open Your Init Script', quindi incollare il seguente codice nel file. Definisce un comando che può spostare il cursore in avanti, saltando su una singola parentesi, parentesi graffa o virgolette.

SymbolRegex = /\s*[(){}<>[\]/'"]/ 
atom.commands.add 'atom-text-editor', 'custom:jump-over-symbol': (event) -> 
    editor = atom.workspace.getActiveTextEditor() 
    cursorMoved = false 
    for cursor in editor.getCursors() 
    range = cursor.getCurrentWordBufferRange(wordRegex: SymbolRegex) 
    unless range.isEmpty() 
     cursor.setBufferPosition(range.end) 
     cursorMoved = true 
    event.abortKeyBinding() unless cursorMoved 

È necessario chiudere e riaprire Atom per ricaricare lo script di inizializzazione.

Successivamente, accedere al menu file, selezionare "Apri la mappa della tastiera" e inserire una combinazione di tasti per il nuovo comando. Si potrebbe utilizzare la scheda chiave , ma che sarebbe in conflitto con mappa della tastiera di default di Atom per i frammenti, ecco ho usato Alt + ) invece:

'atom-text-editor:not([mini])': 
    'alt-)': 'custom:jump-over-symbol' 

Un'altra opzione è solo per disabilitare Inserimento automatico delle staffe di chiusura da parte di Atom. Penso che tu possa farlo andando su Impostazioni → Pacchetti → parentesi quadra → Impostazioni, e cancellando l'opzione "Completa le parentesi".

+0

Grazie mille. Ha funzionato. –

+0

Grazie - sembra super basic, ma questo mi dava fastidio anche a me – ruby24

+0

Mi chiedo quale sia il punto di auto-battitura della parentesi di chiusura. Se digiti '(' e ottieni automaticamente un ')' che devi ancora digitare (e aver ingoiato), qualcosa sembra un po 'inutile? – Jesse

3

Anche io volevo questo in Atom quindi sono andato avanti e ho creato un pacchetto per questo. https://atom.io/packages/tab-through

valore aggiunto rispetto la soluzione di crumbletown è che si può cambiare la combinazione di tasti e caratteri che si desidera tramite impostazioni pacchetto (io personalmente scheda, da cui il nome del pacchetto preferisco), vs. dover apportare modifiche allo script di init.