Emacs-Kick: A Neovim User’s Friendly Start to Emacs

Cover Image for Emacs-Kick: A Neovim User’s Friendly Start to Emacs
Rahul M. Juliato
Rahul M. Juliato
#emacs#neovim# terminal

Emacs-Kick: A Neovim User’s Friendly Start to Emacs

demo

-- Get it on Github: https://github.com/LionyxML/emacs-kick/

Introduction

As an Emacs enthusiast who has also spent significant time with Neovim, I wanted to create something that would bridge the gap between these two powerful tools. After exploring both ecosystems, I felt there was a need for a configuration that would allow Vim/Neovim users to get acquainted with Emacs without feeling overwhelmed.

Enter Emacs-Kick—a lightweight, minimal configuration for Emacs that caters specifically to Vim/Neovim users who want to experiment with Emacs without completely committing to a new workflow.

The Inspiration: Kickstart for Neovim

Neovim has its own lightweight configuration starter kit, kickstart.nvim, which is incredibly popular. It offers a quick and easy way to get started with Neovim, providing users a minimal yet powerful setup to build upon.

Emacs-Kick takes a similar approach but for Emacs users. It aims to provide the essentials for Vim/Neovim users who want to try out Emacs without needing to dive deep into complex configurations like Doom Emacs or Spacemacs.

What Makes Emacs-Kick Special?

There are plenty of starter configurations out there, but Emacs-Kick is designed with a specific audience in mind: people who are already comfortable with Vim/Neovim. Here are a few standout features:

1. Terminal-First Approach

For users who spend most of their time in the terminal, Emacs-Kick allows you to work within tmux, Zellij, and other terminal-based tools. There's no need to switch to a graphical interface, making it easy for terminal enthusiasts to integrate Emacs into their existing workflow.

2. Vim Bindings by Default

If you're coming from Vim/Neovim, you probably have years of muscle memory associated with their keybindings. Emacs-Kick respects that by setting up Vim keybindings by default, so you don’t have to spend time relearning how to navigate.

3. Pre-configured Tree-sitter and LSP

Modern development workflows demand advanced code parsing, syntax highlighting, and language server support. Emacs-Kick comes pre-configured with Tree-sitter and LSP to give you these features right out of the box, making it ideal for developers who want to hit the ground running.

4. Minimal Defaults with Room to Grow

While Emacs can be complex and overwhelming, Emacs-Kick keeps things simple. It provides a minimal configuration that’s easy to expand as you become more comfortable. You can start small and only add the features you need over time.

Installation and Setup

Here’s how you can get started with Emacs-Kick. The installation process is straightforward, and you'll be up and running in no time.

Step 1: Backup Your Existing Configuration

If you already have an existing Emacs configuration, it's a good idea to back it up before proceeding:

mv ~/.emacs.d ~/.emacs.d.backup

Step 2: Clone the Repository

Clone the Emacs-Kick repository from GitHub:

git clone https://github.com/LionyxML/emacs-kick.git ~/.emacs.d

Step 3: Run the Installation

After cloning, run the installation process by executing:

emacs -nw --eval="(ek/first-install)"

Alternatively, you can run the provided script:

cd ~/.emacs.d/ && ./ek-reinstall.sh

Step 4: Set Terminal Mode by Default

If you want to always use Emacs in terminal mode, add the following alias to your .bashrc or .zshrc:

alias emacs='emacs -nw'

Then reload your shell configuration:

source ~/.bashrc  # for bash
source ~/.zshrc   # for zsh

Step 5: Start Emacs

Now you can launch Emacs by simply typing:

emacs

Exploring Emacs with Familiar Keybindings

Emacs-Kick is designed to be intuitive for users coming from Vim/Neovim. Here are some keybindings you’ll find useful:

  • Leader Key: The leader key is set to SPC (spacebar), similar to many Vim configurations.
  • File Navigation: Use <leader> s f to find files and <leader> p f to search within projects.
  • Search: <leader> s g for grep, <leader> s r for ripgrep.

With which-key enabled, discovering more keybindings becomes easy as they are dynamically displayed as you type.

Why Should a Neovim User Try Emacs?

If you're already happy with Neovim, you may wonder why you should bother trying Emacs at all. Here’s why:

  • Org Mode: Emacs’ Org Mode is one of its most famous features—an incredible tool for note-taking, to-do lists, and project management.
  • Magit: A powerful Git interface that many users find faster and more intuitive than command-line Git.
  • Customization: The possibilities with Emacs are endless. You can build your own workflow or even turn Emacs into a programming IDE, personal organizer, or anything else you can imagine.

Emacs-Kick provides a gateway into these features without forcing you to abandon your familiar Neovim tools or habits.

Contributing to Emacs-Kick

Emacs-Kick is a work in progress, and I welcome contributions from the community. While I have a particular vision for this project, I appreciate feedback and ideas on how to make it even better.

If you'd like to contribute, feel free to open issues or submit pull requests on GitHub. Let’s continue to build a configuration that makes it easy for Vim/Neovim users to explore the power of Emacs.


Ready to give Emacs a try? Download Emacs-Kick from GitHub and start experimenting with Emacs today, using the same keybindings and tools you’re already familiar with.