Sublime Text 2 édition sur plusieurs lignes


147

Je veux éditer plusieurs lignes et chaque "mot" dans cette ligne. Par exemple:

45 28 42 65
24 87 47 95
01 25 87 98

Je veux sélectionner chaque nombre entier dans toutes les lignes et mettre un "0x" devant lui pour qu'il ressemble à:

0x45 0x28 0x42 0x65
0x24 0x87 0x47 0x95
0x01 0x25 0x87 0x98

Je connais le Ctrl+ shift+ Lpour obtenir des curseurs sur chaque ligne, mais comment puis-je obtenir les curseurs devant chaque nombre pour les éditer en masse en même temps?


Il est probablement tard pour répondre à cette question, mais voici un lien où vous pourriez trouver une réponse à une question. sublimetext.com/docs/3/…
Alexander

Réponses:


282

Mettez en surbrillance les lignes et utilisez:

  • Windows: Ctrl+ Shift+L
  • Mac: Cmd ⌘+ Shift+L

Vous pouvez ensuite déplacer le curseur au contenu de votre cœur et modifier toutes les lignes à la fois.

Il est également appelé "Split into Lines" dans le menu "Selection".


Oui, mais comment puis-je modifier tous les nombres sur les lignes en même temps? Donc, comme si je devais ne faire que la première ligne, je pourrais modifier chaque numéro de la première ligne à la fois? Si cela a un sens
Syperus

vous ne pouvez pas - vous ne pouvez avoir le curseur qu'à un seul endroit sur une ligne donnée. Mais vous pouvez le déplacer au début de la ligne, ajouter 0x, utiliser alt> pour vous déplacer le long d'un mot et ajouter à nouveau 0x.
Owen

28
Ce n'est pas vrai - vous pouvez avoir autant de curseurs que vous le souhaitez sur une ligne. Tout ce que vous avez à faire est Ctrl-click(sous Windows) de les placer.
MattDMo

3
@MattDMo OUI !! C'est exactement ce que je cherchais. Connaissez-vous par hasard le raccourci clavier pour les sélectionner tous comme ça? Je vais regarder autour de moi et voir si je peux le trouver.
Syperus

quand j'ai utilisé Ctrl+ Shift+ L, il sélectionne toutes les lignes, mais le curseur sur chaque ligne est soit au début ou à la fin de la ligne. si j'appuie ensuite sur la flèche gauche, pour tenter de ramener tous les curseurs au début de chaque ligne, il déplace les curseurs vers l'arrière par rapport à l'endroit où ils se trouvent, de sorte qu'ils ne sont toujours pas uniformément à la même position dans la ligne. comment obtenir tous les curseurs au début de la ligne? (pour le contexte, j'essaie juste d'ajouter [space]*[space]au début de chaque ligne).
user1063287

84

Utilisez plusieurs curseurs et la sélection de colonnes.

Dans votre cas, il vous suffit de placer les curseurs au début de chaque colonne contenant les "mots".

Linux et Windows

  • Cliquez et faites glisser pour sélectionner la (les) colonne (s): Shift+RightMouseBtn
  • Ajouter d'autres colonnes à la sélection par clic et glisser: Ctrl+ Shift+RightMouseBtn
  • Soustraire la (les) colonne (s) de la sélection: Alt+ Shift+RightMouseBtn
  • Ajouter des curseurs individuels: Ctrl+LeftMouseBtn
  • Supprimer les curseurs individuels: Alt+LeftMouseBtn

Mac

  • Cliquez et faites glisser pour sélectionner la (les) colonne (s): Option⌥+LeftMouseBtn
  • Ajouter d'autres colonnes à la sélection en cliquant et en faisant glisser: Option⌥+LeftMouseBtn
  • Soustraire la (les) colonne (s) de la sélection: Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • Ajouter des curseurs individuels: Cmd⌘+LeftMouseBtn
  • Supprimer les curseurs individuels: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

Puis modifiez si nécessaire. Dans votre cas, tapez 0, x.

Vous pouvez également naviguer selon vos besoins jusqu'à la fin ou au début des mots, sélectionner les mots et les entourer de guillemets ou de parenthèses, etc.


Références:


10

A travaillé pour moi sur OS X + Sublime build 3083:

OPTION (ALT) + select lines

3

Je ne suis pas sûr que ce soit possible «prêt à l'emploi». Et, malheureusement, je ne connais pas non plus de plugin approprié. Pour résoudre le problème que vous avez suggéré, vous pouvez utiliser des expressions régulières.

  1. Cmd + F (Rechercher)
  2. Regexp: [^ ]+(ou \d+, ou ce que vous préférez)
  3. Option + F (trouver tout)
  4. Éditer

Les raccourcis clavier peuvent varier en fonction de votre système d'exploitation et de vos préférences personnelles (les miennes sont pour OS X).


Aucun plugin requis. Utilisez Alt + Entrée à la fin pour Linux.
elomage

2

J'étais confronté au même problème sous Linux, ce que j'ai fait était de sélectionner tout le contenu (ctrl-A) puis d'appuyer sur ctrl + shift + L, cela vous donne un curseur sur chaque ligne et vous pouvez ensuite ajouter un contenu similaire à chaque colonne .

Vous pouvez également effectuer d'autres opérations telles que couper, copier et coller par colonne.

PS: - Si vous souhaitez sélectionner un ensemble rectangulaire de données à partir du texte, vous pouvez également appuyer sur Maj et maintenir le bouton droit de la souris, puis sélectionner les données de manière rectangulaire. Appuyez ensuite sur CTRL + SHIFT + L pour placer le curseur sur chaque ligne.


2

Windows: je préfère Alt + F3 pour rechercher une chaîne et modifier toutes les instances de la chaîne de recherche à la fois.

http://www.sublimetext.com/docs/selection


Alt + F3 fonctionne également sous Linux et avec Sublime Text 3. C'est le moyen le plus rapide et le plus simple d'éditer la même chaîne dans un fichier.
kiamlaluno

2

Sous Windows, je préfère Ctrl+ Alt+ Down.

Il sélectionne les lignes une par une et lance automatiquement le mode éditeur multiligne. C'est un peu plus rapide de cette façon. Si vous avez beaucoup de lignes à modifier, sélectionner le texte et Ctrl+ Shift+ Lest un meilleur choix.


0

ctrl + shift + clic droit cela fonctionne mieux de cette façon


-1

C'est bien de sélectionner manuellement chaque nombre pour un petit ensemble de nombres comme dans votre exemple, mais pour les collections plus grandes, vous pouvez faire une recherche regex qui fera le travail pour vous.

Ctrl+ Fouvrira la barre de recherche.

Les recherches Regex sont activées en cliquant sur le bouton ". *" À l'extrême gauche.

Tapez "\ d +" pour rechercher toutes les occurrences de 1 ou plusieurs chiffres. Cliquez sur le bouton «Rechercher tout» pour sélectionner chacun de ces numéros séparément.

Ensuite, vous pouvez utiliser Ctrl+ Shift+ Lpour convertir la sélection en plusieurs curseurs. De là, vous pouvez faire ce que vous voulez.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.