安装 Emacs 26

Ubuntu 16.04 和 18.04 Emacs 版本都低于 26,可通过 ppa 安装最新的 Emacs 26.x:

sudo add-apt-repository ppa:kelleyk/emacs
sudo apt-get update
sudo apt-get install emacs26

安装 Spacemacs

spacemacs master 更新太慢,使用 develop 分支。

git clone -b develop https://github.com/syl20bnr/spacemacs ~/.emacs.d

启动 emacs,首次启动会有两个选项,直接回车选择默认值即可,之后会下载依赖,并自动生成配置文件 ~/.spacemacs

创建目录 .spacemacs.d 用来存放自定义配置,可使用 git 等工具进行同步和版本控制。 详情

mkdir ~/.spacemacs.d
mv ~/.spacemacs ~/.spacemacs.d/init.el

配置

可通过 SPC f e d 快速打开配置文件。

国外的源下载速度太慢,可添加国内的源。在 dotspacemacs/user-init 中添加:

(setq configuration-layer-elpa-archives
 '(("melpa-cn" . "http://mirrors.cloud.tencent.com/elpa/melpa/")
   ("org-cn"   . "http://mirrors.cloud.tencent.com/elpa/org/")
   ("gnu-cn"   . "http://mirrors.cloud.tencent.com/elpa/gnu/")))

复制粘贴

emacs 会拦截鼠标事件,点击鼠标右键没菜单, Ctrl+c 也无法使用。

layer xclipboard 可以通过 SPC x p 粘贴, SPC x y 复制。 详情

在终端模式复制粘贴,在 dotspacemacs/user-config 中添加:

(xterm-mouse-mode -1)

终端中,可通过 Ctrl Shift c 复制, Ctrl Shift v 粘贴。 详情

搜索

传说 aggrep 快,所以安装 ag

默认搜索工具使用顺序为 rg > ag > pt > ack > grep ,所以安装 ag 后就不会使用 grep

sudo apt-get install silversearcher-ag

文件过滤

搜索时可能需要过滤掉某些文件,默认情况下会使用 .gitignore.hgignore

可在项目或者 home 目录下添加文件 .agignore (或 .ignore 2.0.0+ )。 详情

按键

  • SPC *SPC s P 搜索当前光标位置的值

  • SPC /SPC s p 搜索

  • SPC s a p 使用 ag 搜索当前项目下的文件

  • SPC r s 唤醒上次搜索 buffer

跳转

添加 gtags layer。

安装

sudo apt-get install global
sudo apt-get install exuberant-ctags python-pygments

配置

使用 ctags 生成标签,可添加环境变量:

export GTAGSLABEL=ctags

如果需要自定义忽略的文件和目录,可通过 ~/.globalrc 进行配置(文件内搜索 skip ):

  • Ubuntu 16.04: cp /usr/share/doc/global/examples/gtags.conf ~/.globalrc

  • Ubuntu 18.04: vim /usr/share/doc/global/examples/gtags.conf.gz 然后 :w ~/.globalrc

按键

  • SPC p G 为项目重新生成 tag

  • SPC p g 在项目中查找光标位置的 tag

tags 信息保存在 GPATHGRTAGSGTAGS 三个文件中,需要在版本控制中忽略这三个文件。

其他常用 layers

其他