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

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

первая тестовая строка

тестовая строка два

тестовая строка три

тестовая строка четыре

...

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

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

Спасибо.


person Tony H.    schedule 22.05.2012    source источник
comment
В настоящее время это вторая демонстрация на главной странице ... sublimetext.com   -  person TWiStErRob    schedule 03.02.2013


Ответы (6)


Для поиска текста и замененный текст - "$1".

person Yohann    schedule 22.05.2012
comment
Потрясающий! Итак, я обнаружил, что у меня сработало следующее: Использование регулярного выражения: (? ›\ X0D \ x0A? | [\ X0A- \ x0C \ x85 \ x {2028} \ x {2029}]) найдет конец каждой строки. А использование регулярного выражения: ^ [a-zA-z0-9! @ # $) (* &! + _-] найдет начало каждой строки (при условии, что все символы добавлены для регулярного выражения для поиска в начале каждой из строки) Спасибо @yohann! - person Tony H.; 23.05.2012
comment
Если вы делаете это с помощью регулярного выражения в мощном редакторе, таком как Vim или ST2, вам не хватает подсказки. Зачем понижать приличный редактор до sed? - person sehe; 09.12.2012
comment
Спасибо, что сэкономили 3 часа моей жизни - person F. Mayoral; 11.03.2013

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

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

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

person palaniraja    schedule 20.07.2012
comment
Это сделать намного проще. - person Yada; 27.07.2012
comment
Настолько полезно, что мне пришлось предложить правку для улучшения раскладки клавиш. - person Tiago Almeida; 30.11.2012
comment
Это гораздо лучший ответ. Вы также можете использовать Shift (Windows / Linux) или клавишу выбора (Mac) при выборе региона с помощью мыши, чтобы получить тот же результат. - person dbn; 10.12.2012
comment
Вы можете часто редактировать несколько строк, как описано выше, но затем захотите снова объединить их в одну строку. Ярлык для объединения нескольких строк: ctrl / cmd + J - person fionbio; 14.03.2013
comment
Здорово! Регулярное выражение - это излишек для такой задачи, которая изначально встроена - person Vladimir Hraban; 24.05.2013
comment
Это хороший ответ, но для очень большого количества строк он может быть намного более интенсивным, чем использование функции поиска и замены. - person Ceilingfish; 05.06.2013
comment
@decker, вы можете сохранить действие как макрос и попробовать csv после разделения их на несколько файлов. Любой редактор столкнется с трудностями при работе с большим файлом с несколькими курсорами. Попробуйте vim, это может сработать. - person palaniraja; 10.10.2013
comment
@palaniraja У меня проблемы с использованием этого, когда я хочу добавить префикс ко всем строкам, включая пустые, пустые, потому что курсоры пустых строк помещены в конец предыдущей строки . Есть ли способ поставить курсор на саму пустую строку? - person ; 26.02.2014
comment
Что же тогда делать с пустыми строками? Я хочу заблокировать цитату в своем абзаце, вставив «› »в начало каждой строки. В моем абзаце есть пустые строки :) Я хочу добавить символ в начало этих строк. - person Jim Raynor; 07.05.2014
comment
@jim вы можете подать заявку на все строки и заменить >\n только \n - person palaniraja; 11.05.2014
comment
Я думаю, это заслуживает того, чтобы быть предпочтительным ответом - person Michael Osofsky; 25.08.2014
comment
M-m-m-m-monster killlllll! - person Code Whisperer; 02.10.2014
comment
Чтобы поместить курсор в начало строк, на Mac нажмите CMD + стрелка влево после выполнения указаний выше. Возможно (не уверен) CTRL + стрелка влево для окон. - person jkd; 11.03.2015
comment
О, Эм Джи, это самая крутая функция, которую я когда-либо видел в текстовом редакторе - person Daniel Flippance; 12.05.2015
comment
Я использую Sublime почти 3 года и не могу поверить, что только что открыл, как это сделать ... Спасибо! - person Matt; 27.08.2015
comment
Работайте как изумительный шарм! - person Mike Nguyen; 30.09.2019
comment
Это не лучшее решение, если вы добавляете безумное количество строк. В моем случае мне нужно изменить сразу 250К строк. - person Devashish; 21.11.2020

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

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

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

person Patrick McDonald    schedule 02.11.2012
comment
у меня не работает в st2, шаг 3 удалил все строки и заменил его на шаг 3 должен быть HomeEnd - person andrej; 26.04.2013
comment
@andrej - похоже на ошибку. Убедитесь, что вы используете последнюю версию st2, и если да, сообщите об ошибке на странице sublimetext.userecho.com - person dbn; 06.06.2013
comment
@dbw выполняет sublime text 2.0.1 build 2217. Сообщение об ошибке на sublimetext.userecho.com/topic / 184875- - person andrej; 11.06.2013
comment
@andrej Я могу воспроизвести вашу проблему, если у меня есть пустые строки в выделении - person Patrick McDonald; 11.06.2013

  1. Выделите все строки, в которые вы хотите добавить префикс или суффикс. (Но если вы хотите добавить префикс или суффикс только к определенным строкам, вы можете использовать ctrl + левую кнопку мыши для создания нескольких курсоров.)
  2. Нажмите Ctrl + Shift + L.
  3. Нажмите кнопку Home и добавьте префикс.
  4. Нажмите кнопку End и добавьте суффикс.

Обратите внимание, отключите перенос слов, иначе он не будет работать должным образом, если ваши строки длиннее, чем ширина возвышенного.

person Harry    schedule 16.03.2016
comment
это фактическое исправление. домашняя и конечная клавиши имеют решающее значение для правильной работы - person Phil; 25.08.2016
comment
В Sublime Text 3 (для Mac) у меня не работали клавиши home и end. Если у вас возникла эта проблема, проверьте: coderwall.com/p/upolqw/ - person avance; 25.01.2018
comment
Не совсем @Phil. Вы также можете использовать Cmd + стрелку влево / вправо для навигации. Я думаю, что то же самое будет работать и с окнами - person Claud H; 14.05.2018

Допустим, у вас есть эти строки кода:

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"
person Tomatrox    schedule 22.12.2013
comment
действительно хорошо работал в Sublime Text 3, сэкономил массу времени - person jamescampbell; 11.08.2017

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

Мышь:

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

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

Клавиатура:

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

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

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

person dbn    schedule 10.12.2012
comment
Вы также можете активировать выбор столбца, щелкнув средней кнопкой мыши и перетащив его. - person Curtis Gibby; 23.04.2013
comment
Это наиболее специфичный для Sublime Text способ решения проблемы, в котором используется фундаментальная функция Sublime Text. Поскольку OP спросил о Sublime Text в заголовке, это должен быть принятый ответ. - person Dribbler; 02.02.2016