Multiple cursors / highlight next instance of curr

2019-01-30 10:23发布

问题:

In Sublime Text, it's easy to select the next instance of a word by pressing command + d and also place multiple cursors by pressing command & clicking. I know I'm not alone in saying this is an incredibly useful function in editors.

I haven't had any luck in finding any key mappings or Alcatraz plugins for this, so I was interested to see if either there is a way to do this in xcode 5 which I might have missed or if there are plans to implement this in xcode 6?

If there isn't, and any xcode developers see this, would love to see this as a feature and hear your opinions on it :)

回答1:

It is possible starting from Xcode 10 Beta 3

You can add selections for the next and previous find results using the “Find and Select Next” and “Find and Select Previous” menu commands.

Additionally, you can quickly add selections for the next and previous occurrences of the current selected text using the “Select Next Occurrence” and “Select Previous Occurrence” menu commands.

ALT + + E to select next occurence of currently selected

ALT + SHIFT + + E to select previous occurence of currently selected

ALT + + G to find and select next

ALT + SHIFT + + G to find and select previous

You can also use the Find menu to find these actions. Of course, feel free to bind it to different hotkeys!



回答2:

If what you're wanting to do is change the name of a variable, then when your cursor is on the variable press control+command+E and type away. (This is "Edit All in scope")

For editing on a Project scope there is always the Editor > Refactor > Rename menu item



回答3:

Highlight the word you'd like to get the next instance, then press:

+ E

and

+ G.

Continuing to press + G will cycle through all instances of the word you pressed + E on.

I have more xcode shortcuts on my site that I sometimes reference.



回答4:

I just read on twitter that Xcode team has added multiple cursors feature for testing, but kept it hidden.To enable it use following command.

defaults write com.apple.dt.Xcode PegasusMultipleCursorsEnabled -bool true

Link for your reference. Multiple Cursor in Xcode



回答5:

There's the Xcode-Multi-Edit-Plugin. It's still not quite like Sublime because the multiple cursors can't be used to edit beyond the selection you made when you started command-d-ing but it's close enough.

The plugin is not updated for Xcode 7.3 but this can be easily fixed by adding

    <string>ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C</string>

to the list of similar UUIDs in <key>DVTPlugInCompatibilityUUIDs</key> in the plugin's Info.plist. (Found at ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XcodeMultiEdit.xcplugin/Contents/Info.plist)

Another promising plug-in which currently lacks Xcode 7.3 support is Multiplex.



回答6:

Apple just released Xcode 10 beta with the following feature:

The Xcode Source Editor now supports multi-cursor editing allowing you to quickly edit multiple ranges of code at once. You can place additional cursors with the mouse via ⌃+⇧+Click or with column select (⌥+Click+Drag), or with the keyboard using ⌃+⇧+Up to column select up or ⌃+⇧+Down to column select down. (12564506)



回答7:

You can create cursors with SHIFT + CTRL + click wherever you need more cursor

You can either use SHIFT + CTRL + DOWN ARROW (or up arrow) if you want to create a new cursor on the following line.