'||''''| '|| ||' | ..|'''.| .|'''.| || . ||| ||| ||| .|' ' ||.. ' ||''| |'|..'|| | || || ''|||. || | '|' || .''''|. '|. . . '|| .||.....| .|. | .||. .|. .||. ''|....' |'....|'
Hacking 始于 2012 年。2015 年爱上 Spacemacs 😄 💖
我的 Spacemacs 配置一共有两部分: 一个 .emacs.d 目录,是 Spacemacs 的原始代码,未做任何修改; 一个 .spacemacs.d 目录,存放私有 layer。
Tested on versions:
- GNU Emacs 25.1 for Arch Linux (x86_64-pc-linux-gnu, GTK+ Version 3.4.2) of 2017-11-06 Linux 大法好
- 64-bit GNU Emacs for MS Windows with optimization (x86_64-pc-windows-10) of 2017-05-02 不要在 MS Windows 上折腾 emacs。建议先阅读 Windows 上面重度使用 Emacs 一个多月的感受
#!/usr/bin/env bash
##########################################################################
# install emacs config automatically.
# by Apple Shan ([email protected])
##########################################################################
# sudo pacman -S emacs
cd ~/projects/
# clone syl20bnr/spacemacs repo
git clone -b develop --depth 1 https://github.com/syl20bnr/spacemacs.git spacemacs-develop
# clone appleshan/my-spacemacs-config and submodule
git clone --recursive https://github.com/appleshan/my-spacemacs-config.git spacemacs-private
# git submodule
# 如果已經抓下來才發現 submodule 是空的,可以用以下指令去抓
cd spacemacs-private
git submodule update --init --recursive
rm ~/.emacs.d
rm ~/.spacemacs.d
# 建立软链接
# ln -s <源文件> <目标> 创建一个符号链接
ln -s ~/projects/spacemacs-develop ~/.emacs.d
ln -s ~/projects/spacemacs-private ~/.spacemacs.d
# 验证软链接建立成功
la ~/ |grep emacs
################################################################################
# 按照其他 package
# all-the-icons
# Installing Fonts
M-x all-the-icons-install-fonts
# dired-k
cd ~/.spacemacs.d/local/
git clone https://github.com/appleshan/emacs-dired-k dired-k
# terminal-here
cd ~/.spacemacs.d/local/
git clone https://github.com/appleshan/terminal-here terminal-here
# pyim-bigdict.pyim
wget http://tumashu.github.io/pyim-bigdict/pyim-bigdict.pyim.gz
################################################################################
# 安装外部程序
# Install miniconda
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh
rm -rf ./Miniconda3-latest-Linux-x86_64.sh
# ditaa
mkdir -p /opt/java/ditaa0_9
cd /opt/java/ditaa0_9
wget https://downloads.sourceforge.net/project/ditaa/ditaa/0.9/ditaa0_9.zip
unzip ditaa0_9.zip
# graphviz
现在可以打开 Emacs 24.5+ 开始使用我的配置了。
- 我的配置主要分成 16 个 layer:
- appleshan-core
- appleshan-complete
- appleshan-appearance
- appleshan-navigation
- appleshan-notify
- appleshan-shell
- appleshan-dired
- appleshan-org
- appleshan-chinese
- appleshan-programming
- appleshan-python
- appleshan-java
- appleshan-javascript
- appleshan-web
- appleshan-lisp
- appleshan-misc 这些 layer 是对 spacemacs 本身的一些扩展。
- 我的这个配置使用了 evil。 所以,对于 Vim 党来说会比较友好一点。
- 我的配置用了很长时间了,相信你也会喜欢的。
- Linux 无需设置。例如:/home/appleshan
- Windows 10 HOME=D:/home/appleshan
- Linux
- Windows 10
mklink /D d:\.emacs.d d:\projects\spacemacs-develop.d
mklink /D d:\.spacemacs.d d:\projects\my-spacemacs-config.d
注意:mklink 支持 Windows 7 及以上版本
我最近几乎一直都在使用 Hack 或 Source Code Pro,在 Linux 和任何其他计算机上,对我来说都是相当不错的。 字体我可能会或可能不会使用(没有特定的顺序):
- Hack
- Source Code Pro
- Input Mono
- Inconsolata
- DejaVu Sans
- 文泉驿
- 微软雅黑
- Windows 10
http://gnuwin32.sourceforge.net/packages/diffutils.htm 下载:Binaries 与 Dependencies,然后把 Dependencies 中解压出来的 libintl-2 和 libiconv-2 copy 到 Binaries 的 bin 目录,最后,把 bin 目录加入环境变量 PATH .
@see http://blog.miniasp.com/post/2014/05/22/Credential-Store-for-Git-HTTP-HTTPS.aspx
# 设置 github 的用户名
git config --global user.name "appleshan"
git config --global user.email [email protected]
# 设置编辑器
git config --global core.editor emacs
# 设置永久存储用户名和密码
git config --global credential.helper store
# 关闭 git 自动改换行符的功能
git config --global core.autocrlf false
pip install python-language-server[all]
pip install --upgrade "jedi>=0.9.0" "json-rpc>=1.8.1" "service_factory>=0.1.5"
Syntax checking uses `flake8` package:
pip install flake8
importmagic 用来自动引入需要的包
pip install importmagic epc
To be able to suppress unused imports easily, install autoflake:
pip install autoflake
autopep8 用来检查 PEP8 规范
pip install autopep8
yapf 用来格式化代码
pip install yapf
a python refactoring library
pip install rope
要离线浏览 python 文档,按以下步骤安装环境:
- 下载您自己的 python 文档版本(即 https://docs.python.org/3/archives/python-3.6.4-docs-html.zip)
- 解压缩:’unzip python-3.6.4-docs-html.zip’
- 索引:’./pylookup.py -u python-3.6.4-docs-html’
- 测试:’./pylookup.py -l ljust’
该包提供了 makefile 可以完成以上的 3 个步骤:
make download
注意:如果 OS 中的 python 版本与 python 文档的版本不一样,可以先手动修改 makefile 中的 VER 行, 指定文档的版本,再执行”make download”.
VER := 3.6.4
~.spacemacs.d\layers\appleshan-shell\config.el
- Linux
/home/appleshan/bin /home/appleshan/bin/cli /home/appleshan/.local/bin /home/appleshan/perl5/bin /home/appleshan/bin/sift /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /opt/oracle/lib /opt/jdk/jdk1.8.0_102/bin /opt/jdk/apache-maven-3.3.9/bin /opt/eclipse-jee-neon/eclipse
- Windows 10
D:/bin D:/lang/python/Python361 D:/lang/python/Python361/Scripts D:/lang/python/Python2713 D:/lang/python/Python2713/Scripts D:/portable-soft/cmder D:/portable-soft/PortableGit/bin D:/portable-soft/PortableGit/mingw64/libexec/git-core C:/Program Files (x86)/GnuPG/bin/ C:/Windows/System32
用 Emacs, 需: 忘记鼠标, 无视菜单.
@see https://github.com/emacs-lsp/lsp-mode
- completion
C-M-i (completion-at-point)
- Goto definition
M-. (xref-find-definition)
- Symbol references
M-? (xref-find-references)
- Flycheck
SPC e l (spacemacs/toggle-flycheck-error-list)
- Imenu
helm-imenu