www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Emacs or Vi? Why the answer is neither.

reply Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
It seems to be article season, and I'm on a bit of a punditry mood, so 
here's a blog post I wrote recently:

http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-neither.html

It's not about D, but it's a software development issue that has popped 
up several times here in the NG... :)


-- 
Bruno Medeiros - Software Engineer
Jun 02 2011
next sibling parent reply Jesse Phillips <jessekphillips+d gmail.com> writes:
On Thu, 02 Jun 2011 17:49:52 +0100, Bruno Medeiros wrote:

 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:
 
 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-

 
 It's not about D, but it's a software development issue that has popped
 up several times here in the NG... :)

I'm sorry but your conclusion is something I cannot agree with on many points. The big thing you miss is that most code is text. I can agree that Vim (I will not speak for Emacs) is not a good IDE and is bad at understanding the semantics of a language. But to dismiss a text editor for writing code because it is textual... Personally I don't like working in Java without Eclipse and in C# without VS or MonoDevelop. But many times I will open the file in Vim or just copy and past a section of code in Vim just so I can have a text editor to edit my text. I miss Vim in my terminal. I don't claim to know the ins and outs of an IDE, but you haven't convinced me. Vim's understanding of the code is zero, the closest thing it has is the ability to navigate tags which are generated by ctags. It only works for navigation and those languages supported by the program (just like an IDE). But some things, like a Type Hierarchy and Outline should be created by the documentation generator. Some other items are very nice, but are not common during a days coding. I rename variables all the time, but usually these are local in scope and and can be done with a quick search and replace on a selection or file. Extracting a method is common and the ability to identify needed parameters is certainly very nice. Parameter modification is going to be more of a find all calls to this function then a "I'll do it for you." and the Content Assist (more than just auto-complete). And to this I generally just miss Vim more than these features, but are still the reasons I keep and IDE one it is available. The strangest credit you gave an IDE, "navigate to member/element above/ below - Ctrl-Shift-Up/Down), word navigate (Ctrl-Left/Right)" This is Vim territory here. And you left off search, that one is simple in any editor, but with Vim you can be selecting text and search to where you want to end the selection. There are tons of ways to navigate in vim. Using * to find the next instance of a word, w to jump a word, % to navigate to the matching paren/bracket/etc. I'd like to leave you with a thought experiment. The next time you need to change a word (not rename a variable), or change all the content inside quotes and think to yourself, this would be easier in Vim. You don't have to believe it, but I bet you if you remember to tell yourself this you'll see how common it is. I've done this very thing except mine was "If I could just remember that command to do this."
Jun 11 2011
next sibling parent reply Robert Clipsham <robert octarineparrot.com> writes:
On 11/06/2011 19:51, Jesse Phillips wrote:
 On Thu, 02 Jun 2011 17:49:52 +0100, Bruno Medeiros wrote:

 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:

 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-

 It's not about D, but it's a software development issue that has popped
 up several times here in the NG... :)

I'm sorry but your conclusion is something I cannot agree with on many points. The big thing you miss is that most code is text. I can agree that Vim (I will not speak for Emacs) is not a good IDE and is bad at understanding the semantics of a language. But to dismiss a text editor for writing code because it is textual... Personally I don't like working in Java without Eclipse and in C# without VS or MonoDevelop. But many times I will open the file in Vim or just copy and past a section of code in Vim just so I can have a text editor to edit my text. I miss Vim in my terminal. I don't claim to know the ins and outs of an IDE, but you haven't convinced me. Vim's understanding of the code is zero, the closest thing it has is the ability to navigate tags which are generated by ctags. It only works for navigation and those languages supported by the program (just like an IDE). But some things, like a Type Hierarchy and Outline should be created by the documentation generator.

Actually, this is incorrect - http://www.vim.org/scripts/script.php?script_id=3302 - With this plugin, vim has full semantic completion for C/C++/Objective-C/Objective-C++.
 Some other items are very nice, but are not common during a days coding.
 I rename variables all the time, but usually these are local in scope and
 and can be done with a quick search and replace on a selection or file.

 Extracting a method is common and the ability to identify needed
 parameters is certainly very nice. Parameter modification is going to be
 more of a find all calls to this function then a "I'll do it for you."
 and the Content Assist (more than just auto-complete). And to this I
 generally just miss Vim more than these features, but are still the
 reasons I keep and IDE one it is available.

 The strangest credit you gave an IDE, "navigate to member/element above/
 below - Ctrl-Shift-Up/Down), word navigate (Ctrl-Left/Right)" This is Vim
 territory here. And you left off search, that one is simple in any
 editor, but with Vim you can be selecting text and search to where you
 want to end the selection. There are tons of ways to navigate in vim.
 Using * to find the next instance of a word, w to jump a word, % to
 navigate to the matching paren/bracket/etc.

 I'd like to leave you with a thought experiment. The next time you need
 to change a word (not rename a variable), or change all the content
 inside quotes and think to yourself, this would be easier in Vim. You
 don't have to believe it, but I bet you if you remember to tell yourself
 this you'll see how common it is. I've done this very thing except mine
 was "If I could just remember that command to do this."

There's far too much mouse usage in IDEs for me. You mean I have to move my hands away from the keyboard to do a find and replace? Pfft :< -- Robert http://octarineparrot.com/
Jun 11 2011
next sibling parent Daniel Gibson <metalcaedes gmail.com> writes:
Am 11.06.2011 21:32, schrieb Robert Clipsham:
 There's far too much mouse usage in IDEs for me. You mean I have to move
 my hands away from the keyboard to do a find and replace? Pfft :<
 

