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

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

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

-

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

10 ответов

Решение

Sublime Text может это сделать.

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

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

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

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

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

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

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

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

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

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

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

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

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

Preferences -> Editing -> Highlight instances of selected text

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам