Как заменить текст в выделенном фрагменте?

124

Я только начал использовать Sublime Text 2 из emacs.

У меня выделена область текста. В этой области я хотел бы заменить все текстовые экземпляры «0» на «255».

Как мне сделать такую ​​замену текста?

user1419762
источник

Ответы:

212

Это меня чертовски расстроило, и ни один из приведенных выше ответов не дал мне того, чего я хотел. Я наконец нашел ответ, который искал, на Mac, если вы сделаете + option+, Fв нижней части вашего редактора появится панель «Найти-заменить», которая является локальной для открытого файла.

Существует опция значка, на которую при наведении указателя появляется надпись «В выделенном», которую вы можете выбрать для поиска и замены в выделенном фрагменте. Я указал на правильный значок на скриншоте ниже.

введите описание изображения здесь

Нажмите заменить все, и вуаля, все экземпляры '0'будут заменены на '255'.

Примечание: эта функция доступна ТОЛЬКО при использовании + option+ F.

Он НЕ появляется, когда вы используете + shift+ F.

Примечание: это будет заменить все экземпляры '0'с '255'. Если вы хотите заменить 0(без кавычек) с 255, а затем просто положить 0(без кавычек) и 255в Find What:и Replace With:полях соответственно.

Примечание:

optionключ также обозначен как altключ.

ключ также обозначен как commandключ.

Пол Петтенгилл
источник
2
Спасибо за такой ответ! Графика тоже помогает. Я думал, что это только command+shift+Fдиалог. Понятия не имел, что есть еще один.
Джозеф Марикл
2
Это единственный ответ, который действительно отвечает на вопрос - как заменить текст в выделенном фрагменте .
ericoco
7
Ctrl+Hв GNU / Linux или меню Find>Replace...
cbliard
ДА @CBLIARD Ctrl + H СДЕЛАЛ РАБОТУ НА UBUNTU, СПАСИБО
zee
15
в Windows OSнем Ctrl+Hили меню Find > Replace..., похоже, то же самое, что и для Linux (см. комментарий @cbliard)
Adrien Be
36

На Mac вы можете выбрать текст, который вам нужен, а затем нажать: cmd+ ctrl+G

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

Саймон Уайлдер
источник
6
Спасибо! Это именно то, что я искал.
Kopty
Это не работает должным образом. Как только вы нажмете CMD-Ctrl-G, все другие подстроки, которые соответствуют выбранному вами тексту, также будут выделены, а затем изменятся при редактировании.
Дэвид
@David. Неужели вы только что описали то же поведение, что и я?
Саймон Уайлдер
27

Некоторые ответы здесь не особо помогли.

Люди показывают вам, как находить вещи, а теперь как их заменить.

Я только что посмотрел, и похоже, что это Ctrl+ Hдля замены, затем вы получаете диалог поиска, а также диалог замены. Это сработало для меня.

Адам К Дин
источник
Это не будет работать для пользователя Mac. Как, Ctrl + H скрывает возвышенное в Mac.
Vineet Jain
Я тоже пользователь Mac. Это cmd+ Hдля hide, а не ctrl, хотя, как говорится, сейчас я использую Atom вместо sublime, а ярлык для замены - alt+ cmd+, fтак что все может измениться
Адам К. Дин
17

ST2 имеет функцию одновременного изменения нескольких вариантов выбора.

  1. Дважды щелкните первый экземпляр 0, который вы хотите изменить.
  2. Нажмите клавишу « Найти» -> «Быстрое добавление следующего» *, чтобы выбрать следующий экземпляр 0, и повторяйте, пока не выберете все экземпляры 0, которые вы хотите изменить.
    Если этот метод выбирает экземпляр, который вы хотите пропустить, нажмите клавишу для Find-> Quick Skip Next .
  3. Убедитесь, что вы хотите заменить несколько выделенных полей. Затем введите «255», и он должен изменить все выбранные экземпляры одновременно.

