563
emacs
(programming.dev)
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Vi is totally fine to quickly make small changes to e.g. a config file on a server. I wouldn't like to program in vi though.
I do most of my programming in vscode but when I need a cli editor, I use vi
You are missing out! I used to only use vim to edit config files. So I knew my way around (albeit, slowly). I installed the IdeaVim plugin a week ago and learned some new key bindings I wasn't using. A week in I'm almost faster than before! And it's only going to get better after I've acquired muscle memory (I'm nearly there.) and move on to complex key bindings/sequences. Then it will probably be as if the cursor is directly connected to my mind. I'm hopeful because I've seen a mentor of mine do it.
What am I missing out on? I use vi to change values in files on servers. What would you use for that task? Most of my other text-based work like writing Emails, taking notes or programming happens in Emacs.
I don't think you understood what I said. I started using vim key bindings ALSO in my IDE and my speed improved because of it. I didn't ask you to stop using vi. I merely suggested that you used MORE of it. If your Emacs setup already use vim keybindings that's exactly what I'm doing too.
Oh thanks, now I got it. I agree, vi/vim bindings are awesome. I use them everywhere, in Emacs, in my shell, my browser, and in my tiling window manager. When I said, that I wouldn't want to program in vi, I didn't mean that because of the keybindings, I meant that because vi just lacks many useful features for programming and you can't add plugins to it. I have programmed in Neovim for over a year though. Just switched to Emacs, because it has even more features, possibilities and customizability. I will never drop Vim keybindings though.
Awesome! How did you get them in the shell and browser? Now I am also curious.
I use the fish shell. In fish, you can just add
fish_vi_key_bindings
to your config file and now Vi bindings will be automatically enabled when you start fish. For bash, it'sset -o vi
and for zsh it'sbindkey -v
. For the browser, you can install plugins like Vimium (Vimium-FF for Firefox) or Tridactyl. I find these to be incredibly useful, I love navigating around websites with j and k or d and u, jumping up with gg and down with G, searching with /, closing tabs with x, reloading websites with r, opening new tabs with t, going back and forward with H and L, etc.