This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 12858

Summary: VI and EMACS Key Bindings as Pre-Configured options
Product: editor Reporter: droberts <droberts>
Component: -- Other --Assignee: issues@editor <issues>
Status: RESOLVED FIXED    
Severity: blocker CC: bleonard, err, mkrauskopf, mpetras, rstrobl, ttran
Priority: P1    
Version: 3.x   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Exception Reporter:
Bug Depends on: 58412    
Bug Blocks:    

Description droberts 2001-06-15 01:56:50 UTC
Could there be a check box in the custom keybinding drop down menu where you 
could select which keybindings you wanted to use, either the default NBs, Emacs, 
or Vi?  I know it is possible to manually configure this, but there are other 
IDE's that do this, it would be stop gap until we can get full integration with 
emacs and vi, and it would ease the transition of programmers using those tools 
to ours.  Emacs and Vi still account for a very large portion of developers out 
there.

Thanks,
Dan
Comment 1 David Konecny 2001-06-18 13:44:54 UTC
Changing the state of the issue to ASSIGNED, because it was covered in 
Requirements document at http://editor.netbeans.org/doc/Requirements.html
Comment 2 Jan Chalupa 2001-11-27 12:27:12 UTC
Target milestone -> 3.3.1.
Comment 3 Marek Grummich 2002-07-22 12:12:38 UTC
Set target milestone to TBD
Comment 4 Marek Grummich 2002-07-22 12:17:45 UTC
Set target milestone to TBD
Comment 5 Charlie Hunt 2005-01-10 20:10:58 UTC
*** Issue 30895 has been marked as a duplicate of this issue. ***
Comment 6 Charlie Hunt 2005-01-10 20:17:27 UTC
There's some additional information related to this enhancement in
issues; 30895, 35595, 42407 and 53128

That information is being consolidated and captured in this enhancement.

From 30895:
"NetBeans would utterly destroy the competition if the 
editor could be bound with VIM functionality. In addition, 
emacs and brief emulation would also be great. Then 
programmers could use their favorite "hackers editor" 
within netbeans. There is not a single commercial IDE that 
has done it and the one that does will gain allot of 
customers. I really miss VIM emulation when I am in 
NetBeans. Since VIM is open source, it should provide tons 
of information for those qualified to do such a port."

===================================================================

From 35595:
User problem -- configuring all the keyboard shortcuts is a time
consuming task.
User need -- the user wants to use keyboard shortcuts he or she is
acustomed to using.
Product requirement -- provide shortcut presets for most commonly used
IDEs (Visual Studio, EMACS, ...) and a simple way how to choose them.
Also necessary is to support multi-key shortcuts to be able to support
EMACS ones.

Additional Comments From danielpelton 2004-08-03 09:08 PDT -------

Not having the gnu emacs keys pre-configured is a real problem for the
developers at my company. We have decided to use Eclipse instead. We
believe that this is a very important feature missing from Netbeans. 
I wish someone with fix this.

Additional Comments From Tim Boudreau 2004-09-02 00:21 PDT -------

Note that, though hackish, this is semi doable already via a module. 
We're doing something like this for Apple keybindings.

===================================================================

From 42407:
Using the external editor (gvim) is a stop gap
method at best as many features are lost.  VI
keybindings should be available in an integrated
editor.

This issue is keeping me from adopting Netbeans.

===================================================================

From 51328:
NetBeans should offer an editor that has the same
feel/keybindings as the traditional 'vi', 'vim'
and 'emacs' editors.

This kind of feature could be configured in
NetBeans as easily as a radio button or check box
where an traditional user of vi or emacs can do
all of his or her edits with a vi or emacs type of
editor. But, can also reap all the other benefits
built into NetBeans.
 
The following text summarizes comments from a
developer who has used vi and vim for 15 years and
would like to try NetBeans if Source Editor
behaved in a similar manner as vi:

"It's possible to do most of what NetBeans 4.x has
in a good editor such as vim, emacs, or jedit. But
NetBeans has all of the integration done already
in one standard package.  However, the editor key
bindings will prevent me from using it as a
replacement for vi or vim. Similar sort of
argument exists for emacs users as well.

