标签 Emacs 下的文章

系统: win7en

在 emacs 文件的开头输入:

-*- coding: utf-8 -*-

这样就可以以 utf-8 的编码进行保存。

还可以在配置文件中加入: (setq default-buffer-file-coding-system 'utf-8-unix) 。 具体参考: https://www.cnblogs.com/taosim/articles/3327909.html http://www.bubuko.com/infodetail-1878850.html https://www.emacswiki.org/emacs/ChangingEncodings

M-x describe-font RET 使用这个命令可以获得当前设置的字体描述。

中文会卡也有可能是行号功能的问题, linum-mode 可能导致卡,所以 emacs26 新加了一个 display-line-numbers-mode,这个没有性能问题,应该不会卡。

在 windows 环境下,emacs 的配置目录可以通过下面几种方式来设置:

  1. If the environment variableHOME is set, use the directory it indicates.
  2. If the registry entry HKCU\SOFTWARE\GNU\Emacs\HOME is set, use the directory it indicates.
  3. If the registry entry HKLM\SOFTWARE\GNU\Emacs\HOME is set, use the directory it indicates. Not recommended, as it results in users sharing the same HOME directory.
  4. If C:.emacs exists, then use C:/. This is for backward compatibility, as previous versions defaulted to C:/ if HOME was not set.
  5. Use the user's AppData directory, usually a directory called Application Data under the user's profile directory, the location of which varies according to Windows version and whether the computer is part of a domain.

HOME 是 String 类型的值。

然后运行 bin\runemacs.exe 就可以打开 emacs 了。

转自: https://www.douban.com/note/688353496/

版权归作者所有,任何形式转载请联系作者。 作者:Steven(来自豆瓣) 来源:https://www.douban.com/note/688353496/

笔者用emacs已经好多年,一直在arch上开发。困扰了很长一段时间的中文问题,今天解决了,把解决的路径分享下,希望有帮助。

  1. 关于你用什么输入法,不管你是Ibus也好fcitx也好,应该是无所谓的。

  2. emacs不解决编码问题,必须要在启动的时候设置LC_CTYPE=zh_CN.utf8,当然这个设置对不对,你要看你的locale -a的结果(注意这里有的系统是zh_CN.UTF-8,有的是zh_CN.utf8,看locale -a的结果设置),得开进程前env LC_CTYPE=zh_CN.utf8,很多教程,我不做多赘述。不确定自己是否设置正确,可以/bin/emacs -Q,进去后ALT-X,getenv,LC_CTYPE看是否是zh_CN.utf8。

  3. 别忘了设置$HOME/.xprofile。

export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"

由于不同的桌面环境,比如用i3的朋友就需要设置到.xinitrc里。

这一步是为了让你的GTK和QT应用能直接呼出fcitx,这一步不设置啥都出不来。

  1. 字体问题:也可以直接看这个设置:https://wiki.archlinux.org/index.php/Fcitx_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

Emacs 默认 fontset 会使用 "----r-normal--14-------" 字体 (terminus, 75dpi 等等,可以通过xlsfonts命令查看),如果您并没有匹配的字体,无法呼出 Fcitx.

  1. 恭喜你基本快成功了,如果这时候你还是呼不出fcitx或者ibus输入法。就可能跟你的桌面环境或者字体有关系了。 笔者用的fcitx,先说下fctix,用fcitx-diagnose诊断下是否有问题,emacs26是依赖gtk3的,只要gtk3设置了,就基本没问题了。那么还是呼出不了fcitx是怎么回事,这个论坛给了我答案,我系统的字体设置设置出了问题。可以根据这里的设置来解决这个问题:https://wiki.archlinux.org/index.php/Fonts#Installation

  2. 设置你系统载入的字体配置(这部分看上面链接即可)

/etc/fonts/local.conf

里面加入fallback的字体配置

  1. 确认你的fcitx进程存在。可以通过fcitx-diagnose来查看有没有问题,其实emacs也不一定非要设置编码格式,我取消了zh_CN.UTF8也能呼出输入法,这个目前还不太明白。

Done!,重启电脑,/bin/emacs -Q,测试下能不能呼出输入法,能呼出输入法中文写不到emacs一定是LC_CTYPE或者字体问题。不能呼出就是桌面环境问题或者.xprofile的问题。弄个空的emacs测试,有可能你的一些自己配置的lisp搞乱了环境,笔者就因为是fork的别人的emacs, emacs -Q 跑的没问题,后来排除了问题。