I like to use Python & Go in my work. So I set up the programming environments for this two languages with LSP - the protocol from Microsoft. If you use other languages, such as JavaScript, C++, and so on, you can easily set up for them with LSP - sometimes you just install the language servers, Emacs config code does NOT need to change.
I use Courier & SimKai, 'cause they are the only fonts not make Windows version slow, change the lisp/init-ui.el
to your preferences, if you do NOT use CJK fonts.
Launch a terminal, such as:
Terminal
App oriTerm2
on macOSGNOME Terminal
orKonsole
on GNU/LinuxCMD
orPowerShell
orWindows Terminal
on Windows 10
Run the code below, and then launch your Emacs, enjoy it.
git clone https://github.com/mathslimin/.emacs.d --depth=1 ~/.emacs.d
sudo apt install nodejs npm
sudo npm install -g bash-language-server
install java-lsp-server, Below configuration is based on https://github.com/emacs-lsp/lsp-java#quick-start
mkdir -p ~/.emacs.d/server/java/jdt-language-server
cd ~/.emacs.d/server/java
wget https://download.eclipse.org/jdtls/milestones/1.5.0/jdt-language-server-1.5.0-202110191539.tar.gz
tar zxvf jdt-language-server-1.5.0-202110191539.tar.gz -C jdt-language-server
ls ~/.emacs.d/server/java/jdt-language-server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
Note: If you use Windows 10, you should set an environment variable named
HOME
, and set its value to your user directory, likeC:/Users/<your_name>
. Otherwise emacs will use%Appdata%
as home directory by default.
emacs -Q -l early-init.el
This project is tested on
- macOS, 11.1, GUI mode
- Windows 10 (Native GUI & msys2)
- Ubuntu 20.04.1
it should run on other platforms, please note that.
Enable projectile-mode, open a file in one of your projects and type a command such as C-c p f
mv /Users/limin/software/emacs/ctags /Users/limin/software/emacs/ctags_backup
brew install ctags
https://phenix3443.github.io/notebook/emacs/modes/projectile-mode.html
Any issue will be welcomed, just send me an issue if you find something not friendly to you.