# Emacs and Vim: Usage Observations

It’s been a month of using emacs, and I’m enjoying it so far. However, I’m still using the vim + eclim combo at work. The day I use emacs at work is coming near though. So far, I have several observations that I would like to share.

Vim got me real close to my shell. The shell is my IDE of sorts, and GNU screen is an integral part of this IDE. Familiarization with common unix tools is mandatory. Most of the time, I cook up small scripts to automate tedious tasks that vim does not do for me. For example, I have scripts that build and deploy my project, invoke rest calls and generate logs of which calls passed/failed, clunky refactoring through sed, etc.

Emacs is the other way around. I run a shell inside of it, instead of running it in a shell. This allows me to leverage emacs keybindings to execute commands in the shell and copy output from it, which is my favorite feature so far. I can also do that in a vim + screen setup via “copy mode”, but it involves GNU screen keybindings which are very much unlike vim keybindings. For example, you can’t do y/foo in screen’s copy mode (EDIT: In tmux you can). In emacs, since the shell is just a buffer, you can do something like C-<space> C-s foo <RET> M-w to copy something off the shell.