Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why I went from Vim to Emacs

Why I went from Vim to Emacs

Cheesecake Labs

July 10, 2019
Tweet

More Decks by Cheesecake Labs

Other Decks in Technology

Transcript

  1. The main problem • Vim is not async; ◦ NeoVim!

    • Everything in Vim seems like a hack; ◦ Good amount of plugins; ◦ VimL makes me ; • Switching window is too expensive; ◦ Vim → Tmux → Compile → Switch window → Git → Vim → etc; • Fast and powerful Git integration; • Smart/fast/configurable code completion system; 3
  2. • Fully UNIX compatible; • Example of software integration; •

    Awesome community; • Lisp compliant; • Async; • Expected to have it open 24/7; • Default support for; ◦ File system management; ◦ Version control system; ◦ Web-browsing; ◦ Shell access; ◦ Note-taking; ◦ Etc.; • Evil-mode; Why Emacs? 5
  3. Evil - The extensible vi layer for Emacs • Vim

    emulation within Emacs; • Many other plugins are Evil compliant; • Provides direct buffer feedback; • … works much better than Vim; 7
  4. Magit - A Git Porcelain inside Emacs • Magit makes

    Git much easier and faster • Prevents you from doing *#$T; • Totally configurable; • Evil-friendly; (evil-leader/set-key "g a m" 'magit-stage-modified) (evil-leader/set-key "g a b" 'magit-stage-file) (evil-leader/set-key "g a u" 'magit-stage-untracked) 8
  5. 9

  6. Projectile - Project interaction library • Allows managing and navigating

    projects; • Automatically detects projects; • Global jumps, replacement; compiling; etc.; • Dependent on common UNIX tools; • Super fast; ◦ Linux Kernel; 14
  7. 15

  8. Elpy - Python development environment • Completion and code navigation;

    • PEP8, Yapf, Black or Flake8 support; • Code evaluation; • Django support; • Profiling; • Refactoring; • Debugging; 16
  9. That is not all.. • Git-gutter; • Execpath; • Undo-tree;

    • Yasnippet; • Flycheck; • Editormode; • Etc.; 17