Як вставити текст до кінця кожного рядка? Піднесене 2


161

Мені цікаво, чи є спосіб вставити текст до кінця кожного рядка в Sublime 2? І навпаки, до початку кожного рядка.

тестова лінія перша

тестова лінія друга

тестова лінія третя

тестова лінія четверта

...

Скажімо, у редакторі 100 рядків тексту, і ви хочете вставити лапки до початку та кінця кожного рядка.

Чи є простий спосіб зробити це чи плагін, про який хтось би знав? Це часто економило мені багато часу на різних проектах.

Дякую.


4
Наразі це вже друга демонстрація на домашній сторінці ... sublimetext.com
TWiStErRob

Відповіді:


28

Ви можете скористатися функцією пошуку та заміни за допомогою цього регексу, ^([\w\d\_\.\s\-]*)$щоб знайти текст, а замінений текст є "$1".


7
Дивовижно! Тож я знайшов, що для мене працювало: Використання регулярного вираження: (?> \ X0D \ x0A? | [\ X0A- \ x0C \ x85 \ x {2028} \ x {2029}]) знайде кінець кожного рядка. І використовуючи регулярний вираз: ^ [a-zA-z0-9! @ # $ ") (* &! + _-] знайде початок кожного рядка (за умови додавання всіх символів для регулярного вираження для пошуку на початку кожного рядків). Дякую @yohann!
Тоні Х.

5
Якщо ви робите це з регулярним виразом в такому потужному редакторі, як Vim або ST2, вам не вистачає підказки. Навіщо деградувати гідного редактора sed?
sehe

Дякую, що врятували 3 години мого життя
Ф. Майорал

572

Так, Regex здорово, але є й інша альтернатива.

  • Виберіть усі рядки, які ви хочете префіксувати або суфікс
  • Вибір меню Вибір -> Розділити на лінії ( Cmd/ Ctrl+ Shift+ L)

Це дозволяє редагувати кілька рядків одночасно. Тепер ви можете додати * Quotes (") або що-небудь * на початку та в кінці кожного рядка.


36
Це набагато простіше зробити.
Яда

6
Це набагато краща відповідь. Ви також можете використовувати shift (Windows / Linux) або клавішу опції (Mac), вибираючи область мишею, щоб отримати той же результат.
dbn

5
Ви можете часто редагувати кілька рядків, як описано вище, але потім хочете об'єднати їх знову в один рядок. Ярлик для приєднання до декількох рядків: ctrl / cmd + J
fionbio

3
Це хороша відповідь, але для дуже великих підрахунків рядків це може бути набагато більш інтенсивним процесором, ніж використання пошуку та заміни.
Стіловий риб

2
Я думаю, що це заслуговує на
найкращу

79

Ось робочий процес, який я використовую весь час, лише за допомогою клавіатури

  1. Ctrl/ Cmd+ AВиберіть усе
  2. Ctrl/ Cmd+ Shift+ LРозділити на лінії
  3. ' Обведіть кожен рядок цитатами

Зверніть увагу, що це не працює, якщо у виборі є порожні рядки.


3
не працює для мене в st2, крок 3 видалив усі рядки і замінив його "кроком 3 має бути Home" End"
andrej

@andrej - це звучить як помилка. Переконайтеся, що ви використовуєте найновішу версію st2, і якщо так, повідомте про помилку на sublimetext.userecho.com
dbn

1
@dbw працює з піднесеним текстом 2.0.1 build 2217. Опубліковано як помилка на sublimetext.userecho.com/topic/184875-
andrej

@andrej Я можу відтворити вашу проблему, якщо у мене є якісь порожні рядки у виборі
Патрік Макдональд,

52
  1. Виберіть усі рядки, до яких потрібно додати префікс або суфікс. (Якщо ви хочете додати префікс або суфікс лише до певних рядків, ви можете використовувати ctrl+ Left mouse buttonдля створення декількох курсорів.)
  2. Натисніть Ctrl+ Shift+ L.
  3. Натисніть Homeклавішу та додайте префікс.
  4. Натисніть Endклавішу та додайте суфікс.

Зауважте, відключіть обгортання слів, інакше воно не працюватиме належним чином, якщо ваші рядки довші за піднесену ширину.


2
це фактичне виправлення. дім і клавіші закінчення мають вирішальне значення для роботи належним чином
Філ

У Sublime Text 3 (для Mac) домашні та кінцеві клавіші не працювали для мене. Якщо у вас є проблеми, перевірте: coderwall.com/p/upolqw/…
avance

Не дуже @Phil. Ви також можете використовувати Cmd + стрілку вліво / вправо для навігації. Я думаю, те саме буде працювати і на windows
Клод Н

33

Скажімо, у вас є такі рядки коду:

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

Використовуючи пошук і заміну Ctrl+ Hна Regex, давайте знайдемо це: ^і замінимо його ", ми матимемо це:

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

Тепер давайте шукатимемо це: $і замінимо його ", тепер у нас буде таке:

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

дуже добре працював у піднесеному тексті 3, заощадив багато часу
jamescampbell

22

Використовуйте вибір стовпців . Вибір стовпців - одна з унікальних особливостей Sublime2; він використовується для отримання декількох відповідних курсорів ( тут навчальний посібник ). Щоб отримати кілька курсорів, виконайте одну з наступних дій:

Миша:

  • Утримуючи клавішу зсуву (Windows / Linux) або клавішу опції (Mac), вибираючи область мишею.

  • Клацання середньої кнопки миші (або прокрутки) також буде вибрано як стовпець.

Клавіатура:

  • Виберіть потрібний регіон.
  • Введіть control+ shift+ L(Windows / Linux) або command+ shift+ L(Mac)

Тепер у вас вибрано кілька рядків, тому ви можете ввести лапки на початку та в кінці кожного рядка. Було б краще скористатися можливостями Sublime і просто ввести " . Коли ви це зробите, Sublime автоматично цитує вибраний текст.

Введіть escдля виходу з режиму декількох курсорів.


3
Ви також можете запустити вибір стовпчика, клацнувши середнім клацанням та перетягуванням.
Кертіс Гіббі

2
Це найбільш специфічний спосіб вирішення проблеми, який застосовується для піднесеного тексту та використовує фундаментальну особливість піднесеного тексту. Оскільки ОП запитала про піднесений текст у заголовку, це має бути прийнятою відповіддю.
Дриблер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.