Please note that a lot of vi users have actually
migrated to vim, which supports features such as
multiple buffers, windows, splitting windows, and
a lot of other features.  NetBeans should look at
the vim extensions to vi as well and make those
available in a NetBeans vi type editor.

Also, note that vim (and especially emacs) are
more than just keybindings.  Both editors are
extremely programmable. Many developers take
advantage of the programmability to extend the
editor, and also to add IDE features as needed.
Some of the more common extensions should be
looked at as well."
Comment 7 Charlie Hunt 2005-01-10 20:19:28 UTC
*** Issue 35595 has been marked as a duplicate of this issue. ***
Comment 8 Charlie Hunt 2005-01-10 20:21:44 UTC
*** Issue 53128 has been marked as a duplicate of this issue. ***
Comment 9 artibee 2006-05-22 19:20:52 UTC
Feedback from a potential customer on the SDN 2006-05-19:

"I simply can't code without VI. I am not using NetBeans because of it."

Note: 58412 has been marked RESOLVED/FIXED.
Comment 10 gushie 2006-06-24 09:24:47 UTC
I have been a Vim user for about 5 years now and I am looking for a "way in" to
contribute to NetBeans development.  I would definitely consider helping out
with Vim keybindings if it is possible/feasible. 

What is the current status on this?  Is anyone working on it at the moment?
Comment 11 Miloslav Metelka 2006-06-26 12:58:58 UTC
The Vim support is not being actively developed at the moment although I would
like to have the Vim support as well. Compared to regular NetBeans keyboard
profile the Vim support is somewhat trickier. We need to support generic
prefixing of the actions by numbers e.g. "10x" and suffixing of certain actions
e.g. "dw" "dG" etc. and support the modes (command mode and insert mode). The
command line mode should IMHO be limited.
 Personally I would like to retain the regular JComponent handling and just have
specialized actions that would possibly hold an extra context e.g. as
JComponent.getClientProperty().
Comment 12 Martin Krauskopf 2006-06-26 13:07:19 UTC
I also think that "normal" and "insert" modes would be enough as a started. Even
replace and visual modes are not must-have as started I think. I.e. whatever
what would bring at least a little of VIM (or Emacs if anybody cares ;) )
functionality would be very nice to have.
By setting TM -> Dev, you meant that something could be done for next version?
That would super.
Comment 13 ramihu 2006-06-27 23:40:58 UTC
Please give us at least simple emulation!  I love netbeans, but the biggest
problem is that there is no vi emulation.  Who thought EMacs would be a better
fit?  Yuk!

Thanks!
Comment 14 Miloslav Metelka 2006-06-29 14:45:27 UTC
*** Issue 77436 has been marked as a duplicate of this issue. ***
Comment 15 gushie 2006-07-06 14:13:43 UTC
I will look into this.  As a simple feasibility test I could attempt to
implement normal and insert modes with basic nagivation support (hjkl) maybe,
just to see what obstacles get in the way.  I am new to NetBeans development
however, so this may come to nothing!
Comment 16 Roman Strobl 2007-05-20 19:07:50 UTC
Doesn't the jVi plug-in satisfy the requirements listed here?

http://jvi.sourceforge.net

Emacs keybinding are available in Tools | Options | Keymaps.
Comment 17 Vitezslav Stejskal 2007-05-21 02:24:46 UTC
I would say it does. I think it's by far the best Vi integration we have ever had.
Comment 18 Roman Strobl 2007-05-21 09:19:21 UTC
Is it time to close this issue then as resolved?
Comment 19 Marian Petras 2007-08-31 15:37:03 UTC
I also consider the jVi plugin very good and covering the requirements discussed here. There are still some issues but
it is already pretty usable for everyday development. The developer of the plugin is still working on it so I assume it
is going to be even better.
Comment 20 Vitezslav Stejskal 2007-09-05 16:36:56 UTC
Ok, let's say it's fixed. Thank you to Ernie for jVi integration and many nameless for the Emacs keybinding profile!