Here is my config.
Some points why you should use this:
- the project perfectly fits in
.emacs.d
- standard keybindings
- the missing packages are installed automaically
- the
lsp-mode
,flycheck
andcompany
work perfectly together (C* languages)
On macOS:
brew tap d12frosted/emacs-plus
brew install emacs-plus@29 --without-cocoa --with-native-comp --with-poll
More details: homebrew-emacs-plus
From source:
# Ubuntu 22.04
sudo apt-get install build-essential pkg-config libz-dev libgccjit-11-dev libgnutls28-dev libjansson-dev libncurses5-dev
export LSP_USE_PLISTS=true
./configure --prefix=/path/to/wherever/ --with-x-toolkit=no --with-xpm=ifavailable --with-gif=ifavailable --with-json --with-native-compilation
make -j$(nproc)
make install
The custom-set-variables
and custom-set-faces
have been moved to config/custom.el
.
You don`t need to modify it.
All pathes/references of buffers are stored to desktop/emacs.desktop
file. Very useful if you are working on the same project and you don't want to open over-and-over again the same file.
The start-up can be longer than expected because the emacs loads the buffers at start-up.
Use emacs daemon instaed, for example:
emacs --daemon=$USER
andemacsclient -s $USER -t
.
This works with PuTTY.
$ cat terminfo-custom.src
xterm-24bit|xterm with 24-bit direct color mode,
use=xterm-256color,
sitm=\E[3m,
ritm=\E[23m,
setb24=\E[48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
setf24=\E[38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
$ tic -x -o ~/.terminfo terminfo-custom.src
$ TERM=xterm-24bit emacs
auto-compile
(with default config)ivy
(with default config and built-in fuzzy logic)helpful
(with default config)anzu
(with default config)magit
(with default config)lice
(with default config)which-key
(with default config)projectile
(with hybrid and chached finding files)lsp-mode
(with default config)- turned off menubar
- highlight any kind of matching bracket
- some MacOS related settings
Basic stuff:
flycheck
company
eldoc
yasnippet
(with very limited snippets right now, tryyas-describe-table-by-namehash
)
Advanced stuff:
- smart major mode selector for header files
lsp-mode
(withlsp-ui
)company
(withlsp-mode
integration)flycheck
(withlsp-mode
integration)yasnippet
(with very limited snippets right now, tryyas-describe-table-by-namehash
)
Install: pyang