In Eclipse: Ctrl-F for find and replace, Alt-Shift-R to rename a variable/class/whatever for the whole workspace (at least for Java, not sure if CDT supports that as well). Cheers, - Daniel
Jun 11 2011
prev sibling parent reply Mirko Pilger <pilger cymotec.de> writes:
 Don't you have to move your hands away from "home position" to use the
 arrow keys to move around with a keyboard anyways?

text navigation is done in the command mode via the h, j, k and l keys.
Apr 24 2012
next sibling parent Mirko Pilger <pilger cymotec.de> writes:
 Though, you still have to move your hand to Esc to exit input mode,
 though admittedly, that's not as far a reach (idk about on non-US
 keyboard layouts).

yep, that's a small usability glitch with historical reason. early keyboard layouts featured esc in the place where we expect the tab key today.
Apr 25 2012
prev sibling parent Ary Manzana <ary esperanto.org.ar> writes:
On 4/26/12 1:08 AM, F i L wrote:
 On Wednesday, 25 April 2012 at 06:31:36 UTC, Mirko Pilger wrote:
 Don't you have to move your hands away from "home position" to use the
 arrow keys to move around with a keyboard anyways?

text navigation is done in the command mode via the h, j, k and l keys.

I see, that makes a bit more sense. Though, you still have to move your hand to Esc to exit input mode, though admittedly, that's not as far a reach (idk about on non-US keyboard layouts). Or maybe there's an alternative key for that as well that I'm not aware of.

Many people have the shortcut jj as an alternative to Esc. You never move your hand from the keyboard. :-P (and I never needed to type jj anyways...)
Apr 25 2012
prev sibling next sibling parent Andrew Wiley <wiley.andrew.j gmail.com> writes:
--0016e6d27c6296045b04a578d41e
Content-Type: text/plain; charset=ISO-8859-1

On Sat, Jun 11, 2011 at 4:52 PM, Daniel Gibson <metalcaedes gmail.com>wrote:

 Am 11.06.2011 21:32, schrieb Robert Clipsham:
 There's far too much mouse usage in IDEs for me. You mean I have to move
 my hands away from the keyboard to do a find and replace? Pfft :<

In Eclipse: Ctrl-F for find and replace, Alt-Shift-R to rename a variable/class/whatever for the whole workspace (at least for Java, not sure if CDT supports that as well).

F3 for "Go To Definition" (works in DDT) F4 for "View Type Hierarchy" (doesn't seem to work in DDT) ctrl+space for autocomplete (sometimes works in DDT) --0016e6d27c6296045b04a578d41e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <br><br><div class=3D"gmail_quote">On Sat, Jun 11, 2011 at 4:52 PM, Daniel = Gibson <span dir=3D"ltr">&lt;<a href=3D"mailto:metalcaedes gmail.com">metal= caedes gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote"= style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> Am 11.06.2011 21:32, schrieb Robert Clipsham:<br> <div class=3D"im">&gt; There&#39;s far too much mouse usage in IDEs for me.= You mean I have to move<br> &gt; my hands away from the keyboard to do a find and replace? Pfft :&lt;<b= r> &gt;<br> <br> </div>In Eclipse: Ctrl-F for find and replace, Alt-Shift-R to rename a<br> variable/class/whatever for the whole workspace (at least for Java, not<br> sure if CDT supports that as well).</blockquote><div><br></div><div>F3 for = &quot;Go To Definition&quot; (works in DDT)</div><div>F4 for &quot;View Typ= e Hierarchy&quot; (doesn&#39;t seem to work in DDT)</div><div>ctrl+space fo= r autocomplete (sometimes works in DDT)</div> </div><br> --0016e6d27c6296045b04a578d41e--
Jun 11 2011
prev sibling next sibling parent Jesse Phillips <jessekphillips+d gmail.com> writes:
On Sat, 11 Jun 2011 20:32:09 +0100, Robert Clipsham wrote:

 I don't claim to know the ins and outs of an IDE, but you haven't
 convinced me. Vim's understanding of the code is zero, the closest
 thing it has is the ability to navigate tags which are generated by
 ctags. It only works for navigation and those languages supported by
 the program (just like an IDE). But some things, like a Type Hierarchy
 and Outline should be created by the documentation generator.

Actually, this is incorrect - http://www.vim.org/scripts/script.php?script_id=3302 - With this plugin, vim has full semantic completion for C/C++/Objective-C/Objective-C++.

Well, I'm not sure if that makes my statement incorrect. Vim still doesn't understand the code. It does work well with external programs (ctags, and clang in this case), which I was avoiding going over since it isn't Vim and they can sometimes either be a PITA to setup, use, or find. I suppose one point I forgot to comment on: "If all the best shortcuts are taken for text operations, and little is left for semantic operations, or for that matter, for other language toolchain functionality (like building, debugging), that is clearly suboptimal." Vim has no concept of a "best shortcut" they are all equal and by no means are they all taken up. I don't even know of a command that combines shift and ctrl. And it is clearly easy to build the program :make
Jun 11 2011
prev sibling next sibling parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
On 11/06/2011 19:51, Jesse Phillips wrote:
 On Thu, 02 Jun 2011 17:49:52 +0100, Bruno Medeiros wrote:

 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:

 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-

 It's not about D, but it's a software development issue that has popped
 up several times here in the NG... :)