* Посмотрите на меню «Найти» в строке меню, чтобы найти правильную комбинацию клавиш для вашей системы. Для ванильной Windows в меню указано, что « Найти» -> « Быстрое добавление далее» - это Ctrl+, Dа « Найти ->« Быстрый переход »-« Далее » - это Ctrl+ K, Ctrl+ D.

Джо Бергевин
источник
1
Да, просто дважды щелкните любое слово, и все другие экземпляры будут слегка выделены, и начните нажимать Command + D, и он начнет выделять другие вхождения, а затем вы можете просто начать печатать, и он заменит текст во всех выбранных областях.
WallMobile
12

Я знаю, что на это много раз отвечали, и все они верны, но я решил добавить еще один:

Подобно методу Ctrl- Dдля выбора отдельных экземпляров текущего выделения, вы можете выбрать все вхождения в файле с помощью Alt+ F3при использовании Windows или Linux ( CMD+ CTRL+ Gв мире Mac).

Это полезно для массовых изменений.

jkloo
источник
9

Сначала выберите часть текста, содержащую биты, которые вы хотите изменить. В Windows (извините) это Ctrl+ Hили Find > Replace...Это открывает поля Найти / Заменить в нижней части файла. Введите свои данные и нажмите Replace All(или Ctrl+ Alt+ Enter)

garyh
источник
6

1) Ctrl + F(или Cmd + Fна Mac);
2) Введите строку, которую вы хотите найти на входе в нижней части окна.
3) Нажмите «Найти все»;

Теперь все образы выбраны. Делай что хочешь.

В стороне

Слева от открывающегося поля ввода есть несколько вариантов Ctrl + F. Там есть что-то вроде «Найти в выделенном тексте». Выделите связку текста, отметьте эту опцию и повторите те же шаги, указанные выше, начиная с 2). Теперь выбираются только совпадения, принадлежащие этому выбору.

banzomaikaka
источник
осложнения: я использую linux, и я использую сочетания клавиш emacs для ST2. Итак, CTRL-F просто перемещает курсор вперед. Кроме того, мне особенно интересно, есть ли способ заменить все экземпляры целевой строки, которые существуют только в пределах выбора.
user1419762 09
См. Мою сторону для замены только в пределах выбора. Теперь о Linux ... Я не могу вам помочь, так как я использовал его только на Mac и Windows.
banzomaikaka 09
4

Вы можете использовать ctrl+, Fчтобы найти текст.
ctrl+ hдля ввода текста замены. Затем ctrl+ shift+ hдля замены текущего выделенного текста и перехода к следующему совпадающему тексту.

Это для окон. Но вы также можете проверить Mac, для которого вы можете проверить привязки клавиш в разделе «Настройки».

xpioneer
источник
3

Windows
1- Найти: CTRL+ F
2- Входное выделение : Alt+ Enter

Теперь вы можете изменить все выделение за один раз, как на домашней странице ST «Видели по телевизору».

Кредит идет на: https://superuser.com/a/921806/342825

elsadek
источник
3
  1. Выберите элемент, который нужно заменить (дважды щелкните его или Ctrl-, Fчтобы найти) ...

  2. Затем выполните ( Ctrl- Apple- G) на Mac (также известный как «Быстрый поиск всех»), чтобы ВЫДЕЛИТЬ сразу все вхождения строки.

  3. Теперь просто введите текст для замены напрямую ... Все вхождения выбора будут заменяться по мере ввода (как если бы ваш курсор находился в нескольких местах одновременно!)

Очень кстати...

Пол Брэди
источник
2

Как заявил @JOPLOmacedo, ctrl+ F- это то, что вам нужно, но если вы не можете использовать этот ярлык, вы можете проверить меню:

  • Найти -> Найти ..

    и вот оно что.
    Вы также можете установить пользовательскую комбинацию клавиш для поиска :

  • Настройки -> Привязки клавиш - Пользователь

    В качестве вашего запроса только на выбор , рядом с полем поиска есть кнопка, где вы можете выбрать вариант «в выборе» .

  • Gruber
    источник