emacs-easy-ide is a self-documenting emacs configuration, it aims easy to use and cross platform.
The original intention of creating this package is to configure out the most efficient and best editor experience. At that time this was created, emacs is absolutely the best editor. Several years later, now, absolutely VSCode is the best. We can customize VSCode to have emacs features. But it’s very hard to make emacs have the features and web based rendering like VSCode. Just like you and me, we are not forced to stick onto which editor, we are seeking the best. This repository is deprecated
. Use VSCode
instead.
- efficienct user interface with
ido
- multiple cursors and regions with
multiple-cursors
- visual search and replace with
anzu
- project management with
projectile
- git version control with
magit
- visual undo and redo with
undo-tree
- auto completion with
auto-complete
- code folding with
hideshow
andorigami
- jumping to anywhere with
avy
- syntax checking with
flycheck
- whitespace cleanup on save
- workspace restoration
- nice looking uju theme
- multiple editing modes include emacs and vi with
evil
- Sublime Text and Textmate style key bindings are always available
- Multiple savable scratches with different languages
- Smart tab behavior, auto complete => snippet expand => jump out => indent
Language | Auto completion | Code folding | Syntax checking | Jump to definition | File structure | REPL |
---|---|---|---|---|---|---|
C | YES | YES | YES | |||
C++ | YES | YES | YES | |||
Objective-C | TODO | |||||
swift | TODO | YES | ||||
elisp | YES | YES | YES | YES | YES | |
Python (TODO) | TODO | YES | ||||
Ruby | YES | Not precise | YES | |||
php | YES | YES | ||||
javaScript | YES | YES | YES | YES | ||
CoffeeScript | YES | YES | YES | YES | ||
HTML | YES | |||||
Haml | YES | YES | ||||
Slim | YES | YES | ||||
Jade | TODO | |||||
Css | YES | |||||
Sass | YES | |||||
SCSS | YES | |||||
Less | YES | |||||
JSON | YES | YES | ||||
YAML | TODO | |||||
shell script | TODO | YES |
Language | Framework | File jumping | Build and run | Unit test | Node |
---|---|---|---|---|---|
Ruby | Ruby on Rails | YES | YES | YES | |
css | bootstrap | TODO |
This emacs configuration uses cask as package manager, you need to install cask through instructions here.
After you setup cask, you may backup your previous emacs configuration through
$ mv ~/.emacs.d ~/.emacs.d.backup
Checkout this repo into emacs configuration directory
$ git clone https://github.com/cheunghy/emacs-easy-ide ~/.emacs.d
Move to emacs configuration directory
$ cd ~/.emacs.d
And execute cask install
, cask will setup all the dependencies
$ cask install
Open emacs and use it!
After installing, you can start to type.
Use C-x C-f
to open a file, if the file is inside a project, the project is
automatically recorded. Next time you could open the project with C-z p p
.
When editing, you could use ESC
to toggle editing mode between emacs and
vim, in either mode, Sublime Text and TextMate style key bindings work
fine.
When you don’t know a keybinding, you could use C-z c k
to view and edit key
binding definition table.
You can save your file in several ways: C-x C-s
is emacs way, :w
is vim
way, and also s-s
the Sublime Text way.
When you are working with git, for example, you want to push your local commit,
C-z g g
to open magit status panel, and do the staging, commiting, merging,
rebasing, pushing and pulling there.
In order to use Sublime Text and TextMate style keybindings, you need to use emacs-mac rather than GNU Emacs. Since GNU Emacs has bug for the keybindings.
Currently, the jump to definition feature is very experimental, it almost works not as you expected.
If you find any bugs, welcome to open issues and submit pull request.