Vim key-bindings for Xcode 9
Switch branches/tags
Nothing to show
Clone or download

README.md

XVim2

XVim2 is a Vim plugin for Xcode. The plugin intends to offer a compelling Vim experience without the need to give up any Xcode features.

INSTALL

  1. Sign Xcode with your own certificate. You can read the instructions for how to do this and if you have questions or concerns about what this means you can read the FAQ on why you need to resign Xcode to use XVim2.

  2. Clone the repo.

$ git clone https://github.com/XVimProject/XVim2.git
  1. Confirm xcode-select points to your Xcode
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
  1. Check out a branch for your Xcode version. @see Branches and Releases section

If this doesn't show your Xcode application path, use xcode-select -s to set.

  1. make
$ cd XVim2
$ make

If you see something like

XVim hasn't confirmed the compatibility with your Xcode, Version X.X
Do you want to compile XVim with support Xcode Version X.X at your own risk? 

Press y if you want to use XVim with your Xcode version (even it is not confirmed it works)

  1. Create .xvimrc as you need.

  2. Launch Xcode. You'll be asked if you load XVim. Press 'Yes' to it. If you press 'No' by mistake, close the Xcode and execute the following from a terminal

defaults delete  com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-X.X     (X.X is your Xcode version)
  1. Relaunch Xcode.

Branches and Releases

  • master : for the lastest GM Xcode.

  • develop : for the next beta Xcode and develop.

  • tags

    • xcode9.2
    • xcode9.4

Please use appropriate tags or branches.

Please pull request to the master branch for easy bugfix and typo, or to develop branch for new feature or beta Xcode support.

Uninstall

$ make uninstall

Manual uninstall

Delete the following directory: $HOME/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XVim2.xcplugin

Feature list

See separate FeatureList.md

Bug reports

Unfortunately XVim sometimes crashes Xcode. We are working on eliminating all the bugs, but it's really hard work. It helps greatly when we have your bug reports, with the following information:

  • Crash information ( Xcode shows threads stack trace when crashes. Copy them. )
  • The operations you did to cause the crash ( series of key strokes or mouse clicks )
  • The text you were manipulating
  • Xcode version
  • XVim version ( Version number of the revision you built )

When it is hard to solve a problem with information above, take debug log according to the following movie please.

How to get XVim debug log

We appreciate if you write test case for the bug. Read "Write test" section in Documents/Developsers/PullRequest.md how to write test case. You do not need to update any source code but just write 7 items explained there in an issue you create.

Contributing

If you fix a bug by yourself and add new feature, see here.

Contributing.md

Bountysource

XVim supports Bountysource. If you want to solve your issue sooner make bounty on your issue is one option. A contributer should work on it preferentially (not guaranteed though). To make bounty visit following link and go to "Issue" tab. Select your issue and make bounty on it.

https://www.bountysource.com/teams/xvim

Donations

If you think the plugin is useful, please donate. There are two options you can take. Donate for Japan Earthquake and Tsunami Relief or back the project via BountySource. There is no rule that you cannot take both :) .

Japan Earthquake and Tsunami Relief

Since I do not intend make money from this project, I am directing donations to the people suffering from the damage of the 2011 Tohoku earthquake and tsunami in Japan.

Please donate directly through the Paypal donation site below, as this will put more money to good use by reducing the transfer fee.

https://www.paypal-donations.com/pp-charity/web.us/campaign.jsp?cid=-12

Since no messages are sent when you donate from the paypal link, you could also write a donation message on Message Board. I(we) would really appreciate it, and it will really motivate me(us)!

BountySource

If you like to help and enhance the project directly consider backing this project via BountySource. You can back the team (which means you support the entire project) or you can make bounty on a specific issue. (If you have any bugs to be fixed or features to be implemented not in issues yet you can make one.)

Contributors

See contributors page in github repository. https://github.com/XVimProject/XVim2/contributors

License

MIT License