Как вставить текст в конец каждой строки? Возвышенное 2

161

Мне интересно, есть ли способ вставить текст в конец каждой строки в Sublime 2? И наоборот, к началу каждой строки.

Первая тестовая линия

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

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

тестовая линия четыре

...

Скажем, у вас есть 100 строк текста в редакторе, и вы хотите вставить кавычки в начало и конец каждой строки.

Есть ли простой способ сделать это или плагин, о котором кто-нибудь узнает? Это часто экономит мне много времени на различных проектах.

Спасибо.

Тони Х.
источник
4
В настоящее время это вторая демонстрация на домашней странице ... sublimetext.com
TWiStErRob

Ответы:

28

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

Yohann
источник
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 (") или что-нибудь * в начале и конце каждой строки.

palaniraja
источник
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"
Tomatrox
источник
очень хорошо работал в возвышенном тексте 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. Поскольку ФП спросил о возвышенном тексте в заголовке, это должен быть принятый ответ.
Дрибблер