Edycja wielu linii Sublime Text 2


147

Chcę edytować wiele wierszy i każde „słowo” w tym wierszu. Na przykład:

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

Chcę zaznaczyć każdą liczbę całkowitą we wszystkich wierszach i umieścić przed nią „0x”, aby wyglądała następująco:

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

Znam Ctrl+ shift+, Laby uzyskać kursory w każdym wierszu, ale jak mogę ustawić kursory przed każdą liczbą, aby edytować masowo wszystkie naraz?


Prawdopodobnie jest już późno, aby odpowiedzieć na to pytanie, ale tutaj jest link, w którym możesz znaleźć odpowiedź na pytanie. sublimetext.com/docs/3/…
Alexander

Odpowiedzi:


282

Podświetl linie i użyj:

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

Następnie możesz przesunąć kursor do treści swojego serca i edytować wszystkie linie jednocześnie.

Nazywa się to również „Podziel na linie” w menu „Zaznaczenie”.


Tak, ale jak mogę edytować jednocześnie wszystkie numery w wierszach? Więc jak gdybym miał zrobić tylko pierwszą linię, mógłbym edytować od razu każdą liczbę w pierwszej linii? Jeśli to ma jakiś sens
Syperus

nie możesz - możesz mieć kursor tylko w jednym miejscu w dowolnej linii. Ale możesz przenieść go na początek wiersza, dodać 0x, użyć alt>, aby przejść wzdłuż jednego słowa i ponownie dodać 0x.
Owen

28
To nieprawda - możesz mieć dowolną liczbę kursorów w jednej linii. Wszystko, co musisz zrobić, to Ctrl-click(w systemie Windows) je umieścić.
MattDMo

3
@MattDMo YES !! Dokładnie tego szukałem. Czy przypadkiem znasz skrót klawiaturowy, aby wybrać je wszystkie w ten sposób? Rozejrzę się i zobaczę, czy mogę to znaleźć.
Syperus

kiedy użyłem Ctrl+ Shift+ L, zaznacza wszystkie linie, ale kursor w każdej linii znajduje się na początku lub na końcu linii. jeśli następnie naciśnę strzałkę w lewo, próbując przenieść wszystkie kursory z powrotem na początek każdej linii, przesuwa kursory do tyłu w stosunku do miejsca, w którym się znajdują, więc nadal nie są one równomiernie w tym samym miejscu w linii. jak uzyskać wszystkie kursory na początku linii? (dla kontekstu próbuję tylko dodać [space]*[space]na początku każdego wiersza).
user1063287

84

Użyj wielu kursorów i wyboru kolumn.

W twoim przypadku wystarczy umieścić kursory na początku każdej kolumny zawierającej „słowa”.

Linux i Windows

  • Kliknij i przeciągnij, aby wybrać kolumny: Shift+RightMouseBtn
  • Dodaj inne kolumny do zaznaczenia, klikając i przeciągając: Ctrl+ Shift+RightMouseBtn
  • Odejmij kolumny od zaznaczenia: Alt+ Shift+RightMouseBtn
  • Dodaj poszczególne kursory: Ctrl+LeftMouseBtn
  • Usuń poszczególne kursory: Alt+LeftMouseBtn

Prochowiec

  • Kliknij i przeciągnij, aby wybrać kolumny: Option⌥+LeftMouseBtn
  • Dodaj inne kolumny do zaznaczenia, klikając i przeciągając: Option⌥+LeftMouseBtn
  • Odejmij kolumny od zaznaczenia: Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • Dodaj poszczególne kursory: Cmd⌘+LeftMouseBtn
  • Usuń poszczególne kursory: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

Następnie edytuj w razie potrzeby. W twoim przypadku, typ 0, x.

Możesz także przejść w razie potrzeby do końca lub początku słów, zaznaczyć je i ująć w cudzysłowy lub nawiasy itd.


Bibliografia:


10

Pracował dla mnie na OS X + Sublime build 3083:

OPTION (ALT) + select lines

3

Nie jestem pewien, czy jest to możliwe „po wyjęciu z pudełka”. I niestety nie znam też odpowiedniej wtyczki. Aby rozwiązać problem, który zasugerowałeś, możesz użyć wyrażeń regularnych.

  1. Cmd + F (znajdź)
  2. Regexp: [^ ]+(lub \d+, lub cokolwiek wolisz)
  3. Option + F (znajdź wszystko)
  4. Edytuj to

Skróty klawiszowe mogą się różnić w zależności od twojego systemu operacyjnego i osobistych preferencji (moje są dla OS X).


Nie jest wymagana żadna wtyczka. Użyj Alt + Enter na końcu dla Linuksa.
elomage

2

Miałem ten sam problem w Linuksie, co zrobiłem, to zaznaczenie całej zawartości (ctrl-A), a następnie naciśnięcie ctrl + shift + L, daje kursor w każdej linii, a następnie możesz dodać podobną zawartość do każdej kolumny .

Możesz także wykonywać inne operacje, takie jak wycinanie, kopiowanie i wklejanie kolumn.

PS: - Jeśli chcesz wybrać prostokątny zestaw danych z tekstu, możesz również nacisnąć klawisz Shift i przytrzymać prawy przycisk myszy, a następnie wybrać dane w sposób prostokątny. Następnie naciśnij CTRL + SHIFT + L, aby umieścić kursor w każdym wierszu.



2

W systemie Windows wolę Ctrl+ Alt+ Down.

Wybiera linie jeden po drugim i automatycznie uruchamia tryb edytora wielu linii. W ten sposób jest trochę szybszy. Jeśli masz wiele linii do edycji, lepszym wyborem jest zaznaczenie tekstu i Ctrl+ Shift+ L.



-1

Dobrze jest ręcznie wybrać każdą liczbę dla małego zestawu liczb, jak w twoim przykładzie, ale w przypadku większych zbiorów możesz przeprowadzić wyszukiwanie wyrażenia regularnego, które wykona pracę za Ciebie.

Ctrl+ Fotworzy pasek wyszukiwania.

Wyszukiwanie Regex włącza się, klikając przycisk „. *” Po lewej stronie.

Wpisz „\ d +”, aby wyszukać wszystkie wystąpienia jednej lub więcej cyfr. Kliknięcie przycisku „Znajdź wszystko” spowoduje wybranie każdego z tych numerów osobno.

Następnie możesz użyć Ctrl+ Shift+, Laby przekonwertować zaznaczenie na wiele kursorów. Stąd możesz robić, co chcesz.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.