Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Vim 7.4 is released (vim.org)
245 points by sramsay on Aug 10, 2013 | hide | past | favorite | 124 comments


:help version7.4 has all the details, but the two most significant ones cited are "New regexp engine" and "A more pythonic Python interface."

Of the former, the help file says:

What is now called the "old" regexp engine uses a backtracking algorithm. It tries to match the pattern with the text in one way, and when that fails it goes back and tries another way. This works fine for simple patterns, but complex patterns can be very slow on longer text.

The new engine uses a state machine. It tries all possible alternatives at the current character and stores the possible states of the pattern. This is a bit slower for simple patterns, but much faster for complex patterns and long text.

Most notably, syntax highlighting for Javascript and XML files with long lines is now working fine. Previously Vim could get stuck.


Good to see the new regex engine is now shipped by default. It's been in development for quite a long time, held up mostly because of so many edge cases.

The initial work was done in a 2008 Summer of Code project: http://code.google.com/p/vim-soc2008-regexp/source/list

but there were lots of fiddly issues with character classes and Unicode handling, a need for exact equivalence to the old regex engine to avoid arbitrarily breaking existing scripts, and a need for a comprehensive test suite, all of which took a while for people to supply.


I think the old engine is still included, and used in the cases where the new one can't do the work.


It sounds like someone read Russ Cox's work on regexp.

http://swtch.com/~rsc/regexp/

To future regexp implementors: Do it this way first!


It sounds like someone read Russ Cox's work on regexp.

Russ Cox? You know that regular expressions have existed since Kleene's first proposals, and everyone with a CS degrees knows that you can compile them to deterministic finite state automata. Right?


Sadly not everybody is familiar with Automata theory - furthermore, I'm sure he knows and his link is about implementation and is none trivial and none obvious.

I'm struggling to understand your negativity here..


I'm struggling to understand your negativity here..

Sorry, that was indeed a bit harsh. I wanted to point out that Bram Molenaar is probably well-aware of DFAs given how well-known they are and how many implementations there are available. I don't think Russ Cox has much too do with it and rather that it is driven by demand - linear time matching is attractive for syntax highlighting.


You know that he didn't say Cox invented regular expressions, but that the Vim implementation might be influenced by Cox's advocacy on the matter. Right?


And that's why the RE2 implementation has existed equally long!

Oh, wait.


There are many implementations the standard operations on finite state automata (determinization, minimization, intersection, concatenation, etc.) and nearly as many implementations of regular expressions[1]. Anyone who is in the trade (of text processing), including Bram Molenaar, will be aware that regular languages can be represented as finite state automata.

However, the problem is that not all regular expressions 'dialects' (most notably Perl regexes) are not regular languages and cannot be represented as a finite state automata. For instance, the introduction of back-references makes regular expressions non-regular.

So, it's not so much being enlightened by Russ Cox, but a trade-off between the convenience of some of the Perl extensions and the ability to apply matching in linear time. Also, for complex expressions, constructing the automaton can be slow.

[1] A small selection:

http://www.brics.dk/automaton/

http://www.let.rug.nl/~vannoord/Fsa/

http://www.complang.org/ragel/

http://open.xerox.com/Services/fst-nlp-tools

Some of the packages can also be used to construct transducers, weighted automata, etc.


Cox's work builds on Thompson's work from the 60s. He says so himself.


The basic implementation methods are well-known and quasi-standard, but Cox did make some useful practical additions, in addition to writing up a clear and accessible exposition.

The classic DFA engines, like in Thompson's version of grep, provide a fairly minimal regex language (later standardized as POSIX regexes), not much fancier than the regular-language syntax used in textbooks. Perl-style regular expressions get such widespread usage even outside of Perl in part because they have a more full-featured syntax, which provides conveniences people find useful. Cox implemented a significant subset of this functionality as syntactic sugar on top of a classic automaton regex engine, so RE2, unlike POSIX regexes, supports named matches, named character classes like \d (plus Unicode character classes), non-greedy matches, etc. Basically everything that can be done without making the language nonregular, so excluding lookahead, lookbehind, and backreferences.

Since vim regexes (a custom dialect) support some of those supra-POSIX features, those implementation techniques were likely useful for them to look at. Indeed they link to Cox's article somewhere or other in the design docs.

Vim does have lookahead/lookbehind syntax, though; I wonder how they supported that. Fallback to the backtracking engine?


