167 votes

Comment coller du texte à la fin de chaque ligne ? Sublime 2

Je suis curieux de savoir s'il existe un moyen de coller du texte à la fin de chaque ligne dans Sublime 2 ? Et inversement, au début de chaque ligne.

ligne de test 1

ligne de test deux

ligne de test trois

ligne d'essai quatre

...

Supposons que vous ayez 100 lignes de texte dans l'éditeur et que vous souhaitiez coller des guillemets au début et à la fin de chaque ligne.

Existe-t-il un moyen facile de le faire ou un plugin que quelqu'un connaîtrait ? Cela me permettrait souvent de gagner beaucoup de temps sur divers projets.

Merci.

4 votes

Actuellement, c'est la deuxième démo sur la page d'accueil... sublimetext.com

594voto

palaniraja Points 4939

Oui, Regex est cool, mais il y a d'autres alternatives.

  • Sélectionnez toutes les lignes que vous voulez préfixer ou suffixer.
  • Aller au menu Sélection -> Diviser en lignes ( Cmd / Ctrl + Shift + L )

Cela vous permet de modifier plusieurs lignes à la fois. Maintenant vous pouvez ajouter * guillemets (") ou autre chose * au début et à la fin de chaque ligne.

37 votes

C'est tellement plus facile à faire.

0 votes

Si utile que j'ai dû suggérer une modification pour améliorer la disposition des touches.

7 votes

Cette réponse est bien meilleure. Vous pouvez également utiliser la touche shift (Windows/Linux) ou la touche option (Mac) tout en sélectionnant une région avec votre souris pour obtenir le même résultat.

81voto

Patrick McDonald Points 20645

Voici le flux de travail que j'utilise tout le temps, en utilisant uniquement le clavier

  1. Ctrl / Cmd + A Sélectionner tout
  2. Ctrl / Cmd + Shift + L Séparation en lignes
  3. ' Encerclez chaque ligne entre guillemets

Notez que cela ne fonctionne pas si la sélection comporte des lignes vides.

3 votes

Ne fonctionne pas pour moi dans st2, étape 3 supprimé toutes les lignes et remplacé par " l'étape 3 devrait être Home " End "

0 votes

@andrej - cela ressemble à un bug. Assurez-vous que vous utilisez la dernière version de st2 et, si c'est le cas, signalez le bogue à l'adresse suivante sublimetext.userecho.com

1 votes

@dbw utilise sublime text 2.0.1 build 2217. Posté comme bug à sublimetext.userecho.com/topic/184875-

38voto

Tomatrox Points 217

Disons que vous avez ces lignes de code :

test line one
test line two
test line three
test line four

Utilisation de Recherche et remplacement Ctrl + H avec Regex trouvons ça : ^ et le remplacer par " nous aurons ça :

"test line one
"test line two
"test line three
"test line four

Maintenant, cherchons ceci : $ et le remplacer par " maintenant nous aurons ça :

"test line one"
"test line two"
"test line three"
"test line four"

0 votes

A très bien fonctionné dans sublime text 3, ce qui a permis de gagner beaucoup de temps

29voto

Yohann Points 1224

Vous pouvez utiliser le Recherche et remplacement avec cette regex ^([\w\d\_\.\s\-]*)$ pour trouver du texte et le texte remplacé est "$1" .

7 votes

Génial ! J'ai trouvé ce qui suit qui a fonctionné pour moi : Utilisation de regex : (?> \x0D\x0A ?|[ \x0A - \x0C\x85\x {2028} \x {2029}]) trouvera la fin de chaque ligne. Et en utilisant regex : ^[a-zA-z0-9!@#$")(*&!+_-] trouvera le début de chaque ligne (à condition que tous les caractères soient ajoutés pour que la regex les recherche au début de chacune des lignes). Merci @yohann !

5 votes

Si vous faites cela avec une expression rationnelle dans un éditeur puissant comme Vim ou ST2, vous ne comprenez pas. Pourquoi dégrader un éditeur décent en sed ?

0 votes

Merci d'avoir sauvé 3 heures de ma vie

24voto

dbw Points 2246

Utilisez sélection de colonnes . La sélection de colonnes est une des caractéristiques uniques de Sublime2 ; elle est utilisée pour vous donner plusieurs curseurs appariés ( tutoriel ici ). Pour obtenir plusieurs curseurs, effectuez l'une des opérations suivantes :

Souris :

  • Maintenez la touche shift (Windows/Linux) ou la touche option (Mac) enfoncée tout en sélectionnant une région avec la souris.

  • En cliquant sur le bouton central de la souris (ou en faisant défiler la page), vous pouvez également sélectionner une colonne.

Clavier :

  • Sélectionnez la région souhaitée.
  • Type control + shift + L (Windows/Linux) ou command + shift + L (Mac)

Vous avez maintenant plusieurs lignes sélectionnées, donc vous pourrait tapez un guillemet au début et à la fin de chaque ligne. Il serait préférable de profiter des capacités de Sublime, et de simplement taper " . Lorsque vous faites cela, Sublime cite automatiquement le texte sélectionné.

Type esc pour quitter le mode curseur multiple.

3 votes

Vous pouvez également déclencher la sélection d'une colonne en cliquant au centre et en faisant glisser le curseur.

2 votes

C'est la manière la plus spécifique à Sublime Text de résoudre le problème et elle utilise une fonctionnalité fondamentale de Sublime Text. Comme le PO s'est renseigné sur Sublime Text dans le titre, cela devrait être la réponse acceptée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X