All Projects โ†’ XVimProject โ†’ Xvim2

XVimProject / Xvim2

Licence: mit
Vim key-bindings for Xcode 9

Programming Languages

objective c
16641 projects - #2 most used programming language
c
50402 projects - #5 most used programming language
swift
15916 projects
C++
36643 projects - #6 most used programming language
assembly
5116 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Xvim2

Countrypicker
A simple, customizable Country picker for picking country or dialing code. ๐Ÿ‡ฎ๐Ÿ‡ณ ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ฐ๐Ÿ‡ท ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ซ๐Ÿ‡ท ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡ฌ๐Ÿ‡ง
Stars: โœญ 174 (-92.42%)
Mutual labels:  xcode
Satin
A 3D Graphics Framework built on Apple's Metal
Stars: โœญ 182 (-92.08%)
Mutual labels:  xcode
Faimagecropper
Image Cropper like Instagram
Stars: โœญ 188 (-91.82%)
Mutual labels:  xcode
Uiemptystate
An empty state control to give visually appealing context when building iOS applications.
Stars: โœญ 177 (-92.29%)
Mutual labels:  xcode
Environmentoverrides
QA assistant for a SwiftUI app: change the color scheme, accessibility settings, and localization on the fly!
Stars: โœญ 181 (-92.12%)
Mutual labels:  xcode
Macos Cookbook
A Chef cookbook used to provision macOS
Stars: โœญ 183 (-92.03%)
Mutual labels:  xcode
Files
A nicer way to handle files & folders in Swift
Stars: โœญ 2,189 (-4.7%)
Mutual labels:  xcode
Injectioniii
Re-write of Injection for Xcode in (mostly) Swift
Stars: โœญ 2,680 (+16.67%)
Mutual labels:  xcode
Lgbutton
A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.
Stars: โœญ 2,216 (-3.53%)
Mutual labels:  xcode
Cleanclosurexcode
An Xcode Source Editor extension to clean the closure syntax.
Stars: โœญ 186 (-91.9%)
Mutual labels:  xcode
Xgen
A Swift package for generating Xcode workspaces & playgrounds
Stars: โœญ 178 (-92.25%)
Mutual labels:  xcode
Expandable Table View
Expandable UITableView in iOS
Stars: โœญ 180 (-92.16%)
Mutual labels:  xcode
Openssl For Iphone
A script for compiling OpenSSL for iOS Devices (iPhone, iPad, iPod Touch, AppleTV, MacCatalyst)
Stars: โœญ 2,190 (-4.66%)
Mutual labels:  xcode
Xcodeplugintool
๐ŸŽงa easy way use plugins after Xcode upgraded
Stars: โœญ 174 (-92.42%)
Mutual labels:  xcode
Xcodeequatablegenerator
Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection.
Stars: โœญ 188 (-91.82%)
Mutual labels:  xcode
Codeexamples
Code Examples
Stars: โœญ 2,089 (-9.06%)
Mutual labels:  xcode
Carting
๐Ÿš˜ A simple tool for updating Carthage script phase
Stars: โœญ 182 (-92.08%)
Mutual labels:  xcode
Todaynews
Swift4 - ไปŠๆ—ฅๅคดๆก
Stars: โœญ 2,187 (-4.79%)
Mutual labels:  xcode
Traceutility
Extract data from .trace documents generated by Instruments
Stars: โœญ 188 (-91.82%)
Mutual labels:  xcode
Amappexporttoipa Xcode Plugin
AMAppExportToIPA-Xcode-Plugin is a simple Xcode plugin to export .app to .ipa file.
Stars: โœญ 185 (-91.95%)
Mutual labels:  xcode

XVim2

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

Use https://github.com/XVimProject/XcodeIssues to keep track Xcode Vim keybinding issues

Install

  1. Clone the repo:
$ git clone https://github.com/XVimProject/XVim2.git
$ cd XVim2
  1. Confirm xcode-select points to your Xcode:
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

If this doesn't show your Xcode application path, use xcode-select -s /path/to/Xcode.app/Contents/Developer to set the correct path.

  1. git checkout a branch for your Xcode version. See Branches and Releases section for more information.

  2. make:

$ make
  1. XVim2 support some code injection system to load XVim2 into Xcode.
  1. Create .xvimrc as you need.

Xcode plugin system

NOTE: This method have issue for sign-in to Apple ID via Xcode on Big Sur. #340

  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.

If you see something like the following:

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 to use XVim with your Xcode version (even if XVim is not confirmed to work with that version of Xcode).

  1. Launch Xcode, where you'll be asked if you want to load XVim. Press 'Yes' to do so. If you press 'No' by mistake, close Xcode and execute the following from a terminal:
defaults delete  com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-X.X     (X.X is your Xcode version)

Then relaunch Xcode and choose 'Yes' to load XVim.

SIMBL plugin system

NOTE: SIMBL plugin system required disabling some security feature to work on recently macOS.

  1. Setup MacForge with disabling Library-Validation and System Integrity Protection (SIP).

  2. Reboot your mac to take effect disabling Library-Validation.

  3. make:

$ make simbl

Compatibility matrix

Xcode OS security configuration loading system x64 arm64
re-codesign (occur Apple ID login problem on BigSur) any Xcode Plugin โœ… โœ…
original disable Library-Validation and SIP โœ… โœ…
SIMBL โœ… MacForge 1.1.0 not yet support M1
Tested on macOS 11.2.3, Xcode 12.4

Branches and Releases

  • master: for the lastest GM Xcode.

  • develop: for the next beta Xcode and develop.

  • tags

    • xcode12
    • xcode11.7
    • xcode11.5
    • xcode11.2
    • xcode10.3
    • xcode10.2
    • xcode10.1
    • xcode9.4
    • xcode9.3
    • xcode9.2

Please use appropriate tags or branches.

For easy bugfixes and typo fixes, please open a pull request to the master branch. For a new feature or adding support for a beta version of Xcode, please open a pull request to the develop branch.

Uninstall

$ make uninstall

Manual uninstall

Delete the following directories:

  • $HOME/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XVim2.xcplugin
  • /Library/Application\ Support/MacEnhance/Plugins/XVim2.bundle

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. All bug reports are appreciated, and they are especially helpful when they include the following information:

  • Crash information. Xcode shows threads stack trace when it crashes. Please copy the stack trace and include it in your report.
  • The operations you performed to cause the crash, e.g. the series of key strokes or mouse clicks you performed.
  • The text you were manipulating.
  • Xcode version.
  • XVim version. The version number of the revision you built.
  • .xvimrc. If you have it.

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/xvimproject (XVim2) https://www.bountysource.com/teams/xvim (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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].