Как вставить текст в конец каждой строки? Возвышенное 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?
Сех

Спасибо за спасение 3 часов моей жизни
Ф. Майорал

572

Да, Regex это круто, но есть и другая альтернатива.

  • Выберите все строки, которые вы хотите префикс или суффикс
  • Перейти в меню « Выбор» -> «Разделить на строки» ( Cmd/ Ctrl+ Shift+ L)

Это позволяет редактировать несколько строк одновременно. Теперь вы можете добавить * Quotes (") или что-нибудь * в начале и конце каждой строки.


36
Это намного проще сделать.
Яда

6
Это гораздо лучший ответ. Вы также можете использовать Shift (Windows / Linux) или клавишу выбора (Mac) при выборе области мышью, чтобы получить тот же результат.
д.б.н.

5
Вы можете часто редактировать несколько строк, как описано выше, но затем хотите объединить их в одну строку. Ярлык для объединения нескольких строк: ctrl / cmd + J
fionbio

3
Это хороший ответ, но при очень большом количестве строк он может быть значительно более загруженным, чем при использовании команды find & replace.
Ceilingfish

2
Я думаю, что это заслуживает того, чтобы быть предпочтительным ответом
Michael Osofsky

79

Вот рабочий процесс, который я использую все время, используя только клавиатуру

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

Обратите внимание, что это не работает, если в выделении есть пустые строки.


3
не работает для меня в st2, шаг 3 удаляются все строки и заменить его на «шаг 3 должен быть Home» End"
андрей

@andrej - это звучит как ошибка. Убедитесь, что вы используете новейшую версию st2, и, если это так, сообщите об ошибке на sublimetext.userecho.com
dbn

1
@dbw работает с возвышенным текстом 2.0.1, сборка 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) клавиши home и end не работали для меня. Если у вас возникли проблемы, проверьте: coderwall.com/p/upolqw/…
avance

Не совсем @Phil. Вы также можете использовать Cmd + стрелка влево / вправо для навигации. Я думаю, что то же самое будет работать и на окнах
Клод Х

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, сэкономил
массу

22

Используйте выбор столбца . Выбор столбцов является одной из уникальных особенностей Sublime2; он используется, чтобы дать вам несколько подходящих курсоров ( учебник здесь ). Чтобы получить несколько курсоров, выполните одно из следующих действий:

Мышь:

  • Удерживая нажатой клавишу «Shift» (Windows / Linux) или «Option» (Mac), выберите область мышью.

  • Нажатие средней кнопки мыши (или прокрутки) также выберет в качестве столбца.

Клавиатура:

  • Выберите нужный регион.
  • Введите control+ shift+ L(Windows / Linux) или command+ shift+ L(Mac)

Теперь у вас выделено несколько строк, так что вы можете ввести кавычку в начале и конце каждой строки. Было бы лучше воспользоваться возможностями Sublime и просто набрать " . При этом Sublime автоматически цитирует выделенный текст.

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


3
Вы также можете запустить выбор столбца, щелкнув средней кнопкой мыши и перетащив.
Кертис Гибби

2
Это наиболее конкретный способ решения проблемы, основанный на Sublime Text, который использует фундаментальную функцию Sublime Text. Поскольку ФП спросил о возвышенном тексте в заголовке, это должен быть принятый ответ.
Дрибблер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.