sublime texte sélectionner, dans chaque ligne
Dans Vim, il y a vraiment une bonne pour trouver/remplacer la première occurrence de chaque ligne. C'est autant que je sache réellement le comportement par défaut.
Comment puis-je obtenir le même comportement dans sublime text?
J'ai besoin d'être en mesure de marquer/trouver le PREMIER (et le premier seulement!) caractère, par exemple,'=', dans chaque ligne, de sorte que je peut facilement marquer/copier/couper ce qui est avant et après que le caractère spécifique. Rappelez-vous, il pourrait y avoir beaucoup de ce caractère spécifique de chaque ligne.
Exemple concret:
J'ai une longue liste de propriétés java sous la forme:
my.property.link1=<a href="asdfs">Link 1</a>
my.property.link22=<a href="asdfs">Link 22</a>
my.property.link333=<a href="asdfs">Link 333</a>
my.property.link4444=<a href="asdfs">Link 4444</a>
Je veux souligner la première "=" à chaque ligne, pour être en mesure de sélectionner tout le texte précédent (indifférents à partir de la quantité de texte qui précède le "=") pour couper ou copier du texte. La pâte-le résultat d'une telle action serait:
my.property.link1
my.property.link22
my.property.link333
my.property.link4444
OriginalL'auteur Hoof | 2013-04-15
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez le texte suivant:
Appuyez sur Ctrl + F (ou cliquez sur Trouver->Find)
Permettre des expressions régulières
Tapez dans le champ de recherche:
^.*?(?==)
Preess Alt + Entrée (ou cliquez sur Rechercher Tous)
Maintenant tout le texte avant de
=
est sélectionné, il vous suffit de le copier.OriginalL'auteur Hugo Corrá
J'ai en fait écrit un sublime plugin appelé SelectUntil qui traite de ce problème exact: https://github.com/xavi-/sublime-selectuntil
Une fois install, vous pouvez effectuer les opérations suivantes
L'expérience devrait ressembler à quelque chose comme ceci:
Je suis d'accord, j'aimerais bien avoir la patience (ou le fruit du hasard) d'écrire un plugin pour sublime à chaque fois que je rencontre une situation où ils seraient utiles.
OriginalL'auteur Xavi
Essayé et ça semble fonctionner:
Regex pour trouver de l'aide ^(.*)(STRING_TO_MATCH)
\1 donnera tous les trucs avant votre match, \2 donne le match lui-même.
Vous pouvez également utiliser ^(.*)(STRING_TO_MATCH)(.*) et puis \3 serait tout après.
Modifier - si vous êtes à la recherche pour sélectionner et copier, j'ai essayé ceci:
^[^CHAR]*
Ce trouverez de tout, du début de la ligne jusqu'à et n'incluant pas de votre personnage. De là, vous pouvez faire un clic droit pour copier. Je n'ai pas trouvé une séquence de frappes de le faire depuis le panneau de recherche a le focus, vous pouvez peut-être comprendre.
voir mon edit au dessus
OriginalL'auteur NTyler
En supposant que vous avez le texte suivant:
..et vous souhaitez remplacer chaque occurrence d'Un dans chaque ligne de X:
Appuyez sur Ctrl + H (ou cliquez sur Trouver->Remplacer)
Trouver quoi:
A(.*)
Remplacer Par:
X\1
Puis cliquez sur remplacer tout.
X X BBBX X
Vous voulez probablement Remplacer par: X\1C'est vrai, j'ai oublié le \1 ...merci!
Cela fonctionne - lorsque vous remplacez un certain texte. Cependant, je tiens à marquer tout le texte précédant le match, pour être en mesure de copier/coller dans un autre document...
OK, j'ai juste posté une autre réponse qui je pense peut résoudre votre problème.
Oui - marqué comme réponse! 🙂
OriginalL'auteur Hugo Corrá
Sélectionner tout avec
Ctrl + A
puis appuyez surCtrl + Shift + L
et enfin aller à "Sélection- > Inverser la Sélection" comme sur l'image et le tour est joué!:OriginalL'auteur Maximiliano Becerra
Pour résoudre ce problème, vous pouvez utiliser la ligne de commande
cc.gbc 1/=/
de ConyEdit (un plugin) pour obtenir le texte avant la première colonne de regex match.OriginalL'auteur Dick