Larry Wall does not have a CS degree.


But his degree did involve computers. He got his undergraduate degree in natural and artificial languages


I assume a degree with that title would lean towards the formal side of linguistics, which means you would certainly cover things like the Chomsky hierarchy in detail; after all linguistics is where the Chomsky hierarchy (though not regular languages) originated.


In this interview[1] he states that his degree is one that he designed himself (which his college allowed), and that he used his programming classes and experience as the second of two foreign languages he needed for his Linguistics degree (the first being Classical Greek). He calls this a, "hack".

He talks about schooling after his undergrad, but doesn't go into what that was.

[1] http://www.youtube.com/watch?v=aNAtbYSxzuA


He was doing Linguistics at UC Berkeley, too.


I got mine in Linguistics, so I have no problem with him for his degree, just Perl's "regular" expressions.


I believe it's Ken Thompson who first implemented them using a DFA.


I am interested in regexp implementation (high level overview). As far as I understand, it is not possible to come up with state-machine for regex containing "extensions" such as backreference (\1 or \2), it just doesn't fit into "regular languages". At least this is what I learnt from [0].

Does anyone know more details about new regex matcher? (I don't think I will be able to read the code).

[0]: http://swtch.com/~rsc/regexp/


I've been digging deeper and deeper into vimscript and also scripting vim with python. It's so amazing what you can do with just a few lines of hacky vimscript!

Today I made it so that every time I open a .markdown file, vim compiles it to html and opens it in my browser (using 'open' command on OS X). It also updates it automatically every time I save or leave insert mode.

I've also hacked together a python REPL inside a vim window. (Wasn't very hard, as vim has python built-in.)

Once you realise that Vim is just an extension of the command line, a new world opens up. Everything you can do from the command line, you can do from Vim. Throw in Python and the options are endless... So much POWER!!

BTW: I also discovered vim has MzScheme built-in, so don't go for emacs just because of lisp... Vim has a nicer lisp! Come to the dark side, we have cookies! (And lisp.)


I never looked into it much as i started with lisp just recently and also putting that info with your vimscript makes me love vim a lot more now. Thank you kind sir.


I am more of an emacs guy, but your last point is making me want to give Vim a shot...


It looks like Vim 7.4 has been compiled without MzScheme support.


share the markdown code if you don't mind?


This is VERY hacky, but that was kind of the point I was making. Hack together what you need! Here you go: http://pastebin.com/sPmPsCgY

Edit: Safari reloads the existing tab, so set the default browser to Safari if you want that.


that is quite clever. works here too. any idea how you could convince firefox to reload the tab rather than creating a new one?


You can use AppleScript to accomplish that. See for example https://github.com/mharju/vim-fiddle/blob/master/template/fi... for hints on how to do it.


thank you. and thanks to alex too ;)


vim-instant-markdown is an excellent plugin if you edit a lot of markdown content.

https://github.com/suan/vim-instant-markdown


I've just updated my unofficial Mac OS X build (featuring alloy's native sidebar with a file tree):

https://github.com/rcarmo/macvim/releases/tag/7.4

It's a tad controversial, I know, but I find it vastly more friendly than NERDTree, and I know quite a few people were looking for alloy's builds a while back.

EDIT: screenshot, from an older build:

https://f.cloud.github.com/assets/392683/793013/469e0c62-ebd...


The link above should mention this requires 10.8 and above.


Yeah, that was only in the README. Fixed.


Wow! I love that sidebar. Thanks for the build.


Bad form to require someone to install your program just to see your changelog, though. Please put up a page, or put the latest help docs online (the current set is still for 7.3) and link to the relevant section, instead of "see :help version7.4".


ftp://ftp.vim.org/pub/vim/patches - should be up shortly

you can also get it here - https://gist.github.com/mjhea0/6200588


Script to assemble last vim from source under Debian/Ubuntu: https://gist.github.com/liverlin/5274228


I had some issues with pythoninterp=dynamic and rubyinterp=dynamic. Ended up with this: https://gist.github.com/jonschoning/6202771


It is already in Debian unstable.


Ok then, I'm using Ubuntu atm.


Very nice! Does anyone remember that nifty syntax highlighting script from a while ago that required a recentish version of Vim? I'll install 7.4 and want to try that out, but I don't remember what it was...


It’s not syntax highlighting, but it needs a recent version of Vim: http://valloric.github.io/YouCompleteMe/ ?


Sorry, I meant completion. That's the one, thanks!


Is it any good? It looks good, but stuff sometimes disappoint.


If you like autocompletion then yes, it's very good. At one point I had issues with startup time that I was pretty sure had been caused by it, but it's highly likely it had more to do with Clang than YCM (I can't remember the outcome fully, since I ended up moving to Emacs shortly after).


Complete Changelog ftp://ftp.vim.org/pub/vim/patches/7.3/README (it includes all changes from 7.3 up to 7.4)

New patches for 7.4 will be in the patches/7.4 folder.


Wow. Actual .patch files. In 2013.

This is ridiculous.


They're managed (or can be) using Bram Moolenaar's own system, Aap: http://www.a-a-p.org/


What's ridiculous about it?


Going to wait for the update to come via chocolatey:

http://chocolatey.org/packages/vim


How is Chocolatey? Does it feel Unixy enough for someone moving from Unix to Windows?


I can't say from the perspective of Unix to Windows, I'm the reverse, but I know that since learning to love apt-get (and similar managers), I'm willing to accept chocolatey despite it's weaknesses.

Just the other day I was able to update a whole load of software on my laptop using the 'cup' command - which worked almost perfectly. It broke my installation of Libre Office - which I then had to install the old fashioned (for windows) way. But that was still a considerable amount of time saved for me!


I think it covers the base case well, but its not as full featured as dkpg. Also it seems like the chocolates repos always a version behind the edge.


It doesn't appear as though MacVim for 10.7 and 10.8 is released yet though the 10.6 is:

http://code.google.com/p/macvim/downloads/list


A bit too late, but just for the sake of completeness: I'm Douglas Drumond, the guy that helps Björn Winckler build MacVim on other versions of OS X. Depending on when (in the day) a new snapshot is released, it can take a few hours for me to get home, build it for 10.7 and 10.8, and send to Björn who then must read my e-mail and upload it to code.google.com. Previously, when github allowed downloads of arbitrary files, I uploaded on my own account and Björn linked to it, so the last step wasn't necessary.


The source is available if you build it yourself: https://github.com/b4winckler/macvim/releases. The binaries should be coming soon.


I use it every day on 10.8. Use homebrew and have less grey hairs: brew install macvim


7.4 is still the beta version in homebrew.


Looks updated now! (make sure to do "brew update" first to get updated package list).


thanks for the update :D


It's up, now.


I am glad its Python support is better. I wonder if it would help or hurt if something like Lua came along with it as its 2nd default scripting engine? From what I have read Lua is small, fast and relatively easy to learn.


So if I previously compiled from source in ubuntu (which I did for YouCompleteMe) can I just recompile and install?


Is there a PPA for Ubuntu users (et al.)?


MacVim dont't have lion or moutain lion style native scrollbar still.


I turned them off completely. I found that the line numbers and file position in the status line was more than enough to get my bearings, and it looks nicer without the scrollbars.

In ~/.gvimrc:

  " no toolbar
  set go-=T
  " no right scrollbar
  set go-=r
  " no left scollbar
  set go-=L


You can put those on one line...and I do the same. :)


Only if the order is the same. E.g.

  :set go=aAcegimtv
  :set go-=vtmigecAa
  :set go? " guioptions=aAcegimtv


You can do it like this, though:

  set go-=T go-=r go-=L


Interesting that the vim docs say nothing of order.


nice! thank you


I always disable scrollbars in my .vimrc. Fullscreen MacVim is wonderful! Sometimes I open up to 8 windows and jump between them. I found the scrollbars more of a distraction and nuisance than they were helpful.


Hi!

Are you sure? Check out my build: https://github.com/rcarmo/macvim/releases/tag/7.4

EDIT: link to fixed release.


It doesn't open for me on Mountain Lion 10.8. There is no window. I've tried to open it from terminal and it gives an error with:

$ ./MacVim dyld: Library not loaded: /usr/local/lib/liblua.5.1.5.dylib Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim Reason: image not found


Hmm. I guess turning on Lua was a bad idea. Apparently forcing a static build didn't work right. Will be fixed in around 20m.

EDIT: fixed! Disabled Lua for now, I have both my own build and brew's installed, and it will take some time to sort out.


Thank you very much. I'm the author of subvim (https://github.com/fatih/subvim) . And if this works fine I will promote this as the go-to editor to use subvim.