I'm sorry but your conclusion is something I cannot agree with on many points. The big thing you miss is that most code is text. I can agree that Vim (I will not speak for Emacs) is not a good IDE and is bad at understanding the semantics of a language. But to dismiss a text editor for writing code because it is textual...

Yes, most code is text. So what?
 The strangest credit you gave an IDE, "navigate to member/element above/
 below - Ctrl-Shift-Up/Down), word navigate (Ctrl-Left/Right)" This is Vim
 territory here. And you left off search, that one is simple in any
 editor, but with Vim you can be selecting text and search to where you
 want to end the selection. There are tons of ways to navigate in vim.
 Using * to find the next instance of a word, w to jump a word, % to
 navigate to the matching paren/bracket/etc.

Ok, maybe word navigate Ctrl-Left/Right is mostly textual than otherwise (although in JDT that is still done with knowledge of the language). But that is just one of several tasks I mentioned. Not enough to turn the argument. And navigate to member/element above/below is not Vim territory, from what I understand of your posts. This requires a basic semantic understanding, it's not the same as (or replaceable with) bracket matching. Do you understand how it works? Say you have the cursor inside a function (or next to the name of the function). If you navigate member up/down, the cursor will go the name of the function sibling to the one you are now. Does Vim have this operation?
 I'd like to leave you with a thought experiment. The next time you need
 to change a word (not rename a variable), or change all the content
 inside quotes and think to yourself, this would be easier in Vim. You
 don't have to believe it, but I bet you if you remember to tell yourself
 this you'll see how common it is. I've done this very thing except mine
 was "If I could just remember that command to do this."

If by word you mean something in a string literal (something inside quotes), or a word in documentation, then I can tell you already it's really uncommon for me do that, if not downright rare. The closest thing I have is changing code that is commented, that one happens sometimes. But it doesn't happen nearly as often as the other semantic operations Vim doesn't have.
 Personally I don't like working in Java without Eclipse and in C# without
 VS or MonoDevelop. But many times I will open the file in Vim or just
 copy and past a section of code in Vim just so I can have a text editor
 to edit my text. I miss Vim in my terminal.

 I don't claim to know the ins and outs of an IDE, but you haven't
 convinced me. Vim's understanding of the code is zero, the closest thing
 it has is the ability to navigate tags which are generated by ctags. It
 only works for navigation and those languages supported by the program
 (just like an IDE). But some things, like a Type Hierarchy and Outline
 should be created by the documentation generator.

 Some other items are very nice, but are not common during a days coding.
 I rename variables all the time, but usually these are local in scope and
 and can be done with a quick search and replace on a selection or file.

Why is it that it is not common "during a days coding"? Why local variables are common, but not functions, methods, classes, modules, etc.? What languages are talking about here? For me to convince (or just argue) any further, I would have to look at your work patterns and workflow. It's hard to make a concrete and more objective argument otherwise. But my suspicion is that you (as well as many other programmers) mostly use languages that are very hard to have semantic operations available in tools (like C/C++ by "virtue" of their preprocessor and metaprogramming, or dynamic and scripting languages by "virtue" of their lack of static typing). Thus you never understand the potential of it, because you never fully experienced it. Note that this is not something you can just try in a few days of trying Java and an IDE, rather it grows on you after long periods of development experience. A bit quicker if you are wiser ;) Reminds me of when I was a kid in high school, and I knew a fair amount of C, and did a fair amount of toy coding there. I had a friend who coded in Pascal, he didn't know C. I tried to explain him that C was better, I said stuff like "the syntax is cleaner, it's more simple yet more powerful, it's more elegant" etc., etc. but my friend did not understand and never agreed. He saw no reason to change. Only later, when he actually tried and learned C (before, and because of, going to college), he came back to me said, yeah, "you were right", "now I see what you mean, C is much better". A similar thing happens today. Think of the DVCS "revolution". How many coders, even though they were not fans of Subversion, and knew branching and merging was hard and could be better, only understood the power, benefits, and "paradigm shift" of DVCS when they actually started using them for a while?? Whereas before they were a bit skeptical of all the benefits? (See the Joel on Software intro to Mercurial for example) This is the same feeling I have whenever I discuss this IDE vs. not issue. It just seem to me the people on the not camp don't get the paradigm shift. Case in point: I've yet to meet an experienced Java programmer who would fundamentally disagree with me on this issue. Yes, this anecdotal, but note that in any case meeting *one* such programmer would not counter my point: which is that in the Java world virtually everyone uses (prefers) an IDE. Some will say that's a fault of Java, and that Java "requires an IDE", like Ary said. But that is another discussion (which I strongly disagree, of course). -- Bruno Medeiros - Software Engineer
Jun 20 2011
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
Robert Clipsham wrote:
 There's far too much mouse usage in IDEs for me. You mean I 
 have to move my hands away from the keyboard to do a find and 
 replace? Pfft :<

MonoDevelop has a Vi mode, and most functions in IDE's are mapped to keyboard shortcuts anyways. Ctrl-F for find/replace, Ctrl-K-C/U for commenting, etc... there's probably even keys do navigate the project overview. I don't see what's so bad with moving your hands around a bit anyways. Don't you have to move your hands away from "home position" to use the arrow keys to move around with a keyboard anyways? The muscle memory for moving to the mouse feels very similar to me.
Apr 24 2012
prev sibling next sibling parent Gyula Gubacsi <gyula.gubacsi gmail.com> writes:
--f46d0408d3bfd57f3c04be7d7201
Content-Type: text/plain; charset=ISO-8859-1

