Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nosami/xsvim
[Obsolete] Vim emulation layer for Xamarin Studio / Visual Studio for Mac
https://github.com/nosami/xsvim
f-sharp fsharp vim xamarin
Last synced: about 3 hours ago
JSON representation
[Obsolete] Vim emulation layer for Xamarin Studio / Visual Studio for Mac
- Host: GitHub
- URL: https://github.com/nosami/xsvim
- Owner: nosami
- License: mit
- Created: 2016-12-17T23:31:20.000Z (almost 8 years ago)
- Default Branch: 8.1
- Last Pushed: 2022-01-08T23:23:54.000Z (almost 3 years ago)
- Last Synced: 2024-10-31T06:35:03.743Z (8 days ago)
- Topics: f-sharp, fsharp, vim, xamarin
- Language: F#
- Homepage:
- Size: 42.4 MB
- Stars: 158
- Watchers: 8
- Forks: 12
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# XSVim [![Gitter](https://badges.gitter.im/XSVim/Lobby.svg)](https://gitter.im/XSVim/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/nosami/XSVim.svg?branch=7.4)](https://travis-ci.org/nosami/XSVim)
# This addin is obsolete
This extension only works for the older editor. For VSMac 8.4, you should install VsVim instead ![VsVim installation from the Gallery](https://user-images.githubusercontent.com/667194/71757513-71efdc00-2e8e-11ea-898d-167d5d40cb17.png) as VsVim works on the new editor.
Some file types (e.g. F#) are still currently using the old editor in VSMac. This addin will still work for those file types while the transition is made to the new editor.
# Installation
Interact with Visual Studio for Mac as follows:
```
Visual Studio -> Extensions -> Gallery -> IDE Extensions -> "VIM" -> Install
```Then close the current document that you are working on and open a new document to activate the plugin.
## 8.1 New Editor
Unfortunately, this addin does not work with the new editor that was made default in 8.1. To use this addin, make sure that the old editor is in use.
![image](https://user-images.githubusercontent.com/667194/59626372-9de68280-9133-11e9-9fbe-035553d7042e.png)
Alternatively, I have been working on making VsVim work for the new editor. If you want to try this out, please follow the instructions [here](https://github.com/VsVim/VsVim/pull/2733#issuecomment-538998555)
# What works?
Most Vim commands should work. If you see something that doesn't work, please file an issue. There's a good chance that I just don't know about it.
# What doesn't work
- Vim split windows. XSVim uses VS for Mac's side by side mode to emulate this, but it's only possible to have 2 vertical split windows. `s` and `v` both switch to side by side mode.
- Visual block mode works for most tasks, but there are some differences in the way that VS handles virtual spacing at the end of lines.
- Selecting text with the mouse or using cmd+arrow keys doesn't switch to Visual mode
- No leader key support or configurable key bindings.# Why don't the control keys work?
Some Vim keybindings (such as Ctrl-F, Ctrl-D etc) conflict with VS's own built in keybindings. However, there is a keybinding scheme included that you may apply if you want (Visual Studio + Vim)
![image](https://user-images.githubusercontent.com/667194/37340194-39775566-26b5-11e8-9119-58d171aa9a01.png)
# Extras
- `gd` - Goto declaration
- `gu` - Find usages
- `gb` - Go to base symbol
- `gh` - Show tooltip at current caret location (`G`o `H`over)
- `hjkl` support on the Solution Explorer pad and Test Explorer pad. Pressing `` on these will switch focus back to the last editor window. `jk` support on the Search Results pad.
- Goto Pad shortcuts start with `gp`
- `gps` - Go to solution explorer
- `gpc` - Go to class pad
- `gpe` - Go to error list pad
- `gpt` - Go to Task List pad
- `gpp` - Go to Property pad
- `gpo` - Go to document outline pad
- `gpb` - Go to breakpoint pad
- `gpl` - Go to locals pad
- `gpw` - Go to watch pad
- `gpi` - Go to immediate pad
- `gpn` - Go to F# Interactive pad
- `gpf` - When there is only one search results pad, go to it
- `gpf1` - When there is more than one search results pad, go to the 1st
- `gpf2` - When there is more than one search results pad, go to the 2nd....etc.
- `gpdt` - Go to debugger threads pad
- `gpds` - Go to debugger stack trace pad
- `gput` - Go to unit test pad
- `gpur` - Go to unit test results pad
- Insert mode escape binding. See example screenshot to see how to configure `jj` to escape when in insert mode.![Insert mode escape screenshot](screenshots/InsertModeMapping.png)
# Looking for the latest release?Check the [release page](https://github.com/nosami/XSVim/releases) as there is usually a more recent version of the addin here than on the Visual Studio for Mac feed. Grab the .mpack file and install it via Visual Studio -> Extensions -> Install from file
# Support & Contributions
Jump in our [Gitter channel](https://gitter.im/XSVim/Lobby) and introduce yourself.
# With thanks to
- @shirshov
- @mdizzy
- @tdfacer