That would be grand. I've been using this for a few months now, and everything works OK - it was only this build that included Lua support (since I enabled it locally for myself a while back), but I've already tested the fixed binary on another Mac with no ill effects. Just grab a fresh DMG from the same place.


Works fine, thank you very much for the work!


Do you have any email that I can contact you? There is no in your github profile


Google me, it's easy :)


I installed vim on Ubuntu using apt-get, any tips on how to upgrade it?


Spell checking. Nice!

The undo branching feature seems like it could be useful as well.


Doesn't ":set spell" already work?


Spell checking is an old feature.


I love vim, but:-

http://www.vim.org/

http://www.sublimetext.com/

Which one would you want to use?


Without a question, the one with text objects. Productivity is far greater with vim. Actually to be fair, Sublime's vim emulation mode implements a few text objects, but the proprietary source means no adding our own.


> Productivity is far greater with vim

I don't agree with that at all. Vim is useful, perhaps, for a few text matching tricks but typing speed is rarely the bottleneck in programming. It's optimising for the wrong thing.

The only people advocating for vim are those who have already gone through the pointless pain of 5 years learning to use the thing. It's basically a cult, or at least a club. And frankly, watching these vim "power users" is usually quite frustrating - they struggle to do trivial tasks which can be accomplished in sublime with a simple right mouse click.

It is important to know the basic vim commands for when you are editing text via ssh but for everyday use sublime text is, IMO, superior in every way.


It takes several days, not 5 years, to train your muscle memory to the point where the vim editing model is much faster for raw edits than the default editor in Sublime [1].

> typing speed is rarely the bottleneck in programming

You're right, especially if you're using a language that doesn't require a lot of boilerplate. But between the UNIX shell and the normal vim add-ons, even higher-level editing tasks, i.e. those that aren't strictly about raw editing, shouldn't give vim users trouble.

As with negatmx, I'm convinced you haven't met people who use vim properly. Name a task on which you've either seen or you'd imagine a ST user to outperform a vim "power user". I'll let you know the logical way to do it in vim.

[1] To obtain solid proficiency with the vim editing model, just work through the interactive vimtutor, read up on text objects, and spend a couple hours acclimating yourself to using the following motions and commands in place of hjkl (sort of but not necessarily in order of usefullness):

/ ? n N f F t T # *

gg G <n>G (e.g. 42G)

H M L

^ 0 $ { } ( ) w W b B e E

C-f C-b C-d C-u

zt zz zb


> Name a task on which you've either seen or you'd imagine a ST user to outperform a vim "power user". I'll let you know the logical way to do it in vim.

Selecting code and copy and pasting it into a chat client for discussion.

Grabbing someone else's code from a chat client and editing it, then copy and pasting it back to show them my interpretation.

Copying an error message and pasting it into a web browser.

Installing or updating any kind of plugin or package.

Doing anything out of the ordinary (vim users will be googling for the arcane sequence of commands and don't try the "no true scotsman" defence for that - they all do)

Scrolling smoothly through a large file looking for a certain method you will know by shape.

Quickly navigating a tree of files at the side of the window.

Changing the font to something post-1980.

Make it look good (this willl take infinite time)

I could go on, and on, and on.

Anyway, I have no doubt that for some tasks it's possible to train yourself to be very fast in vim, and if you find that measurably speeds up some aspect of your productivity you care about, then more power to you. However, I haven't really observed this being the case.

It's sort of like Linux vs MacOSX on the desktop. Linux people can and do customise their machines to an amazing extent, all sorts of crazy window managers and weird shell extensions, all promising great improvements in window management and shell completion, etc. But at the end of the day, I don't notice linux-using programmers as being any more productive, as a rule, than mac users, who tend to not fetishize the tool so much and just want to get on with the job. If anything, it's the opposite. I admit I'm biased against vim because of how ugly it is, which is sort of why the linux vs mac analogy works for me. I love linux by the way and use it on the server, and I also edit on the server with vim : P

Anyway, I'm making much bigger a deal about the matter in this thread than I actually feel! I just don't think vim is a slam dunk, is all.


> Selecting code and copy and pasting it into a chat client for discussion.

Note, due to HN's treatment of asterisks as formatting characters, I'm going to represent a literal asterisk as [asterisk].

In gvim, selecting code to copy into the system clipboard is as easy as "[asterisk]y plus the motion or text object (e.g. `"[asterisk]y3}' for the next three paragraphs or `"[asterisk]yat' for the current HTML/XML tag). You can even configure console vim to copy into the X clipboard: http://vim.wikia.com/wiki/Accessing_the_system_clipboard

