by zenangst

zenangst / MarvinXcode

:hammer:A collection of nifty commands for your everyday workflow in Xcode

126 Stars 10 Forks Last release: over 5 years ago (v1.3) Other 214 Commits 2 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Marvin for Xcode

Marvin is a plugin for Xcode, it adds a large collection of text selections, duplication and deletion commands.

Accessible via

Xcode -> Edit -> Marvin

It includes the following commands (some might seem obvious but some need a little more detail to describe its function and value).

  • Delete Line
  • Duplicate Line
  • Join Line
  • Move To EOL and Insert LF
  • Select Current Word
  • Select Line Contents
    • This differs a bit from Select Line as it will exclude whitespace characters until it reaches the first valid character at both the beginning and end of the current line
  • Select Next Word
  • Select Previous Word
  • Select Word Above
  • Select Word Below
  • Sort lines

As an added bonus, on save, Marvin also

  • Magically cleans up whitespace on save.
  • Adds a LF at the end of the document

Install via Alcatraz

  • Install plugin and restart Xcode.

Build from Source

  • Build the Xcode project. The plug-in will automatically be installed in

    ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
  • Relaunch Xcode.

To uninstall, just remove the plugin from

~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
and restart Xcode.


You can configure Marvin's keyboard shortcuts by adding them to

System Preferences > Keyboard > Shortcuts
. Note that the
Menu Title
needs to match Marvin commands

Keyboard Shortcuts


  1. Fork it
  2. Create your feature branch (
    git checkout -b my-new-feature
  3. Commit your changes (
    git commit -am 'Add some feature'
  4. Push to the branch (
    git push origin my-new-feature
  5. Create pull request


A big shout out goes out to Benoît Bourdon @benoitsan. He made BBUncrustifyPlugin-Xcode which includes private Xcode headers and some convenience methods that is being used in this project. Without his tremendous work this might not have ever happened.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.