2013-08-02 18 views
23

Il testo sublime word_separator è:testo Sublime word_separator CamelCase

"word_separators": "./\\()\"'-:,.;<>[email protected]#$%^&*|+=[]{}`~?", 

Vorrei anche cambiamento caso in CamelCase per essere considerato il cambiamento. C'è un setting/modo per farlo?

(Ad esempio in FooBar ctrl + bck_space deve eliminare solo Bar).

+4

Premere Alt invece di Ctrl – Taylan

+0

Alt + Delete è non legato. – atamanroman

risposta

40

Nel caso in cui qualcuno sta ancora guardando questo ...

Nelle tue scorciatoie da tastiera di default troverete:

{ "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, 
{ "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} }, 
{ "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, 
{ "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} }, 

{ "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} }, 
{ "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} }, 
{ "keys": ["alt+shift+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true} }, 
{ "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} }, 

Utilizzando alt + direzione si sposterà per "parole secondarie" anziché "parole", che tiene conto di camelCase. Preferisco quella predefinita, quindi ho copiato l'alt + direction set nelle mie combinazioni di tasti utente e sostituito le istanze di alt con ctrl. Voila, ctrl + direzione si sposta da CamelCase e dai separatori di parole definiti.

Inoltre, non sono sicuro che l'utilizzo delle impostazioni delle parole chiave terrà conto dei caratteri di sottolineatura, ho sempre aggiunto _ alla parola separatori solo per essere sicuro.

+1

Come sidenote: questa impostazione sembra funzionare solo per Windows. Su Mac "Alt + Left" è l'impostazione di sistema per "move by words" - Ho dovuto mappare manualmente "Super + Left" su "move by subwords" nelle preferenze dei tasti-chiave definite dall'utente – Philipp

+0

Il separatore delle parole chiave è solo '_ 'e cambia da maiuscolo a minuscolo. Il nome 'foo1bar' ha 1 sottoprocesso, mentre' foo1Bar' ha 2 sottosezioni (foo1 + Bar), anche 'foo_bar' ha 2 sottopri (foo_ + bar) – Philipp

+0

@Philipp Per me Alt + Sinistra funziona anche in OS X. _ (underscore) non era un separatore di parole predefinito, quindi dovrai aggiungerlo tu stesso in Preferences.sublime-settings dell'utente. –

3

Utilizzando alt funziona solo per lo spostamento, non per cancellare, ma ho trovato qualcosa che funziona piuttosto bene:

Elimina in avanti (Alt + Canc):

delete_subword.sublime-macro: 
[ 
    { 
     "command": "move", 
     "args": { 
     "by": "subwords", 
     "extend": true, 
     "forward": false 
     } 

    }, 
    { 
     "args": null, 
     "command": "left_delete" 
    } 
] 

Delete indietro (alt + backspace)

delete_subword_forward.sublime-macro: 
[ 
    { 
     "command": "move", 
     "args": { 
     "by": "subwords", 
     "extend": true, 
     "forward": true 
     } 
    }, 
    { 
     "args": null, 
     "command": "right_delete" 
    } 
] 

Salvarlo nella directory dell'utente. Ora, si associa chiavi in ​​questo modo:

{ "keys": ["alt+backspace"], "command": "run_macro_file", "args": {"file": "Packages/User/delete_subword.sublime-macro"} }, 
{ "keys": ["alt+delete"], "command": "run_macro_file", "args": {"file": "Packages/User/delete_subword_forward.sublime-macro"} }, 

Source

0

Alt + W in vim modalità funziona per me nel testo sublime 3 per attraversare parole CamelCase

Problemi correlati