Basically I have two modes two use my hands. Quake mode, when my hand is on
the left side of the keyboard and my right is on the mouse, and coding
mode, when both my hands are on the keyboard. In the latter it isn't easy
to change to mouse and in most of the programs it is causing me a
considerable discomfort, because typing has a priority in this mode. To
change between the two is just a bad option.
I'm using Visual Studio and Eclipse on regular basis, and I have an almost
100% coverage of short cuts within these IDEs. I don't see why a GUI IDE
should lack of the most important feature for a programmer, to be able to
use with keyboard only. In addition, emacs is an IDE, I would argue, that
one of the coolest IDE I ever seen because of its almost infinite
expansibility. It's a complete shell you know...

On 25 April 2012 01:58, F i L <witte2008 gmail.com> wrote:

 Robert Clipsham wrote:

 There's far too much mouse usage in IDEs for me. You mean I have to move
 my hands away from the keyboard to do a find and replace? Pfft :<

MonoDevelop has a Vi mode, and most functions in IDE's are mapped to keyboard shortcuts anyways. Ctrl-F for find/replace, Ctrl-K-C/U for commenting, etc... there's probably even keys do navigate the project overview. I don't see what's so bad with moving your hands around a bit anyways. Don't you have to move your hands away from "home position" to use the arrow keys to move around with a keyboard anyways? The muscle memory for moving to the mouse feels very similar to me.

--f46d0408d3bfd57f3c04be7d7201 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div class=3D"gmail_extra">Basically I have two modes two use my hands. Qua= ke mode, when my hand is on the left side of the keyboard and my right is o= n the mouse, and coding mode, when both my hands are on the keyboard. In th= e latter it isn&#39;t easy to change to mouse and in most of the programs i= t is causing me a considerable discomfort, because typing has a priority in= this mode. To change between the two is just a bad option.<br> I&#39;m using Visual Studio and Eclipse on regular basis, and I have an alm= ost 100% coverage of short cuts within these IDEs. I don&#39;t see why a GU= I IDE should lack of the most important feature for a programmer, to be abl= e to use with keyboard only. In addition, emacs is an IDE, I would argue, t= hat one of the coolest IDE I ever seen because of its almost infinite expan= sibility. It&#39;s a complete shell you know...<br> <br><div class=3D"gmail_quote">On 25 April 2012 01:58, F i L <span dir=3D"l= tr">&lt;<a href=3D"mailto:witte2008 gmail.com" target=3D"_blank">witte2008 = gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style= =3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Robert Clipsham wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> There&#39;s far too much mouse usage in IDEs for me. You mean I have to mov= e my hands away from the keyboard to do a find and replace? Pfft :&lt;<br> </blockquote> <br> MonoDevelop has a Vi mode, and most functions in IDE&#39;s are mapped to ke= yboard shortcuts anyways. Ctrl-F for find/replace, Ctrl-K-C/U for commentin= g, etc... there&#39;s probably even keys do navigate the project overview.<= br> <br> I don&#39;t see what&#39;s so bad with moving your hands around a bit anywa= ys. Don&#39;t you have to move your hands away from &quot;home position&quo= t; to use the arrow keys to move around with a keyboard anyways? The muscle= memory for moving to the mouse feels very similar to me.<br> </blockquote></div><br></div> --f46d0408d3bfd57f3c04be7d7201--
Apr 25 2012
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
On Wednesday, 25 April 2012 at 06:31:36 UTC, Mirko Pilger wrote:
 Don't you have to move your hands away from "home position" to 
 use the
 arrow keys to move around with a keyboard anyways?

text navigation is done in the command mode via the h, j, k and l keys.

I see, that makes a bit more sense. Though, you still have to move your hand to Esc to exit input mode, though admittedly, that's not as far a reach (idk about on non-US keyboard layouts). Or maybe there's an alternative key for that as well that I'm not aware of.
Apr 25 2012
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
Gyula Gubacsi wrote:
 I'm using Visual Studio and Eclipse on regular basis, and I 
 have an almost
 100% coverage of short cuts within these IDEs. I don't see why 
 a GUI IDE
 should lack of the most important feature for a programmer, to 
 be able to
 use with keyboard only.

I agree, this seems to be overlooked in IDEs. I think something like Right-Ctrl + W/A/S/D keys or something equivalent for navigating would be a simple fix to this.
 In addition, emacs is an IDE, I would argue, that
 one of the coolest IDE I ever seen because of its almost 
 infinite
 expansibility. It's a complete shell you know...

Never used Emacs. I've only really been using Linux and FOSS tools for ~8 months now, so I haven't had time to explore everything. Also, I don't have a lot of reason to use Emacs; I don't write C/C++ code on a regular basis. I use GEdit/Notepad++ for web work (for their built-in FTP functionality), and VisualStudios/MonoDevelop for C# and D.
Apr 25 2012
prev sibling next sibling parent "David Nadlinger" <see klickverbot.at> writes:
On Wednesday, 25 April 2012 at 23:54:23 UTC, Ary Manzana wrote:
 Many people have the shortcut jj as an alternative to Esc. You 
 never move your hand from the keyboard. :-P

