Hacker News new | past | comments | ask | show | jobs | submit login

Do you use viper-mode? What are its benefits, over and above just using vi? I switched from vi to emacs many years ago and I never bothered with viper-mode; I just invested an awful lot of effort into learning Emacs's commands and keystrokes.



I personally use vim, and have gotten very used to the action+movement commands and the modal behavior.

However, I am very jealous of emacs' integration with other OS tools. Nothing in vim comes close to emacs integration with gdb and lisp REPLs (slime, etc). So I could see using emacs+viper if I was programming lisp, or doing a lot of debugging.

Also, I feel that vim is a very powerful text editor, but only a competent text creator. How do emacs users feel about the distinction?


I'm in the (seemingly small) group of people that has several years experience with both. I think that vi is a better editor (I prefer its compositional & modal keyboard interface to Emacs's modifier keys), but Emacs's multi-buffer model and extensibility make it a much better integrated environment. On the balance, Emacs wins, but I tend to use nvi or mg for very quick edits. (OpenBSD's default install has them both.)

vi and Emacs are both excellent, and I'd recommend picking one (or an equally sophisticated editor) and mastering it, rather than waffling back and forth. For any professional programmer, the time invested in learning a powerful editor will quickly pay for itself.

I find viper mode unsatisfying - few to no mode / extension writers provide alternative keybindings for it (shocker), so you end up having using Emacs keys anyway, only with more cognitive dissonance. Other people may feel otherwise, but that's my experience.


Do you program Lisp in Vim ever, or always Emacs? I'm a vim user, working through some Lisp books and wondering what the best workflow for Lisp in Vim is, or whether I should start learning Emacs for Lisp.


I use vim for developing in Lisp, using Nekthuth to connect to SBCL's REPL:

http://nekthuth.com

Nekthuth doesn't have anywhere near the number of features or intimate integration with Lisp that SLIME has, but it's good enough for me.

I had tried Emacs with vimpulse and viper mode. Although it did make using Emacs less painful, it still required way too much knowledge of Emacs to use effectively and configure than I had time to dedicate to learning it.

Emacs+SLIME+vimpulse+viper might be good enough for someone who already knows Emacs or who hasn't invested a lot of time in learning vim. But for someone fluent in vim, I just don't think huge time investment in learning Emacs well is worth it.


I do all my programming in Emacs and use vi or mg* for sysadmin-ing, basically. I started using Emacs when I was learning Common Lisp and was blown away by Marco Baringer's SLIME (http://common-lisp.net/project/slime/) video. I had been using vi/vim for 4-5 years before that.

* a mini-Emacs, basically core Emacs without the extensibility. If it wasn't installed on OpenBSD by default, I would probably just use nvi in its place.

That said, using vi(m) for Lisp is not that hard. Paul Graham says he uses vi in his programming FAQ (http://paulgraham.com/pfaq.html). Mainly, you just need a good setup for "copy this block of code to the repl", "reload the file I just saved", and the like. A bit of integration greatly reduces friction, and Lisp development is all about reducing friction for quick experimentation and testing. (Not so sure about doing Emacs Lisp in vi, though... ;) )


Thanks, that's exactly what I'm trying to figure out, how to reduce friction while programming Lisp in vim. Will keep googling and experimenting.


There are probably better people to ask; it's been asked many times before. The problem is one of skill set overlaps, as xach notes (http://www.xach.com/img/lisp-and-vim.png). Also, I actually program more in Lua, C, Erlang, and a few other languages than Lisp from day to day.

Starting points:

http://cybertiggyr.com/15-vim/

http://stackoverflow.com/questions/94792/using-vim-for-lisp-...


What are its benefits, over and above just using vi?

The benefit is that you have an editor that you can extend in Emacs Lisp. (I assume you mean "vim" instead of "vi". If you want a vi-like emacs, use mg. If you want a vim-like emacs, use Emacs.)


I tried to use Emacs lisp, several, times, which in my head is almost the same thing as using emacs, but was never able to warp my head around the weird functions naming. Writing the simplest macro seems to require tens of lines of code.

I'm an happy vimmer, but the excitement about emacs makes me jealous. All my tries to use it makes me feel like it's either an endless unintuitive shortcut list OR an editor with very little text control (which I know it isn't ) AND I fail at customizing it

Any suggestion ?


I tried to use Emacs lisp, several times, but was never able to warp my head around the weird functions naming.

Any suggestion?

Ignore the "weird function naming" until you get used to it. Read the docs to pick up advice on how to do things the Emacs way, so the simplest macros aren't "tens of lines of code". And finally, read the Emacs souce code to see how Emacs does it. Remember, Emacs is written in Emacs Lisp, too!




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: