8

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

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

-

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

10 ответов10

5

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

4

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

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

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

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

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

3

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

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

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

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

2

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

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

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

2

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

2

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

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

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

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

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

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

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

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

Preferences -> Editing -> Highlight instances of selected text

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

0

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

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

0

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

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

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .