Emacs Tips

记录一些 Emacs(Spacemacs) 的使用技巧。

禁用 evil-escape 插件1

在使用 Spacemacs 时突然发现一个问题,在快速地按下 fd 两个键时会退出到 "normal state", fd 又是比较常用的一个组合,在写文件操作的代码时经常能遇到, 网卡搜索之后发现了原来是这个 package 搞的鬼,于是禁用之。当然你也可以根据文 档说明更改组合键。

Convert Tabs to/from Spaces2, 3

First select the text, then run command untabify/tabify.

使用不同的编码打开文件4

Emacs 打开文件时如果产生乱码,可能是 Emacs 选择了错误的编译方式,使用正确的 编码方式重新打开文件即可。可以使用命令 revert-buffer-with-coding-system , 然后造反正确的编码就可以了。具体文件是用什么方式进行编码的是一个复杂的问题, 我碰到过在 Windows 下可以正常打开的文件在 Linux 下却乱码了,如果你也是这种 情况,可以尝试一下 cp936 。当然这可能跟你的情况不同,那就只能再想办法,比如 用 WPS 打开。我在 Spacemacs 的配置文件里绑定了快捷键,如下

1
(spacemacs/set-leader-keys (kbd "fCr") 'revert-buffer-with-coding-system)

把它放在 dotspacemacs/user-config 函数里就可以了。要想查看打开当前文件所用 的编码方式,可以通过查看 buffer-file-coding-system 这个变量来实现。查看方式 就是先输入 Ctrl+h v (如果是 Spacemacs,也可以输入 SPC h d v ),然后输入变量 名即可。

calc

Write equation in normal order: ', `

Number Bases

Description Emacs Calc Base 10
Binary 2#11110101 245
Octal 8#27 23
Hexadecimal 16#FFFF 65535
<n-base> <n>#nnnn ?

Convert Hexadecimal to Decimal5

Start quick mode (SPC a c q, or C-x * q), type in the correspond number in proper base.

Is Emacs run in GUI or terminal?6

The window-system variable tells Lisp programs what window system Emacs is running under. The possible values are7

x X
w32 native MS-Windows GUI
ns the Nextstep interface (used on GNUstep and Mac OS X)
pc MS-DOS direct screen writes
nil terminal

Or if you just want to know whether you are using GUI, try display-graphic-p.

Last Updated 2018-05-27 Sun 17:57.
Render by hexo-renderer-org with Emacs 25.2.2 (Org mode 9.1.13)
0%