Giter Site home page Giter Site logo

vimaddin's Introduction

VimAddin

Fork of the vi modes core addin in MonoDevelop.

See the project page and wiki for the latest issues and updates on the development of this addin's features.

vimaddin's People

Contributors

alextsui05 avatar yixiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimaddin's Issues

Ctrl+D broken in MonoDevelop 5.7

Some of the navigation key bindings that used to page up/down the text editor have reverted to the default IDE functions e.g. Find in a recent build of MonoDevelop. It's probably time to take a look at issue 10.

Add support for [.] to repeat last action.

This may take a little while. I think I will incrementally add support for various actions and keep track of the supported actions on this wiki page. Since it's incremental, it may result in some unexpected and surprising behavior while it is in progress, but I hope you'll bear with me.

Different behavior on Windows and Mac

For example:
G will go to the last line of the file on Mac; But nothing happened on Windows;
:s will save the current file on Mac; But nothing happened on Windows;
Are they bugs?

Repeated dd only copies one line into register

For example, 3dd should delete 3 lines into register. Unexpectedly, what happens is that dd is iterated 3 times separately, and the last line to be deleted ends up in the register. The expected behavior is that all 3 lines should go into the register and, for instance, is able to be pasted as one block.

implement format selection

  1. Select a text block with visual mode.
  2. Press =.
  3. The highlighted block should be automatically formatted.

No relativenumber support

Something that has made my life way easier in Vim is relativenumber. Specially when combined with number, which makes it show the line number on the current line, while all others behave as if relativenumber was enabled alone.

Using search menu find/replace breaks vim status area

Try Search > Find... to look for some token. Typing one character causes the popup box to disappear and the VimAddin status area on the bottom of the editor to become greyed out and unresponsive. I end up having to reopen the tab to get it back. The same bug holds for Search > Replace...

I think it has something to do with the fact that it does incremental search?

New vim emulation plugin

Hi @alextsui05!

I'm currently toying with the idea of creating a new vim emulation plugin for XS written from scratch. This is all still pie in the sky right now, but please do let me know if you'd be interested in helping.

It would most likely be written in F#.

Publish VimAddin for MD 4

Below is my versions:
MonoDevelop-Unity
Version 4.0.1
Installation UUID: 01d9c062-e8b1-4f46-8dd9-91dfa48fc5a5
Runtime:
Mono 2.10.12 (mono-2-10/c9b270d Thu Mar 7 21:38:12 EST 2013
GTK 2.24.16
GTK# (2.12.0.0)
Package version: 210120000

Build Information
Git revision: Release ID:
4558562c6814fa9b97a0da420ca7e3d7293112e4
Build date: 2015-01-08 17:55:00+0000

Operating System
Mac OS X 10.10.3
Darwin bogon 14.3.0 Darwin Kernel Version 14.3.0
Mon Mar 23 11:59:05 PDT 2015
root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64

Introduce a UI element somehow to trigger VimAddin

Currently, we piggyback off of the "Use vi modes" checkbox in the preferences panel in the MonoDevelop IDE and hijack the text editor from the core vi input mode. However, the core vi input mode is obsoleted and will be phased out, so we need to hook into the UI some other way.

Search from last line of file causes crash

Here's a stack trace from my machine, indicating the problem coming from VimAddin.ViEditMode.Search:

System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: startat
  at System.Text.RegularExpressions.Regex.Match (System.String input, Int32 startat) [0x00000] in <filename unknown>:0 
  at Mono.TextEditor.RegexSearchEngine.SearchForward (System.ComponentModel.BackgroundWorker worker, Mono.TextEditor.SearchWorkerArguments args, Int32 fromOffset) [0x00035] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/ISearchEngine.cs:343 
  at Mono.TextEditor.AbstractSearchEngine.SearchForward (Int32 fromOffset) [0x0001c] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/ISearchEngine.cs:130 
  at Mono.TextEditor.TextEditorData.SearchForward (Int32 fromOffset) [0x00008] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/TextEditorData.cs:1028 
  at Mono.TextEditor.TextArea.SearchForward (Int32 fromOffset) [0x00008] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextArea.cs:2252 
  at Mono.TextEditor.TextEditor.SearchForward (Int32 fromOffset) [0x00008] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextEditor.cs:1108 
  at VimAddin.ViEditMode.Search () [0x00000] in <filename unknown>:0 
  at VimAddin.ViEditMode.RunExCommand (System.String command) [0x00000] in <filename unknown>:0 
  at VimAddin.IdeViMode.RunExCommand (System.String command) [0x00000] in <filename unknown>:0 
  at VimAddin.ViEditMode.HandleKeypress (Key key, UInt32 unicodeKey, ModifierType modifier) [0x00000] in <filename unknown>:0 
  at VimAddin.IdeViMode.HandleKeypress (Key key, UInt32 unicodeKey, ModifierType modifier) [0x00000] in <filename unknown>:0 
  at Mono.TextEditor.EditMode.InternalHandleKeypress (Mono.TextEditor.TextEditor editor, Mono.TextEditor.TextEditorData data, Key key, UInt32 unicodeChar, ModifierType modifier) [0x00015] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/EditMode.cs:49 
  at Mono.TextEditor.TextArea.SimulateKeyPress (Key key, UInt32 unicodeChar, ModifierType modifier) [0x0002b] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextArea.cs:917 
  at Mono.TextEditor.TextArea.OnKeyPressEvent (Gdk.EventKey evt) [0x00134] in /home/atsui/work/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextArea.cs:996 
  at Gtk.Widget.keypressevent_cb (IntPtr widget, IntPtr evnt) [0x00000] in <filename unknown>:0 

How to enable VimAddin

Xamarin Studio
Version 5.9.3 (build 1)
Installation UUID: 87c00a22-99e0-4dfa-8955-1f040d44ad15
Runtime:
Microsoft .NET 4.0.30319.17929
GTK+ 2.24.22 (MS-Windows theme)
GTK# 2.12.26

Xamarin.Android
Not Installed

Xamarin Android Player
Not Installed

Build Information
Release ID: 509030001
Git revision: 5a524e1726ed103fdd4fe37e0356f2b35466ce9d
Build date: 2015-06-02 16:19:11-04
Xamarin addins: 51957cfbd06be911b212671ad05c2c6221ac90f9

Operating System
Windows 6.1.7601.65536

  1. Do I need to check use vi mode on Tool > Options ->Text Editor > Behavior ?
  2. When I enable VimAddin, and choose Tool-> Options -> Text Editor -> VimAddin, there is nothing on the right! Is this a bug?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.