Текстовый редактор, который освещает все случаи выделения для Mac


8

В Windows я использую Notepad ++, который имеет замечательную особенность: когда я выбираю слово, все экземпляры этого слова также выделяются в одном и том же документе. Я нашел это очень полезным для поиска шаблонов в гигантских лог-файлах.

Мне интересно, есть ли подобная функция в текстовом редакторе на Mac. Я просмотрел документацию для TextWrangler и TextMate безрезультатно. Надеюсь, есть способ сделать это, чтобы я мог быть более продуктивным при работе на Mac.

-

Примечание: в Notepad ++ вам не нужно использовать сочетание клавиш, чтобы сделать эту работу ... вы просто выбираете какой-то текст, и он автоматически подсвечивает вас.


Что происходит, когда вы делаете «Найти» в TextEdit? Разве в нем не выделены все экземпляры текста (извиняюсь, у меня нет моего Mac в данный момент передо мной)?
jrc03c

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

Ответы:



4

Кто сказал, что BBEdit не может это сделать?

С вашим документом в переднем окне:

  • Выберите Поиск> Поиск в реальном времени ⌥ ⌘ F
  • Введите строку поиска
  • Обратите внимание, что все экземпляры этой строки теперь выделены в вашем документе

Чтобы отключить Live Search, нажмите Doneкнопку.

Ссылка: Руководство пользователя BBEdit 9.5 , стр. 159-160.


Это выглядит многообещающе! (использовал только TextWrangler ...). Однако, читая документацию, кажется, что мне все равно нужно будет ввести запрос, который я хочу, в поле Live Search вместо того, чтобы что-то, что я выбираю, когда мышь становится новым запросом Live Search.
jedierikb

1
Выберите текст, ⌘C, ⌥⌘F, ⌘V - и все готово. Да, это пара дополнительных нажатий клавиш, но я не думаю, что вы приблизитесь. Если вы хотите выполнять поиск по выделенному тексту, есть также «Использовать выбор для поиска» (⌘E), но я не вижу, чтобы он работал с «Живым поиском».
Дори

1
Также работает в TextWrangler
Натан Григг

@Dori, есть ли конкретная причина, по которой Live Search не используется по умолчанию (Ctrl F)?
Pacerier

3

В дополнение к ответу @ Tim , а также с помощью ввода этого сообщения в список рассылки TextMate можно создать следующую комбинацию клавиш:

(
    {   command = 'selectWord:'; },
    {   command = 'copySelectionToFindPboard:'; },
    {   command = 'findAllInSelection:'; },
)

Я назначил это для Command-A, и это работает довольно хорошо, выделяя все вхождения слова под курсором, независимо от того, выбран ли он предварительно или нет.

Предостережения: это действие прокрутит файл до последнего вхождения выделенного слова, поэтому необходимо вручную прокрутить назад. Кроме того, это вызовет автоматическую замену всех вхождений набранным текстом («параллельное редактирование»), что удобно во многих случаях, но нужно быть осторожным, если это непреднамеренно.


3

TextMate 2 делает это действительно хорошо связано с control-W

Этот макрос [1] встроен.

^Wвыберет слово, но как только выделение ^Wбудет существовать, добавим следующий экземпляр к (множественному) выбору: действительно хорошая функция!

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

Еще лучше: все это теперь отдельные выборки, так что вы можете набирать edit select, и он работает для каждого отдельно, но синхронно. Сказочная экономия времени!

[1] Это просто макрос, связанный ^Wс dyn.selectionселектором Scope

(
    {   command = 'copySelectionToFindPboard:'; },
    {   command = 'findNextAndModifySelection:'; },
)

2

Ну, BBEdit делает пошаговый поиск. Emacs / Aquamacs и Vim / MacVim тоже делают это, конечно. Это действительно важная функция для меня, и я убит горем, что TextMate и SubEthaEdit до сих пор не поддерживают его.


2

Не совсем то, что вы хотите, но TextMate также имеет добавочный поиск.

Нажмите Ctrl + S и начните вводить текст. То, что вы вводите, будет отображаться в строке состояния в нижней части окна TextMate, а также будет выделено в открытом документе, если открытый документ содержит этот текст.

Повторное нажатие Ctrl + S выберет следующее совпадение в документе. Это более непосредственное, чем Command + S


2

Более ранние версии BBEdit, возможно, не могли этого сделать, но с версии 11 это возможно через:

Preferences -> Editing -> Highlight instances of selected text

Обратите внимание, что «бесплатная версия» BBEdit, называемая «TextWrangler», не имеет этой функции (похоже, это один из элементов, зарезервированных для старшего брата TextWrangler, чтобы подсластить банк для апгрейдов).


0

Lifehacker.com говорит, что это хорошая альтернатива. http://www.fraiseapp.com/

У меня нет личного опыта с этим. Но выглядит красиво.


только что попробовал - увы, похоже, он не делает то, что я ищу.
jedierikb

Черт. Извините. Было ли это хоть сколько-нибудь хорошим (в общем)?
alpha1

Хорошо, он открыл текстовый файл и позволил мне записать его и сохранить! :-)
jedierikb

Для дальнейшего использования разработка этой программы была остановлена. Он доступен как «Mac App» под названием «Smultron». Peterborgapps.com/smultron
zourtney

0

Когда я перешел с Windows на OS / X, мне не хватало Notepad ++. После некоторых исследований я пришел в Textwrangler. Особенностью, которую я часто использовал в Notepad ++, было выделение всех вхождений выбранного слова. У Textwrangler не было такой возможности, которая была бы легко доступна. У него есть такая возможность, но вы должны использовать живой поиск ( F), но с того момента, как выделенный текст не заполняется в текстовое поле реального поиска, вы должны скопировать выделенный текст ( C), запустить живой поиск ( C) и затем вставить текст ( V)

Так как у меня установлена ​​волшебная мышь и лучший сенсорный инструмент, я связал волшебный жест мыши, чтобы выполнить двойной щелчок (чтобы выбрать работу, где находится курсор) + C+ F+V


0

Visual Studio Code мульти-курсор / выбор

Бесплатный код Visual Studio имеет эту функцию ( cmd-shift-Lмгновенно выбирает все другие экземпляры текущего выделения, cmd-Dследующий экземпляр ...) - полностью ответил в другом посте о переполнении стека .

Или просто посмотрите сочетания клавиш VS Code (чувствительны к ОС).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.