Or the caps lock key, which I personally use. Can't believe how I managed to survive for years without rebinding it… ;) David
Apr 26 2012
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
On Thursday, 26 April 2012 at 17:00:25 UTC, David Nadlinger wrote:
 On Wednesday, 25 April 2012 at 23:54:23 UTC, Ary Manzana wrote:
 Many people have the shortcut jj as an alternative to Esc. You 
 never move your hand from the keyboard. :-P

Or the caps lock key, which I personally use. Can't believe how I managed to survive for years without rebinding it… ;) David

...but what if you want to write in LOLCODE? Ha, See! Vim sux. </trolling>
Apr 26 2012
prev sibling next sibling parent "Thomas Mader" <thomas.mader gmail.com> writes:
On Thursday, 26 April 2012 at 17:00:25 UTC, David Nadlinger wrote:
 On Wednesday, 25 April 2012 at 23:54:23 UTC, Ary Manzana wrote:
 Many people have the shortcut jj as an alternative to Esc. You 
 never move your hand from the keyboard. :-P

Or the caps lock key, which I personally use. Can't believe how I managed to survive for years without rebinding it… ;) David

I would be interested in your key bindings in general. In my opinion many of the keybindings are very uncomfortable with a german keyboard layout do you use another layout? (I know you are from Austria because of your website. I am too) Do you use vim for D programming? Thomas
May 14 2012
prev sibling parent "Tobias Pankrath" <tobias pankrath.net> writes:
On Monday, 14 May 2012 at 11:34:22 UTC, Thomas Mader wrote:
 On Thursday, 26 April 2012 at 17:00:25 UTC, David Nadlinger 
 wrote:
 On Wednesday, 25 April 2012 at 23:54:23 UTC, Ary Manzana wrote:
 Many people have the shortcut jj as an alternative to Esc. 
 You never move your hand from the keyboard. :-P

Or the caps lock key, which I personally use. Can't believe how I managed to survive for years without rebinding it… ;) David

I would be interested in your key bindings in general. In my opinion many of the keybindings are very uncomfortable with a german keyboard layout do you use another layout? (I know you are from Austria because of your website. I am too) Do you use vim for D programming? Thomas

There is no vim vs IDE, because QtCreator works well (at least for C++) and has an awesome vim mode. You get the shortcuts from IDE (like commenting, searching for a function in the hole project by name etc, refactoring, etc) and the vim commandos. I use different editors and IDEs, but a vi-mode is a must have for me. If you need a german keyboard layout* you need www.neo-layout.org. You'll have to spend ~3 weeks to learn it and it is worth it. Some highlights: you get arrowkeys, enter, pageup, pagedown, tab, backspace and a full numblock on Mod4. That means that you can do basic movements without leaving your current vi mode :-) The arrowkeys reside directly under your left hand on ESDF. That's even the same I use for playing games. And these keys tend to change their position between different keyboards. Now they have a fixed position. you get most characters commonly used for programming on your homerow: \/{}*?()-: So I can insert {} with CAPSLOCK (the Mod3) + 'd' or 'f'. I still can type QWERTZ with reasonable speed, but I can't stand programming with QWERTZ anymore. All alphabetical characters are rearranged. That's makes this layout harder to learn, but much much easier to type. I recommend to take the time and learn it, however if you can't or don't want to afford it, you could leave the position of the alphabetical characters (MOD1 and MOD2) basically untouched and integrate MODX, x >= 3 into QWERTZ. It would still be a really good layout for programming.
May 17 2012
prev sibling next sibling parent reply Ary Manzana <ary esperanto.org.ar> writes:
On 6/2/11 11:49 PM, Bruno Medeiros wrote:
 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:

 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-neither.html


 It's not about D, but it's a software development issue that has popped
 up several times here in the NG... :)

IDEs are good for languages that need IDEs. For languages that don't need IDEs, vi is good. :-)
Jun 12 2011
parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
On 12/06/2011 13:32, Ary Manzana wrote:
 On 6/2/11 11:49 PM, Bruno Medeiros wrote:
 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:

 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-neither.html



 It's not about D, but it's a software development issue that has popped
 up several times here in the NG... :)

IDEs are good for languages that need IDEs. For languages that don't need IDEs, vi is good. :-)

IDEs are good for languages that can benefit from IDEs. For languages that can't benefit from IDEs, you're stuck with vi. :-) -- Bruno Medeiros - Software Engineer
Jun 20 2011
prev sibling next sibling parent reply Kagamin <spam here.lot> writes:
Bruno Medeiros Wrote:

 It seems to be article season, and I'm on a bit of a punditry mood, so 
 here's a blog post I wrote recently:
 
 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-neither.html
 
 It's not about D, but it's a software development issue that has popped 
 up several times here in the NG... :)

Theoretically IDE is better but Visual Studio 1. Loads a solution 20 seconds. 2. Hits OutOfMemoryException regularly after which it can randomly crash or do funny things. 3. Can't run for longer than a day. 4. Can't work on more than one solution at a time. Combined with 1 switching between solutions is pain in the ass. Text editors may have less features but they're not so annoying, they just work. Well, I agree, the net productivity of visual studio is still higher, but it's tricky to stay sane working with it.
Jul 27 2011
next sibling parent Kagamin <spam here.lot> writes:
Cliff Hudson Wrote:

 Kagamin, if you are experiencing failures with Visual Studio, please enter a
 Connect bug on it at http://connect.microsoft.com/.  I work on Visual Studio
 and we definitely want to hear about any crashes you experience,
 particularly if you have something that you can reproduce.  Also, Service
 pack 1 for Visual Studio 2010 is available now (if you don't already have it
 installed.)