> Grabbing someone else's code from a chat client and editing it, then copy and pasting it back to show them my interpretation.

I run vim and irssi from inside GNU screen, so it's as simple as `C-o [' (my screen prefix is `C-o') to access the scrollback buffer, spacebar to start selection, use screen's vim-like selection commands, spacebar again to yank the selection, switch screens, and then `C-o ]' to paste. The whole process is instinctive and takes no more than five seconds.

> Copying an error message and pasting it into a web browser.

See the above two answers.

> Installing or updating any kind of plugin or package.

The vundle package manager takes care of that.

> Doing anything out of the ordinary (vim users will be googling for the arcane sequence of commands and don't try the "no true scotsman" defence for that - they all do)

No, they'd most likely use some combination of the brilliantly orthogonal editing language that is Vim and the brilliantly orthogonal computing environment that is UNIX to reach a solution in time that would amaze a Windows user. In fairness, most Sublime users I know would do the same.

> Scrolling smoothly through a large file looking for a certain method you will know by shape.

How would Vim and Sublime differ on this one?

> Quickly navigating a tree of files at the side of the window.

Vim users do the same. It's called the NERD tree plugin. I personally find it faster to navigate with autojump from the command-line and then open files in vim from the command-line, but many Vim users like the tree approach.

> Changing the font to something post-1980.

You add a line to your ~/.Xdefaults or ~/.Xresources for console vim or to ~/.gvimrc for gvim. It's no harder than changing fonts in Sublime. I personally like 14-pt Bitstream Vera Sans Mono. It looks similar to Sublime's default iirc.

> Make it look good (this willl take infinite time)

I don't know if by "it" you mean the font or the colorscheme, but as with Sublime, some fonts and colorschemes are really nice and some aren't. It sounds like your criticism here, as with virtually all of your points, is that vim's default settings, unlike Sublime's, are not optimized for use as an IDE. That is correct. However, instead of bashing vim for this use case with uninformed, antagonistic statements like making it look good will take infinite time, all you have to do is ask or google how to configure vim for such a use case. A lot of vim plugin writers are ex-Sublime users, so it should be pretty easy to make vim simulate the default Sublime feature set, if you really wanted to. If you're more comfortable with Sublime, it makes total sense to stick with it. Perhaps Sublime Text's greatest strength is that its default configuration is excellent for software development. As you pointed out, typing isn't normally the bulk of development time, so if you're already happy with an editor, you really don't need to switch to a faster one. Just don't tell others who do use one that's said to be faster that you, someone who has only used their editor in a console/ssh capacity (and from the sound of it, a casual capacity at that), knows their editor's shortcomings for development better than they do.

> It's sort of like Linux vs MacOSX on the desktop. Linux people can and do customise their machines to an amazing extent, all sorts of crazy window managers and weird shell extensions, all promising great improvements in window management and shell completion, etc. But at the end of the day, I don't notice linux-using programmers as being any more productive, as a rule, than mac users, who tend to not fetishize the tool so much and just want to get on with the job.

I know quite a few Mac OS X users who care very much about their programming environment/toolset, and I do think they're more productive than those who don't.

> I admit I'm biased against vim because of how ugly it is

But it's not! If you're running it on ssh and if your console font is ugly, then yes, it will be ugly. But that's like saying that ST is ugly if you set it to use whatever ugly font your shell is set to. Vim is configurable, and a sane vim/gvim set-up looks clean and beautiful. Since you're a Linux server user, you should know the power of configuration!


+1. So true, Vim just cannot be beat.

If you want to meet the real vim hacker, try to do some task in vimgolf.com. We will see ;)


I'm curious... What trivial tasks are vim power users struggling with?


None. He's talking out of his hat!


Expose the current file in the side bar so you get a picture of its location in the dir tree? Install a package? Change the window size?

I'm not talking out my hat at all. I notice no productivity improvements from using vim. Maybe some appear in different lines of work, but I'm not saying it just to annoy you.

I don't notice Gentoo users being all that much more productive than Ubuntu users, either. It's basically a hobby to endlessly tweak your environment, and so is vim, IMO.


1.-NERDTreeFind (Have it mapped to ,nf)

2.-Adding the package name to a file and typing BundleInstall

