分享一下自己的Emacs配置

对图形版本Emacs不是太满意,所以全员终端了

jellybeans 配色:

这个配色对终端支持非常好

(load-theme 'jbeans)

禁用menu-bar 和 tool-bar

终端本来就这么点大,所以要多空点空间

(menu-bar-mode -1)
(tool-bar-mode -1)

tab 长度

tab 当然要 8 不是8的是异端

;; tab 必须为8个空格
(setq-default tab-width 8)

;; c代码的格式
(setq c-default-style "linux"
      c-basic-offset 8)

关闭没有任何用处的启动页面

;; 关闭欢迎页面
(setq inhibit-splash-screen t)

company 模式

平时也就写写 C 和 Python3 代码

用的 company + lsp 方案当作补全

  • 图省事开的全局company-mode
  • 输入最少一个字符就弹出补全框
  • 补全弹出当然是越快越好
;; 全局company-mode
(global-company-mode)

;; company 微调  
(setq company-minimum-prefix-length 1
      company-idle-delay 0.0) ;; default is 0.2

;; lsp
(require 'lsp-mode)
(add-hook 'prog-mode-hook #'lsp)

;; ccls
(require 'ccls)
(setq ccls-executable "~/.local/bin/ccls")

;; company shell
(add-to-list 'company-backends 'company-shell)

;; company lsp
(require 'company-lsp)
(push 'company-lsp company-backends)

代码检查 flycheck

  • 全局是为了图省事
;; 全局flycheck模式
(global-flycheck-mode)

代码段补全

  • 全局当然是图省事
  • 默认的tab键补全snippet
;; yasnippet
(yas-global-mode)

简洁好用的 ivy minibuffer候选补全

切换buffer 时候,M-x的时候有补全候选也很方便。

2020-04-29-133814_274x230_scrot

;; minibuffer 补全
(ivy-mode 1)

有道翻译插件

  • 哪里不会移动到哪里然后 C-c y 翻译单词
  • 哪句句子不会移动到哪里然后 C-c y 翻译句子
;; 有道翻译按键绑定
(global-set-key (kbd "C-c y") 'youdao-dictionary-search-at-point)

;; 有道翻译历史记录
(setq youdao-dictionary-search-history-file "~/.emacs.d/.youdao")

离线翻译插件 sdcv

哪个单词不会移动到哪里然后 C-c u 翻译单词

https://www.emacswiki.org/emacs/sdcv.el


;; sdcv 按键绑定
(global-set-key (kbd "C-c u") 'sdcv-search-pointer)

rime 输入法

大佬搞的rime输入法插件,很快,真的很快

  • minibuffer 是显示速度最快的
  • 启动时候加载好输入法,使用时候没有启动延迟
;; emacs-rime
(setq default-input-method 'rime)
(setq rime-show-candidate 'minibuffer)

;; 启动时加载一下输入法
(toggle-input-method)
(toggle-input-method)

modeline 美化 powerline

简单的我也不是很注重美化,只是默认modeline实在欣赏不了

;; powerline 主题
(powerline-default-theme)

浏览器 w3m

平时看看文档,看看大佬的博客都是拿Emacs w3m

  • 看到不懂的单词用翻译插件翻译
  • 看见牛逼的代码拿 Emacs 选中复制

Emacs Daemon

一般开机就在用户执行了 emacs --daemon了

不过emacs --daemon 还是太长了,所以:

我的alias:

# emacs 相关
alias 'emc'='emacsclient -nw'
alias 'emd'='emacs --daemon'

杂项

因为全员终端,所以就直接放服务器了,随便拿台电脑SSH上去开tmux 开 emacs 写就完事了

有时搞不懂插件不是因为菜,而是没有好好读官方给的文档

终端大佬,终端大佬。
图形界面它不香吗?

黑哥 :joy:

图形不是很好用

我的配置在终端里面一跑有各种问题,也没有发现那个终端比较好用,不想折腾终端,用了终端感觉又要折腾emacs下的输入法等,为了省心,只好继续留在图形界面

上 st 终端。

emacs 输入法不是图形版本和终端版本都可以用吗?

@nniixxoossccnn emacs输入法在终端版本好像不用不行(windows),图形版感觉不是必须的,输入法有更多选择

???我很疑惑,输入法不是终端模拟器管的吗,你不安~Fcitx/ibus/scim/uim~输入法的吗?

linux应该没问题吧,我在windows下用了几个终端启动emacs都没法用第三方输入法正常输入中文的

好吧收回我之前的话。

我在Windows使用Emacs都是 wsl 或者 msys2

Windows 原生Emacs 终端版本没有用过。