It not really visual studio (2008), I bet it's resharper (an old version too). It just takes a good portion of ram and .net doesn't want to swap. Even if it would not crash, it's still hardly functional if every operation is interrupted by OutOfMemoryException. Memory efficiency is an advertisement strategy of CodeRush.
Jul 28 2011
prev sibling next sibling parent Cliff Hudson <cliff.s.hudson gmail.com> writes:
--0015175cba30df213404a924fad3
Content-Type: text/plain; charset=ISO-8859-1

Ah yes, ReSharper :)  That would do it...

On Thu, Jul 28, 2011 at 10:56 AM, Kagamin <spam here.lot> wrote:

 Cliff Hudson Wrote:

 Kagamin, if you are experiencing failures with Visual Studio, please

 Connect bug on it at http://connect.microsoft.com/.  I work on Visual

 and we definitely want to hear about any crashes you experience,
 particularly if you have something that you can reproduce.  Also, Service
 pack 1 for Visual Studio 2010 is available now (if you don't already have

 installed.)

It not really visual studio (2008), I bet it's resharper (an old version too). It just takes a good portion of ram and .net doesn't want to swap. Even if it would not crash, it's still hardly functional if every operation is interrupted by OutOfMemoryException. Memory efficiency is an advertisement strategy of CodeRush.

--0015175cba30df213404a924fad3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Ah yes, ReSharper :) =A0That would do it...<br><br><div class=3D"gmail_quot= e">On Thu, Jul 28, 2011 at 10:56 AM, Kagamin <span dir=3D"ltr">&lt;spam her= e.lot&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margi= n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <div class=3D"im">Cliff Hudson Wrote:<br> <br> &gt; Kagamin, if you are experiencing failures with Visual Studio, please e= nter a<br> &gt; Connect bug on it at <a href=3D"http://connect.microsoft.com/" target= =3D"_blank">http://connect.microsoft.com/</a>. =A0I work on Visual Studio<b= r> &gt; and we definitely want to hear about any crashes you experience,<br> &gt; particularly if you have something that you can reproduce. =A0Also, Se= rvice<br> &gt; pack 1 for Visual Studio 2010 is available now (if you don&#39;t alrea= dy have it<br> &gt; installed.)<br> <br> </div>It not really visual studio (2008), I bet it&#39;s resharper (an old = version too). It just takes a good portion of ram and .net doesn&#39;t want= to swap. Even if it would not crash, it&#39;s still hardly functional if e= very operation is interrupted by OutOfMemoryException. Memory efficiency is= an advertisement strategy of CodeRush.<br> </blockquote></div><br> --0015175cba30df213404a924fad3--
Jul 28 2011
prev sibling next sibling parent "Jussi Jumppanen" <jussij zeusedit.com> writes:
On Thursday, 28 July 2011 at 06:52:15 UTC, Kagamin wrote:

 Theoretically IDE is better but Visual Studio
 1. Loads a solution 20 seconds.
 2. Hits OutOfMemoryException regularly after which it can 
 randomly crash or do funny things.
 3. Can't run for longer than a day.
 4. Can't work on more than one solution at a time. Combined 
 with 1 switching between solutions is pain in the ass.

FWIW the Zeus editor can import Visual Studio solution files, will open a solution in a few seconds and crashes about once every two or three years. http://www.zeusedit.com/
Mar 07 2012
prev sibling next sibling parent Gyula Gubacsi <gyula.gubacsi gmail.com> writes:
--bcaec55555ec6d639204bab825a1
Content-Type: text/plain; charset=ISO-8859-1

Btw, how is the Emacs support these days?

On 8 March 2012 05:05, Jussi Jumppanen <jussij zeusedit.com> wrote:

 On Thursday, 28 July 2011 at 06:52:15 UTC, Kagamin wrote:

  Theoretically IDE is better but Visual Studio
 1. Loads a solution 20 seconds.
 2. Hits OutOfMemoryException regularly after which it can randomly crash
 or do funny things.
 3. Can't run for longer than a day.
 4. Can't work on more than one solution at a time. Combined with 1
 switching between solutions is pain in the ass.

FWIW the Zeus editor can import Visual Studio solution files, will open a solution in a few seconds and crashes about once every two or three years. http://www.zeusedit.com/

--bcaec55555ec6d639204bab825a1 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Btw, how is the Emacs support these days?<br><br><div class=3D"gmail_quote"=
On 8 March 2012 05:05, Jussi Jumppanen <span dir=3D"ltr">&lt;<a href=3D"ma=

ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c= cc solid;padding-left:1ex"> On Thursday, 28 July 2011 at 06:52:15 UTC, Kagamin wrote:<br> <br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> Theoretically IDE is better but Visual Studio<br> 1. Loads a solution 20 seconds.<br> 2. Hits OutOfMemoryException regularly after which it can randomly crash or= do funny things.<br> 3. Can&#39;t run for longer than a day.<br> 4. Can&#39;t work on more than one solution at a time. Combined with 1 swit= ching between solutions is pain in the ass.<br> </blockquote> <br> FWIW the Zeus editor can import Visual Studio solution files, will<br> open a solution in a few seconds and crashes about once every two<br> or three years.<br> <br> =A0<a href=3D"http://www.zeusedit.com/" target=3D"_blank">http://www.zeuse= dit.com/</a><br> <br> <br> </blockquote></div><br> --bcaec55555ec6d639204bab825a1--
Mar 08 2012
prev sibling parent "Jussi Jumppanen" <jussij zeusedit.com> writes:
On Thursday, 8 March 2012 at 10:17:09 UTC, Gyula Gubacsi wrote:

 Btw, how is the Emacs support these days?

