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

7983
jedierikb

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

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

-

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

8
Что происходит, когда вы делаете «Найти» в TextEdit? Разве в нем не выделены все экземпляры текста (извиняюсь, у меня нет моего Mac в данный момент передо мной)? jrc03c 14 лет назад 0
В TextEdit «Поиск» выполняет итерацию по каждому совпадению. Я ищу способ избежать использования сочетания клавиш или меню ... просто выберите слово и выделите другие экземпляры этого слова в документе. jedierikb 14 лет назад 0

10 ответов на вопрос

5
cprcrack

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

К вашему сведению, решение Textmate 2 описано ниже. ST тоже приятно :-) tim 11 лет назад 0
4
Dori

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

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

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

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

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

Это выглядит многообещающе! (только использовал TextWrangler ...). Однако, читая документацию, кажется, что мне все равно нужно будет ввести нужный запрос в поле Live Search, а не что-либо, что я выбираю, когда мышь становится новым запросом Live Search. jedierikb 14 лет назад 0
Выберите текст, ⌘C, ⌥⌘F, ⌘V - и все готово. Да, это пара дополнительных нажатий клавиш, но я не думаю, что вы станете ближе. Если вы хотите выполнять поиск на основе выделенного текста, есть также «Использовать выбор для поиска» (⌘E), но я не вижу, чтобы он работал с «Живым поиском». Dori 14 лет назад 1
Работает в TextWrangler также Nathan Grigg 13 лет назад 1
@Dori, есть ли конкретная причина, по которой Live Search не используется по умолчанию (Ctrl F)? Pacerier 6 лет назад 0
3
dinvlad

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

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

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

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

2
bastibe

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

2
Pedro

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

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

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

2
tim

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

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

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

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

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

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

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

Earlier versions of BBEdit may not have been able to do this, but as of version 11, this is possible via:

Preferences -> Editing -> Highlight instances of selected text 

Do note that the "free version" of BBEdit, called "TextWrangler", doesn't have this feature (it seems to be one of a number of items reserved for TextWrangler's big brother to sweeten the pot for upgraders).

0
alpha1

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

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

только что попробовал - увы, похоже, он не делает то, что я ищу. jedierikb 14 лет назад 0
Черт. извиняюсь. Это было хоть что-то хорошее (в общем)? alpha1 14 лет назад 0
Хорошо, он открыл текстовый файл и позволил мне записать его и сохранить! :-) jedierikb 14 лет назад 0
Для дальнейшего использования разработка этой программы была остановлена. Он доступен в виде «Mac App» под названием «Smultron» http://www.peterborgapps.com/smultron/ zourtney 13 лет назад 0
0
Apperside

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

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

0
Dave Everitt

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

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

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

Похожие вопросы