Posts [ 4 ]

Re: My Feature Requests

Hi Jon,

I like ViEmu more and more. You did (do) a good job.

But after playing a couple of weeks with it I start to miss some features. Well, here is my personal list of feature requests. The list is fairlycomplete. Not all of the feature requests are new - for some I found requests in the forum archive - but nevertheless, perhaps mentioning them again raises priority... ;-)

The list is sorted from missing extremely to missing:

- Virtual edit: Allows to move cursor over the end of a line in visual and normal mode. In insert mode this works already (I suppose since VS does it, if enabled). I don't like the nervous jumping of the cursor when scrolling up or down. This makes me nervous too. The life of a programmer is hard enough. I really do not need a cursor which jumps from left to right and right to left .... just in front of my nose. It's enough if the customer changes requirements in the same frequency as the cursor jumps when scrolling up/down. So please please please please add support of virtual editing. I will pay the update price just for this feature. (Hmmmm, perhaps the customer's requirements become more stable if the cursor is more stable? Perhaps this relationship is an unknown law of nature? Implement it to get out and perhaps someday you will get the Nobel price. Perhaps not 42 is the answer... but virtual edit. ) (in vim see :help 'virtualedit')

- In the status line of ViEmu the current cursor position is shown (line and column). This is ok so far. In addition Vim can show the number of visually selected characters or the number of visually selected lines. This is very very useful if you want to measure something, e.g. the length of a string or the number of lines of a text extract or whatever. Since I have found this feature in vim I never have counted how many characters a string has. E.g.: "bla bla bla bla bla and bla and once more and bla again" I just move the cursor over the string and press vi" and vim shows me 55. (oh my goodness, I don't want to know how many ViEmu'ler now start to count the number of characters in this example to see if vim is correct ;-) ).

Whether vim shows the number of selected characters or the number of selected lines depends on the type of selection: If characters within a single line are selected vim shows the number of selected characters. If more than one line is selected vim shows the number of selected lines.

- As I mentioned already in another thread: An undo with a higher granularity would be very welcome. In best case an undo like Vim 7 provides.

- Start scrolling before the cursor reaches end or start of screen. This way some context is visible around the cursor while scrolling. Very helpful. (in vim see :help 'scrolloff')

- Support to map a key sequence, not just a single character.

- Support emulation of ":set selection=inclusive" ViEmu: If the visual block mode is entered (ctrl-v) you have to press cursor right/left two times to select two columns. Vim (default): When pressing right/left once after entering visual the second column is selected. (in vim see :help selection)

- Support confirm flag in substitute commands. If this flag is set, ViEmu asks whether the current match should be replaced or not. (in vim see :help :s_flags)

- Support ctrl-A and ctrl-X: Increase and decrease the number under the cursor.

- Support ctrl-Y in insert mode: Insert the character which is above the cursor.

Jon, what are your thoughts? Any chance to implement (some, all) of these features someday?

Re: My Feature Requests

Hello Christian,

Thanks so much for the very nice comment, and for putting in the effort to send in all the feedback.

I am taking note of all your suggestions. Some of them had already been requested by other users. I still have to set several more important things in place, but I plan to return to implementing basic vi/vim features again in some time. Before that, I am setting up a new license key system, and preparing the VS 2010 versions of ViEmu and Codekana.

I used to use Virtual Edit, but it's complex to implement, and very, very few people use it. Actually, this is the first request in four years! I was surprised to see no one asking for it, as I expected more people would use it. The good part is that not many people are missing it. The bad news (for you) is that this makes it a lower-priority feature. I suggest you try to get accustomed to it, it's not that bad in the end (maybe that's only the case for me, I apologize if that's the case).

There will be a much improved status line in the VS 2010 version, although not in the first VS2010-compatible release. I hope that will be enough. If it's very popular and requested, it could get back-ported to pre-2010 versions.

My actual plans for features in the next major version are the 'confirm' flag and multiple-key mappings, so you should at lease see some of the requests implemented soon enough.

All this is driven by the need to grow the business and revenue, so that I will be able to hire one person to dedicate to ViEmu and really improve it at a better pace, while being able myself to work in the other projects too. I'm hoping that can happen in a 4-6 months timeframe.

Re: My Feature Requests

I would like to second a couple of those requests and add one of my own.

I use the confirm option in searching often and would like to see that. As a workaround, I am just searching for the pattern, doing the substitute once and then using '.' to repeat when wanted.

<Ctrl-A> and <Ctrl-X> would be awesome.

Another feature of Vim that I miss in ViEmu is <Ctrl-R><Ctrl-W> and <Ctrl-R>". When creating a substitute pattern, these are invaluable. <Ctrl-R><Ctrl-W> puts the word under the cursor in the command line, and <Ctrl-R>" puts the text from the " register in the command line.

Re: My Feature Requests

Sef, thanks so much for the kind comment. Ctrl-A/Ctrl-X and :s//c are coming very soon, as soon as I finish the new customer portal (which is almost there!). I am taking note of Ctrl-R, Ctrl-W, which I wasn't familiar with, and I think it can be added in one of the next releases, as it shouldn't be too hard to implement.