Zeus still has Emacs keyboard bindings and they are fully supported. As to the qustion of how good they are, I'm not really sure. I myself use the Zeus Brief keyboard bindings. But over the years there have been a handful of bug reports raised against these Emacs bindings, so I suspect they are at the least usable. As always, if anyone finds issues with these bindings or any other aspect of Zeus please raise a bug report.
Mar 08 2012
prev sibling next sibling parent Cliff Hudson <cliff.s.hudson gmail.com> writes:
--0015175cba307190c304a91bbb8b
Content-Type: text/plain; charset=ISO-8859-1

Kagamin, if you are experiencing failures with Visual Studio, please enter a
Connect bug on it at http://connect.microsoft.com/.  I work on Visual Studio
and we definitely want to hear about any crashes you experience,
particularly if you have something that you can reproduce.  Also, Service
pack 1 for Visual Studio 2010 is available now (if you don't already have it
installed.)

Thanks.

- Cliff

On Wed, Jul 27, 2011 at 11:52 PM, Kagamin <spam here.lot> wrote:

 Bruno Medeiros Wrote:

 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:

 It's not about D, but it's a software development issue that has popped
 up several times here in the NG... :)

Theoretically IDE is better but Visual Studio 1. Loads a solution 20 seconds. 2. Hits OutOfMemoryException regularly after which it can randomly crash or do funny things. 3. Can't run for longer than a day. 4. Can't work on more than one solution at a time. Combined with 1 switching between solutions is pain in the ass. Text editors may have less features but they're not so annoying, they just work. Well, I agree, the net productivity of visual studio is still higher, but it's tricky to stay sane working with it.

--0015175cba307190c304a91bbb8b Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Kagamin, if you are experiencing failures with Visual Studio, please enter = a Connect bug on it at=A0<a href=3D"http://connect.microsoft.com/">http://c= onnect.microsoft.com/</a>. =A0I work on Visual Studio and we definitely wan= t to hear about any crashes you experience, particularly if you have someth= ing that you can reproduce. =A0Also, Service pack 1 for Visual Studio 2010 = is available now (if you don&#39;t already have it installed.)<div> <br>Thanks.</div><div><br></div><div>- Cliff</div><div><br><div class=3D"gm= ail_quote">On Wed, Jul 27, 2011 at 11:52 PM, Kagamin <span dir=3D"ltr">&lt;= spam here.lot&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style= =3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <div class=3D"im">Bruno Medeiros Wrote:<br> <br> &gt; It seems to be article season, and I&#39;m on a bit of a punditry mood= , so<br> &gt; here&#39;s a blog post I wrote recently:<br> &gt;<br> &gt; <a href=3D"http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-= answer-is-neither.html" target=3D"_blank">http://pureconcepture.blogspot.co= m/2011/05/emacs-or-vi-why-answer-is-neither.html</a><br> &gt;<br> &gt; It&#39;s not about D, but it&#39;s a software development issue that h= as popped<br> &gt; up several times here in the NG... :)<br> <br> </div>Theoretically IDE is better but Visual Studio<br> 1. Loads a solution 20 seconds.<br> 2. Hits OutOfMemoryException regularly after which it can randomly crash or= do funny things.<br> 3. Can&#39;t run for longer than a day.<br> 4. Can&#39;t work on more than one solution at a time. Combined with 1 swit= ching between solutions is pain in the ass.<br> <br> Text editors may have less features but they&#39;re not so annoying, they j= ust work. Well, I agree, the net productivity of visual studio is still hig= her, but it&#39;s tricky to stay sane working with it.<br> </blockquote></div><br></div> --0015175cba307190c304a91bbb8b--
Jul 28 2011
prev sibling next sibling parent reply "Jay Norwood" <jayn prismnet.com> writes:
On Thursday, 2 June 2011 at 16:54:17 UTC, Bruno Medeiros wrote:
 It seems to be article season, and I'm on a bit of a punditry 
 mood, so here's a blog post I wrote recently:

Ddt does an amazingly good job at finding references and definitions. Any regrets about going the DLTK route? Emacs I miss because of the ability to create keyboard macros. I work some with eclipse emf, and have been looking at what was done with emf4cpp. Combining a light-weight ide like poseidon with an emf4D code generator that uses dwt could be a handy app.
Apr 23 2012
parent Bruno Medeiros <brunodomedeiros+dng gmail.com> writes:
On 23/04/2012 23:09, Jay Norwood wrote:
 On Thursday, 2 June 2011 at 16:54:17 UTC, Bruno Medeiros wrote:
 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:

Ddt does an amazingly good job at finding references and definitions. Any regrets about going the DLTK route?

Nope, they saved a lot of work by offering lots of advanced IDE insfrastructure and funcionality, and should continue to do so in the future. That is not to say there are a few shortcomings with DLTK, it seems a bit more chaotic and less documented than other projects under the Eclipse Foundation umbrella (and the API is quite messy on a few things), but it's still good overall. I'm hoping to work more closely with the DLTK guys in the future to address this. -- Bruno Medeiros - Software Engineer
May 18 2012
prev sibling next sibling parent "F i L" <witte2008 gmail.com> writes:
On Thursday, 2 June 2011 at 16:54:17 UTC, Bruno Medeiros wrote:
 It seems to be article season, and I'm on a bit of a punditry 
 mood, so here's a blog post I wrote recently:

 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-neither.html

 It's not about D, but it's a software development issue that 
 has popped up several times here in the NG... :)

