macOS 安装 Spacemacs

安装 Emacs Plus

使用 Homebrew 安装 Emacs Plus,如果没用过 Homebrew 可以看这篇文章:。

brew tap d12frosted/emacs-plus
brew install emacs-plus
brew link emacs-plus

Install Spacemacs

科学上网

如果你能全局透明科学上网,安装 Spacemacs 非常简单,只需要将配置克隆到本地,然后运行 Emacs 就会自动进行初始化。

  1. 克隆配置到本地

    git clone -b develop https://github.com/syl20bnr/spacemacs ~/.emacs.d
  2. 启动 Emacs 初始化安装

没特别需求或第一次使用,都选择默认配置即可。

如果不能全局透明科学上网,可以使用 Proxychains 来使 Emacs 透过代理访问网络。

brew install proxychains-ng

编辑 /usr/local/etc/proxychains.conf 配置文件,修改文件末尾处的本地代理配置信息,然后通过 Proxychains 运行 Emacs 。

proxychains4 emacs

No Proxy

Spacemacs 初始化与添加包的时候需要通过其他开源网站去下载插件,目前国内的网络环境你懂的。不过国内的 Emacs 社区做了国内的镜像服务器,如果你无法科学上网,则可以使用 Emacs 国内社区制作的国内镜像服务器。

  1. 克隆配置到本地配置目录

    git clone -b develop https://github.com/syl20bnr/spacemacs ~/.emacs.d
  2. 运行一次 Emacs ,选择完配置选项到下载包时退出 Emacs

  3. 编辑 ~/.spacemacs 文件,添加到 dotspacemacs/user-init()

dotspacemacs/user-init(
  (setq configuration-layer-elpa-archives
      '(("melpa-cn" . "http://elpa.emacs-china.org/melpa/")
        ("org-cn"   . "http://elpa.emacs-china.org/org/")
        ("gnu-cn"   . "http://elpa.emacs-china.org/gnu/")))
)

想用 HTTPS 的话可以将 http 修改为 https

  1. 再次运行 Emacs

配置 Spacemacs

主题界面

标题栏

默认的标题栏有点难看,可以把它修改为“伪”透明。

  • 原装 Title

  • 伪装 Title

编辑 ~/.spacemacs 配置文件,在 (defun dotspacemacs/user-config () 中添加配置:

(add-to-list 'default-frame-alist
             '(ns-transparent-titlebar . t))

(add-to-list 'default-frame-alist
             '(ns-appearance . light)) ;; 或者黑色,将 light 改为 dark

颜色主题

如果想更换颜色主题,可以从 Spacemacs theme gallery 中先预览一下。

编辑 .spacemacs 配置文件中,在 dotspacemacs-themes 中修改配置:

dotspacemacs-themes '(
                      twilight-bright
                      spacemacs-dark
                      spacemacs-light
                      )

Spaceline

Spaceline 就是 Emacs 底部的状态栏(条?),Spaceline 自带了几种配置方案,只需要按兴(性)趣选择修改 dotspacemacs-mode-line-theme 参数即可。

dotspacemacs-mode-line-theme '(doom :separator wave :separator-scale 1.5)

Layer

Layer 是 Spacemacs 里依照特定的功能性打包好的插件配置的合集,里面包括预制的插件配置与按键绑定配置(一般是 Spacemacs 风格化的),以达到开箱即用的效果。依照特定的功能性,一个 Layer 里可能只包含一个插件的配置,也可能包含多个插件的配置。

Chinese Layer

Chinese Layer 里包含了中文用户使用 Spacemacs 的绝大多数需要的插件配置,包括:有道翻译,字符跳转支持汉语,独立中文字体设置等等。哦,对了,甚至还有输入法,独立于操作系统完全在 Emacs 里内置的输入法。

安装 Chinese Layer

编辑 ~/.spacemacs 配置文件,在 dotspacemacs-configuration-layers 中添加 chinese 即可。

配置 Chinese Layer

默认的配置里没有为有道翻译插件配置快捷键,修改一下 ~/.emacs.d/layer/+intl/chinese/packages.el 文件添加上快捷键配置。

(use-package youdao-dictionary
    :if chinese-enable-youdao-dict
    :defer
    :config
    (progn
        ;; Enable Cache
        (setq url-automatic-caching t
        ;; Set file path for saving search history
        youdao-dictionary-search-history-file
        (concat spacemacs-cache-directory ".youdao")
            ;; Enable Chinese word segmentation support
            youdao-dictionary-use-chinese-word-segmentation t))))

修改为:

(defun chinese/init-youdao-dictionary ()
  (use-package youdao-dictionary
    :if chinese-enable-youdao-dict
    :defer
    :config
    (spacemacs/set-leader-keys
      "oy" 'youdao-dictionary-search-at-point+
      "oY" 'youdao-dictionary-search)
    (progn
      ;; Enable Cache
      (setq url-automatic-caching t
            ;; Set file path for saving search history
            youdao-dictionary-search-history-file
            (concat spacemacs-cache-directory ".youdao")
            ;; Enable Chinese word segmentation support
            youdao-dictionary-use-chinese-word-segmentation t)
      (evilified-state-evilify-map youdao-dictionary-mode-map
        :mode youdao-dictionary-mode
        :eval-after-load youdao-dictionary
        :bindings
        "q" 'delete-window))))

TabNine Layer

TabNine 是基于 OpenAi 的语言模型 GPT-2 实现的一个机器学习驱动的智能代码补全工具,并使用了 GitHub 上 200 万个热门项目的代码进行训练。

由于使用了大量的热门项目的代码数据进行训练,所以一般 TabNine 都能给出高质量的补全建议。

配置 TabNine Layer

新建一个TabNine Layer 配置。

  • ~/.emacs.d/private/tabnine/packages.el
;;; Code:

(defconst tabnine-packages
  '(company-tabnine)
  )

(defun tabnine/init-company-tabnine()
  (use-package company-tabnine
    :ensure t
    :defer t
    :init
    :config)
  )

(defun tabnine/post-init-company-tabnine()
  (with-eval-after-load 'company
    (add-to-list 'company-backends #'company-tabnine)
    )
  )
;;; packages.el ends here

然后在 ~/.spacemacs 配置文件中的 dotspacemacs-configuration-layers 里添加 tabnine 即可。

重新载入Spacemacs配置,使用快捷键 M-x 然后使用 company-tabnine-install-binary 命令下载安装 TabNine 的二进制程序。

新建一个空白文档,输入 TabNine::Version 如果 TabNine 配置运行正常,就会输出当前TabNine的版本号。如果无输出,尝试 M-x 然后使用 company-mode 命令后再次尝试。


文章作者: REPL\ acgio
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 REPL\ acgio !
 上一篇
Log 191110 Log 191110
[ x ] 修复了 AKCP Kanfanba 首页分类无法正确切换的错误 [ x ] 从新启用了在线服务支持在右下角 document.querySelectorAll('.github-emoji')
2019-11-10
下一篇 
Clash Fake IP 旁路由 Clash Fake IP 旁路由
以下内容是将局域网内任意一台计算设备,如:计算机,树莓派,虚拟机等搭建成 Clash 网关。 以下内容假设: 主路由器地址 192.168.1.1 Clash 设备地址 192.168.1.2 Clash 设备系统为 Ubuntu 或
2019-10-23
  目录