2013-08-02 11 views
23

Der Erhabene Text word_separator ist:Sublime Text word_separator Camelcase

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

ich auch in Camelcase wie Fall ändern würde Änderung in Betracht gezogen werden. Gibt es eine Einstellung/einen Weg, dies zu tun?

(ZB in FooBar ctrl + bck_space sollte nur Bar löschen).

+4

drücken Sie Alt statt ctrl – Taylan

+0

Alt zu durchqueren + Entf ist nicht gebunden. – atamanroman

Antwort

40

Im Fall noch jemand bei dieser Suche ...

In Ihren Standard-Tastaturbelegungen finden Sie:

{ "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} }, 

alt Verwenden + direction wird um "subwords" im Gegensatz zu "words" verschoben, was camelCase berücksichtigt. Ich bevorzuge das über den Standard, also habe ich den alt + -Richtungssatz in meine Benutzer-Tastaturbelegungen kopiert und die Instanzen von alt durch Strg ersetzt. Voila, Strg + Richtung bewegt sich durch camelCase sowie die definierten Worttrennzeichen.

Auch bin ich mir nicht sicher, ob die Verwendung der Subwords-Einstellung Unterstriche berücksichtigt, ich habe _ immer zu den Worttrennzeichen _ hinzugefügt, nur um sicherzugehen.

+1

Als Nebenbemerkung: Diese Einstellung scheint nur für Windows zu funktionieren. Auf dem Mac ist die 'Alt + Left' Systemvoreinstellung für" move by words "- ich musste manuell" Super + Left "auf" move by subwords "in den benutzerdefinierten Tastenbelegungspräferenzen setzen – Philipp

+0

Unterworttrenner ist nur' _ 'und von Groß- auf Kleinschreibung wechseln. Der Name 'foo1bar' hat 1 Unterwort, während' foo1Bar' 2 Unterwörter (foo1 + Bar) hat, auch 'foo_bar' hat 2 Unterwörter (foo_ + bar) – Philipp

+0

@Philipp Für mich funktioniert Alt + Left auch in OS X. _ (Unterstrich) war kein Standard-Worttrennzeichen, daher müssen Sie es in Preferences.sublime-settings des Benutzers selbst hinzufügen. –

3

mit Alt funktioniert nur für die Bewegung, nicht zu löschen, aber ich fand etwas, das ziemlich gut funktioniert:

vorwärts löschen (Alt + Entf):

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

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

löschen rückwärts (alt + Rücktaste)

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

Speichern Sie es in Ihrem Benutzerverzeichnis. Nun, Sie binden Tasten wie folgt aus:

{ "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 Modus für mich in erhabener Text arbeitet 3 Camelcase Wörter