Good article. I completely agree with your conclusions. I really can't see how anyone would want to use a "text editor" over an "IDE". I mean, an IDE _is_ a text-editor + tools that help you manage projects and understand source structure. I hear the arguments about common IDE's crashing a lot, but honestly, even if it's as bad as naysayers proclaim (which is mostly isn't), I'd still rather use the productivity features of modern IDE's and live with a crash now 'n then. Plus, it's unrealistic to think that such bugs wont be fixed with time, just like with any software.
Apr 24 2012
prev sibling next sibling parent "so" <so so.so> writes:
On Wednesday, 25 April 2012 at 00:52:22 UTC, F i L wrote:
 On Thursday, 2 June 2011 at 16:54:17 UTC, Bruno Medeiros wrote:
 It seems to be article season, and I'm on a bit of a punditry 
 mood, so here's a blog post I wrote recently:

 http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-neither.html

 It's not about D, but it's a software development issue that 
 has popped up several times here in the NG... :)

Good article. I completely agree with your conclusions. I really can't see how anyone would want to use a "text editor" over an "IDE".

Did you use any of them? Emacs already is an IDE, much better than many around. Yes vim is "the" text editor, if you are using command line screen/tmux, vim is awesome. If only it had a better gdb/debugger integration, then it would be complete.
 I mean, an IDE _is_ a text-editor + tools that help you manage 
 projects and understand source structure.

There are tons of developers out there using vim and as it looks like they manage to do those somehow. No one forcing them :) I used to be a Visual Studio user as well, then i t...
May 01 2012
prev sibling parent Gyula Gubacsi <gyula.gubacsi gmail.com> writes:
--f46d0401236f11982604bf1e5036
Content-Type: text/plain; charset=ISO-8859-1

"I used to be a Visual Studio user as well, then i t..."

Nooooooo!!!!!! Your letter has been cut by the wire :)

On 1 May 2012 19:06, so <so so.so> wrote:

 On Wednesday, 25 April 2012 at 00:52:22 UTC, F i L wrote:

 On Thursday, 2 June 2011 at 16:54:17 UTC, Bruno Medeiros wrote:

 It seems to be article season, and I'm on a bit of a punditry mood, so
 here's a blog post I wrote recently:

 http://pureconcepture.**blogspot.com/2011/05/emacs-or-**
 vi-why-answer-is-neither.html<http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answer-is-neither.html>

 It's not about D, but it's a software development issue that has popped
 up several times here in the NG... :)

Good article. I completely agree with your conclusions. I really can't see how anyone would want to use a "text editor" over an "IDE".

Did you use any of them? Emacs already is an IDE, much better than many around. Yes vim is "the" text editor, if you are using command line screen/tmux, vim is awesome. If only it had a better gdb/debugger integration, then it would be complete. I mean, an IDE _is_ a text-editor + tools that help you manage projects
 and understand source structure.

There are tons of developers out there using vim and as it looks like they manage to do those somehow. No one forcing them :) I used to be a Visual Studio user as well, then i t...

--f46d0401236f11982604bf1e5036 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable &quot;I used to be a Visual Studio user as well, then i t...&quot;<br><br>N= ooooooo!!!!!! Your letter has been cut by the wire :)<br><br><div class=3D"= gmail_quote">On 1 May 2012 19:06, so <span dir=3D"ltr">&lt;<a href=3D"mailt= o:so so.so" target=3D"_blank">so so.so</a>&gt;</span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"><div class=3D"im">On Wednesday, 25 April 201= 2 at 00:52:22 UTC, F i L wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> On Thursday, 2 June 2011 at 16:54:17 UTC, Bruno Medeiros wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> It seems to be article season, and I&#39;m on a bit of a punditry mood, so = here&#39;s a blog post I wrote recently:<br> <br> <a href=3D"http://pureconcepture.blogspot.com/2011/05/emacs-or-vi-why-answe= r-is-neither.html" target=3D"_blank">http://pureconcepture.<u></u>blogspot.= com/2011/05/emacs-or-<u></u>vi-why-answer-is-neither.html</a><br> <br> It&#39;s not about D, but it&#39;s a software development issue that has po= pped up several times here in the NG... :)<br> </blockquote> <br> Good article. I completely agree with your conclusions.<br> <br> I really can&#39;t see how anyone would want to use a &quot;text editor&quo= t; over an &quot;IDE&quot;.<br> </blockquote> <br></div> Did you use any of them? Emacs already is an IDE, much better than many aro= und. Yes vim is &quot;the&quot; text editor, if you are using command line = screen/tmux, vim is awesome. If only it had a better gdb/debugger integrati= on, then it would be complete.<div class=3D"im"> <br> <br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> I mean, an IDE _is_ a text-editor + tools that help you manage projects and= understand source structure.<br> </blockquote> <br></div> There are tons of developers out there using vim and as it looks like they = manage to do those somehow. No one forcing them :)<br> <br> I used to be a Visual Studio user as well, then i t...<br> </blockquote></div><br> --f46d0401236f11982604bf1e5036--
May 03 2012