Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’ve been carrying around the same 20 or so line .emacs that I use with a plain stock emacs for about 15 years. I’m happily productive without a bunch of tweaking. Same with vim: tiny vimrc that I carry around along with one old package that is hard to find online anymore.

In both cases I probably add to or tweak them about once a year.

It’s not a tools fault if you can’t resist tweaking it. If anything, that indicates that you’re not actually optimizing a workflow if that optimization step is actively disrupting a workflow. Self discipline is a good thing to build up for workflow optimization, far more than any tweak to a dotfile.



> I’ve been carrying around the same 20 or so line .emacs that I use with a plain stock emacs for about 15 years.

What languages do you program in, and do you use code completion/debugging?

I find that code completion is a huge productivity boost for me, as well as having a good interface to a debugger (just the debugger portion of the IDE in Jetbrains justifies the price in my mind).

In addition, smart annotations where the IDE will annotate a function call with the names of the parameters is a huge boost in languages that do not have names parameters (for example C, C++, Rust).

In addition, when you are doing type inference (auto in C++, and let in Rust), having the IDE automatically annotate the variable with the inferred type gives the best of both worlds - allowing me to avoid boilerplate and committing to a type, while also easily allowing me to see what the type is.

I am not sure I can easily get all that out of Emacs or Vim.


Use lsp-mode and company-mode for language completion. The lsp-mode connects to the language server on the language I'm developing for language specific semantic rules and syntax. Company-mode does the completion. It is a generic completion framework, which lsp-mode hooks into to provide language specific completion.

The best is that I can use the standard Emacs commands I'm familiar with to use LSP. E.g. Per your example, I can use the describe-thing-at-point command, which is in Emacs for the longest time, to show the inferred type of the variable at the cursor. I can use the same command to show the signature of a function. Lsp-mode hooks into the old command to do the magic based on language context.

Same with the company-mode. Since it's a generic completion framework, I'm already familiar with its commands and key bindings. It works the same for all languages and other editing mode. E.g. in writing English, the completion command would pop up a list of word choice.


Emacs does that with a plugin for Ocaml, for example. You have the ones for C, C++, Rust and so on.


Curious what that one old package is

Personally I can't live without a few neovim packages like auto complete and switching files and searching text in a project etc.

I completely agree with the set it and forget it approach though. But if that's the case I think vim/neovim might be your best bet.




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

Search: