Git Product home page Git Product logo

centaur-emacs's Introduction

Centaur Emacs

Build Status Release Tag License

Centaur Emacs

This is an Emacs distribution that aims to enhance the default Emacs experience. It alters a lot of the default settings, bundles a plethora of additional packages and adds its own core library to the mix. The final product offers an easy to use Emacs configuration for Emacs newcomers and lots of additional power for Emacs power users.

It's able to run on Windows, GNU Linux and macOS. It is compatible ONLY with GNU Emacs 25.1 and above. In general you're advised to always run with the latest stable release - currently 26.1.

Features

  • Out of box.
  • Clean and Fast.
  • Quick fuzzy search.
  • Better Org support.
  • Support multiple programming languages
    • C/C++/C#/Java
    • Ruby/Python/Perl/PHP/Shell/Powershell
    • Javascript/Typescript/JSON/YAML
    • HTML/CSS/XML
    • Golang/Swift
    • Markdown
    • ...
  • Auto completion.
  • Fly syntax check.
  • Fly spell check.
  • Git/SVN integration.
  • Projectile integration.
  • Workspace integration.
  • Pomodor integration.
  • Youdao dictionary integration.
  • Support Chinese fonts and calendar.
  • Support Pinyin search.

Prerequiste

OS

  • GNU Linux
  • macOS
  • Windows (Cygwin)

GNU Emacs

Please refer to Installing Emacs.

Dotfiles

Recommend to use Centaur Dotfiles.

Quick Start

Install

mv ~/.emacs.d ~/.emacs.d.bak
git clone --depth 1 https://github.com/seagle0128/.emacs.d.git ~/.emacs.d

or download the zip package directly and extract to ~/.emacs.d.

Then start emacs. Wait for a while to install packages at the first startup. Enjoy!

Update

M-x update-centaur

Customization

Customize-group

M-x customize-group and select centaur. Set and save the configurations, then restart Emacs.

Manual

Copy custom-template.el to custom.el and change the configurations, then restart Emacs.

For Example:

(setq centaur-logo nil)                        ; Logo file or nil (official logo)
(setq centaur-full-name "user name")           ; User full name
(setq centaur-mail-address "[email protected]")   ; Email address
(setq centaur-proxy "127.0.0.1:1080")          ; Network proxy
(setq centaur-package-archives 'emacs-china)   ; Package repo: melpa, melpa-mirror, emacs-china, netease or tuna
(setq centaur-theme 'doom)                     ; Color theme: default, doom, dark, light or daylight
(setq centaur-dashboard t)                     ; Use dashboard at startup or not: t or nil
(setq centaur-lsp nil)                         ; Enable language servers or not: t or nil
(setq centaur-company-enable-yas t)            ; Enable yasnippet for company or not: t or nil
(setq centaur-benchmark t)                     ; Enable initialization benchmark or not: t or nil

The default pacakge archives is melpa. You can change it in custom.el, or switch manually via M-x switch-package-archives anytime.

For the personal configurations, you could put to ~/.emacs.d/custom-post.el.

Screenshots

Main (default theme)

Main

Programming (dark theme)

Programming

Org mode (dark theme)

Org

Search (light theme)

Search

Magit (daylight theme)

Magit

Dired and replace (doom theme with doom-modeline)

Doom

Dashboard (doom theme with doom-modeline)

Dashboard

FAQ

  1. Why is the modline messy?

    Powerline fonts or all-the-icons are missing on your system. Please install powerline-fonts for spaceline or run M-x all-the-icons-install-fonts for doom-modeline.

  2. How to search Chinese via pinyin?

    In Emacs, C-s :. If you just want to search :, use C-s \:.

  3. How to use the Centaur Dashboard?

    Set (setq centaur-dashboard t) in ~/.emacs.d/custom.el. Dashboard will be opened at startup. After startup, you could use F2 to reopen it anytime. In the dashboard, you could easily jump to Homepage(H), Restore Session(S), Edit Config (E), Update(U), Recent Files (r), Bookmarks(m) and Projects(p).

  4. Does Centuar Emacs support Language Server Protocol (LSP)?

    LSP is supported and enabled by default in Centuar Emacs now. Please install language servers as below. Use (setq centaur-lsp nil) to disable LSP if you don't like it.

    • Golang: go get -u github.com/sourcegraph/go-langserver
    • Python: pip install python-language-server
    • Ruby: gem install solargraph
    • Javascript/Typescript: npm i -g javascript-typescript-langserver
    • CSS: npm i -g vscode-css-languageserver-bin
    • HTML: npm i -g vscode-html-languageserver-bin
    • Bash/Shell: npm i -g bash-language-server. Require Python2.5+, use --python to specify.
    • C/C++/Objective-C : brew install cquery or dwonload binary from here.
    • Rust: rustup component add rls-preview rust-analysis rust-src
    • Java:
      wget http://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz
      tar jdt-language-server-latest.tar.gz -C ~/.emacs.d/eclipse.jdt.ls/server/
    • PHP: refer to the installation guide.
        composer require felixfbecker/language-server
        composer run-script --working-dir=vendor/felixfbecker/language-server parse-stubs
  5. How to enable plantuml in org-mode?

    Put (setq org-plantuml-jar-path "<path of plantumx.x.x.jar>") in custom.el.

centaur-emacs's People

Contributors

fanweixiao avatar genekao avatar lemon0910 avatar seagle0128 avatar

Stargazers

 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.