2013-05-17 8 views
0

Note: Je Emmet installé sur Sublime Text 2Souligné Snippet

Dans mon flux de travail, j'ai beaucoup de projets ont été, je dois mettre underscores dans betwwn chaque mot dans une phrase. Y a-t-il un extrait que je pourrais construire en texte sublime 2 pour le faire avec un tabtrigger d'un texte sélectionné?

Répondre

1

Vous pouvez toujours utiliser Rechercher et remplacer. Mettez en surbrillance le texte que vous voulez et appuyez sur Ctrl - H (ou Commande - H sur Mac) pour ouvrir la boîte et remplacer. Cliquez sur le bouton droit sur la ligne supérieure pour choisir In Selection, et peut-être le bouton en bas à droite pour Highlight matches si vous voulez. Tapez un espace dans la zone Find What:, un trait de soulignement dans la zone Replace With:, et appuyez sur Ctrl - Alt - Entrez pour remplacer tous les (ou Ctrl - Maj - H remplacer un à la fois).


Pour utiliser un extrait, procédez comme suit. Sélectionnez Tools -> New Snippet... et mettre ce qui suit dans le:

<snippet> 
    <content><![CDATA[${SELECTION/\s/_/g}]]></content> 
</snippet> 

Enregistrer comme Packages/User/replace_space_with_underscore.sublime-snippet. Ensuite, ouvrez Preferences -> Key Bindings - User et mis dans les domaines suivants:

[ 
    { "keys": ["ctrl+shift+-"], "command": "insert_snippet", "args": { "name": "Packages/User/replace_space_with_underscore.sublime-snippet" } } 
] 

(. Si vous avez déjà des liaisons de touches personnalisées, il suffit de mettre en { "keys": ["ctrl+shift+-"], "command": "insert_snippet", "args": { "name": "Packages/User/replace_space_with_underscore.sublime-snippet" } } à la fin, et n'oubliez pas de mettre un , après celle juste au-dessus)

Enregistrer les fichiers, et maintenant, vous pouvez mettre en évidence le texte que vous voulez, frappé Ctrl - Maj - -, et remplacer les espaces par des underscores. Si vous voulez juste des espaces (aucuns onglets ou nouvelles lignes), remplacez le "\s" par "\" (espace de barre oblique inverse). Cette expression régulière remplacera plusieurs espaces avec le même nombre de traits de soulignement. Cela devient un peu plus compliqué si vous voulez seulement exactement un espace, ou exactement un trait de soulignement, mais c'est faisable.

+0

Cela peut-il être fait plusieurs fois à partir d'un raccourci? Ou dois-je faire ce processus pour chaque section que je veux changer? –

+0

@SethUrquhart - voir ma modification ci-dessus. Vous pouvez aller sur la route de l'extrait, mais si vous aimez la version Find and Replace, les valeurs des champs doivent rester les mêmes, donc pour l'exécuter plusieurs fois, vous pouvez simplement appuyer sur Ctrl-H, Ctrl-Alt-Enter' . Personnellement, cependant, je prendrais le temps de mettre en place l'extrait, car c'est juste une combinaison de touches unique. – MattDMo

+0

J'utilise Emmet, cela va-t-il affecter cela, désolé, j'aurais dû le mentionner sur ma question. –

1

Vous pouvez facilement créer un extrait avec cette fonctionnalité en utilisant l'expression régulière snippet substitutions. Le seul code dont vous avez besoin est ceci:

<snippet> 
    <content><![CDATA[ 
${SELECTION/\s/_/g} 
]]></content> 
</snippet> 

Vous pouvez alors sélectionner une phrase, exécutez cet extrait de la palette de commande, et tous les espaces à l'intérieur sera remplacé par des underscores. Vous devrez peut-être ajuster la regex (actuellement juste \s) en fonction de la quantité d'espace que vous souhaitez remplacer.

+0

J'utilise Emmet, cela va-t-il affecter cela, désolé, j'aurais dû le mentionner sur ma question. –

+0

@SethUrquhart Emmet ne devrait pas casser la fonctionnalité d'extrait de code simple, non. Je ne sais pas si Emmet peut faire quelque chose de similaire sans avoir besoin d'un nouvel extrait, mais pour moi, utiliser quelque chose comme ça serait la solution la plus simple. –