3.-Basic window management... (Have it mapped to Alt+hjkl)

I know how to do all of these very easily from first week of serious usage. I'm using vim for less than a year and wouldn't call myself a "vim power user".

I think it's a little bit adventurous to judge an editor that popular for that long time based on seemingly (seeing the use cases you said) limited personal experience.


Yup, see my reply to venus's more lengthy set of concerns. Oh well, I hope venus learns the Truth some day. ;)


You don't notice any improvements... Great! But don't equate your lack of understanding with the fact that plenty of people are extremely productive with vim, and can do quite extraordinary things with it!


Plenty of people are extremely productive using any number of tools. I like to think I am a rather productive programmer myself, despite my general dislike of vim.

However, in the general case, I don't think it is much of an advantage in and of itself, which is why I disagreed with the poster above matter-of-fact stating:

> Productivity is far greater with vim

as if that was an indisputable fact. It is not. That was the thrust of my argument.

And regardless of typing prowess, knowledge of sound, elegant design is the essence of good programming. How fast you can edit text is almost irrelevant in the long term. I know excellent programmers who basically type with two fingers, and shitty copy and paste hack programmers who do their damage at an amazing rate with vim. The two-finger typists make more than the vim wizards, and for good reason. Don't confuse the tools with the craft itself.


In that case I apologise, I didn't understand what you were saying. Ironically, I totally agree with you! Sorry about that.


No worries, glad we agree :)


How is ST at working on Solaris in a terminal?


I wouldn't know, thank god.


The one that is installed by default for free on every computer I ever use (except Windows, where it gets installed 5 mins after I start using it).

For me, given that Vim is easily powerful enough to compete with any other editor, the benefits of ubiquity override anything else.


The one that you can modify the source and provide patches to, and that you can run in a terminal. And that doesn't cost anything.


Vim and its siblings have been around for YEARS and I can install it everywhere I work.


The one that is future proof. I go to large lengths to only rely on software that is future proof, and a text editor is something that I naturally come to rely on.


Neither.

I use an IDE for code, FocusWriter for just about everything else involving text and nano for server work (I'm can use vim if needed but I prefer nano for quick config file edits and after using it for a decade muscle memory isn't worth fighting).


The one offering the best product. Or are you saying you are judging by appearance?


I think it's a fair point, judging by appearances may be instinctual if not conscious. The current git website (http://git-scm.com/) looks the way it does because of an effort to replace the old one (http://web.archive.org/web/20120101013850/http://git-scm.com... and https://github.com/blog/1125-new-git-homepage).


You know, I actually like the old git website. It's less cluttered and looks cleaner. Maybe it's just me? The new git website does look modern but with all the logos and unneeded images, it's sort of disorienting.


I completely agree. It's polished, but by no means "homely" if you know what I mean. Usually when I have a question about git I end up on StackOverflow, but once in a while I click a link to git-scm.com and about halfway through finding my answer I start wondering to myself where the "Buy Now" button is.


The one that is pre-installed pretty much everywhere and can run in a terminal


Look at my project subvim: https://github.com/fatih/subvim It's sublime features include into vim. Give it a try and maybe you'll like it :)


The free one?


Have been a vi user for a long time. For c/c++ it is awesome and good enough. Sublime is fine too. Surprised no one mentioned Source Insight though ( unfortunately only windows ), was used in pretty big projects I was involved in. Speedy with auto-completion, caller/callee functions, beautiful syntax highlighting etc..

For large web programs ( html/js etc), once you use Sublime, no going back to VI. The plugin ecosystem for js fwks are awesome.


The one that doesn't require months of training to get at a productive level.

/ducks

All editor-fanboyism aside, who cares? I spent $59 on ST2 and it was, by far, the best $59 I've ever spent. But if someone is more comfortable with vim or emacs or nano or gedit, I don't care. It doesn't bother me, as long as you're making something.


Vim.


The one that saves me $70.


Both.

I adore Sublime Text, and use it where I can, but there are instances where I need to work on something remotely. Bug fixes, git rebasing, etc; and that's where I lean on Vim.


I love that picture on the Vim homepage.


And still no viable competitor to emacs.


We were talking about text editors, not wonky lisp interpreters.


Are you kidding me? Emacs makes my head asplode and vim gets me by when I can't or don't want to use sublime. Horses for courses...


do you customize your emacs keybindings for text editing, or do you use the emacs defaults?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: