Hacker News new | ask | show | jobs
by Jach 1774 days ago
Slimv comes with a Paredit Mode: https://github.com/kovisoft/slimv Personally I leave it off, though, never been a fan of anything trying to 'help' me automatically while I'm typing apart from indentation. I do appreciate vim-sexp occasionally with these mappings: https://github.com/tpope/vim-sexp-mappings-for-regular-peopl...

https://susam.in/blog/lisp-in-vim-with-slimv-or-vlime/ is a good overview of the differences between slimv and vlime (the two vim plugins) and how to use them.

1 comments

You write lisp without auto-inserting the closing paren when you open a paren? I honestly don't think that's a good idea. It's also something that's contributed to lack of lisp adoption -- people trying to write it without sensible editor support.
Yup, as I type ( and { and [ and " and manually close them in every other language and inevitably turn that stuff off if the IDE has it enabled. vim default has enough support -- when I type ) et al., it highlights the matching opening. Typing '%' in command mode jumps to the corresponding open/close bracket. Occasionally if I know I'm done with a function, and have a bunch of closing parens to insert, I'll use slimv's ctrl+x+0 to close them all for me. I'm a fan of rainbow parens which makes things nicer to look at too, but really, this Lisp meme becomes true after not very long: https://www.thejach.com/imgs/lisp_parens.png Or at least one tunes them out, just like one does with the syntactic noise in other languages. Editing them is natural.

Speaking of noise, here's some out of context JS code from the first random file I opened in a really old project:

              }
            });
          }
        ).on('error', function(e) { console.log('Error: ' + e); response.json({error: 'data_fetch_error'}, {}, 400); }).end();
      }).then(function(next, urlstr) { 
Yup, all of those () and {}s and commas and semicolons and single quotes were inputted manually. I say to my editors, "just let me type".

For Lisp, "sensible editor support" to me means something like slime support that enables REPL development. Lacking that in editors besides emacs (or not knowing about the support for alternate editors) has probably hurt adoption, sure, but I don't think the presence or absence of other editing tools that most every editor has (like keyword highlighting and other colors, auto-indentation, auto-completion, auto-bracket insert, intelli-sense stuff...) is a factor.