Code Monkey home page Code Monkey logo

emofacs's Introduction

Emofacs

Emofacs is my own Emacs configuration.

Introduction

"Emofacs" == "E" + "mofa" + "cs", which is a combination of "Emacs", the name of the famous editor, and "mofa", pinyin for the Chinese word for "magic". As a big fan of Emacs, I store my configuration in this repository both as a backup in case my local one is lost and for sharing. Anybody interested in my configuration may feel free to try it.

Dependency

This is my Emacs version, but Emofacs should also work in some older versions.

A language server is only necessary when you want to code in a specific programming language. You may choose from the available servers listed in the web page above. For example, if you would like to code in C/C++, then installing LLVM is a good idea, which contains clangd, a language server for C/C++. Most of the time, when there is no server detected for a specific source file, LSP mode prompts you whether to install a recommended one, then simply type yes to do so. However, there might be situations when LSP mode does not prompt, then please follow the installation instructions of a language server of your choice from the above web page.

Installation

For the convenience to configure an empty Emacs as simple as possible, the straight package manager (straight.el) and use-package are used, and the only file you really need is init.el.

Simply put init.el into .emacs.d, the standard location for additional per-user Emacs-specific files, Emacs is going to configure itself automatically during the next startup. Or if you want, you may git clone this whole repository as your .emacs.d. In this way, you may update this configuration using git in the future. For more information about .emacs.d, please visit https://www.emacswiki.org/emacs/DotEmacsDotD.

The installation time depends on your Internet connection and CPU, because the packages need to be cloned and built. It takes about 3 minutes on my personal computer at home. During installation, Emacs may seem to be stuck, but it is not, so just wait patiently, but if the installation is not complete after 20 minutes, then there might be something wrong. In order to use all-the-icons package, Emacs may prompt you to install all-the-icons fonts if none detected, type yes when prompted, or you may choose to disable features using all-the-icons, although in this way Emofacs may look less pretty.

Even if everything goes well, Emacs may still display some warnings and errors after initialization, and the all-the-icons theme may not be loaded the first time Emacs starts up. Just ignore them and restart Emacs, and then Emofacs should work properly.

Packages

Here is a list of packages used in Emofacs:

  • ace-window - Quickly switch windows.
  • all-the-icons - A package used to include fancy icons within emacs.
  • Company - A text completion framework.
  • Dashboard - A startup dashboard which provides certain information about your recent Emacs activities.
  • exec-path-from-shell - Get environment variables such as $PATH from the shell for Mac user.
  • Flycheck - Modern on-the-fly syntax checking meant to be a replacement to FlyMake.
  • Iedit - Modify multiple occurrences in the same way simultaneously.
  • Ivy - Flexible and simple tools for minibuffer completion in Emacs.
  • LSP - Emacs client for the Language Server Protocol.
  • Magit - Interacting with git.
  • powerline - Emacs version of the Vim powerline.
  • Projectile - Project Interaction Library for Emacs.
  • Smartparens - Deals with parens pairs and tries to be smart about it.
  • straight - Next-generation, purely functional package manager for the Emacs hacker.
  • Treemacs - A tree layout file explorer for Emacs.
  • use-package - A declaration macro to isolate package configuration in a way that is performance-oriented and tidy.
  • which-key - Display available key bindings in popup. Rewrite of guide-key with added features to improve display.
  • Zenburn - Vim’s “Zenburn theme” ported to Emacs.

You may also want to find some interesting packages yourself. Then this community driven list of useful Emacs packages, libraries, and others - Awesome Emacs - might be helpful.

Usage

The learning curve of Emacs is steep, but once you get it, you may feel the power that Emacs brings you. With emacs, you may discover that a mouse is not that important. Most actions can be done using your keyboard without your hands moving away.

However, I am not going to teach you how to use Emacs or any of the specific packages mentioned above. Instead, I have listed their official websites or GitHub links so that you may easily find documents on each of them and begin exploring.

License

MIT License © Jiacheng Huang

emofacs's People

Contributors

voltjia avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.