9

emacs使用笔记

 2 years ago
source link: https://hsingko.github.io/post/emacs/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

使用emacs+orgmode已经一段时间了,用起来确实很爽,orgmode比起todoist强得多,以后就决定用这个来实践GTD工作法了,这篇文章主要记录一下使用过程中遇到的问题和解决方法。

电脑系统我用的是 manjaro + kde, emacs的配置是doom emacs.

B.在手机上使用orgmode

虽然在pc上用orgmode挺爽,但出门的时候就很不方便查看待办事项了,幸好已经手机上也有支持orgmode的app,我选择的是beorg(ios上唯一的选择)。如果用的是macos,那直接用icloud同步就很方便,但是linux上就很麻烦了,还好beorg也支持webdev同步,这里我选择了坚果云。

1. 安装坚果云

aur上有坚果云的包,可以直接用 yay nutstore 进行安装,但是在我的电脑上闪退,没办法我只好从源码安装。

wget https://www.jianguoyun.com/static/exe/installer/nutstore_linux_src_installer.tar.gz
tar zxf nutstore_linux_src_installer.tar.gz
cd nutstore_linux_src_installer && ./configure && make
sudo make install
./runtime_bootstrap

这样安装好的确实正常打开,但是还有些小毛病,不过不影响使用。

2. 设置同步文件夹

可以直接将org文件夹整个进行同步,上传速度还可以接受。

3. 配置webdav

在坚果云-账户信息-安全选项中添加应用,可以得到用户密码。

4. 配置beorg

beorg感觉其实也是个花哨的半成品,在进行webdav同步的时候遇到了许多bug。比如如果之前用了其他远程源进行同步,那么残留下来操作会污染坚果云的webdav,导致各种各样奇葩的同步错误。在设置中log中可以看日志,我的解决方法是直接卸载重装。

5. 正常使用

只要不同时使用pc和手机应该就不会有什么大问题(不过其实我担心的是坚果云的隐私安全,我打算把一些敏感文件进行gpg加密)

C.用orgmode写hugo博客

hugo原生支持org文件,所以可以用org替代markdown,毕竟org支持更丰富的格式。可以直接用 hugo new post/xx.org 生成草稿文件,另外要注意的是可以直接把 Blog/archetypes/default.md 文件复制一份并重命名为 default.org 这样就可以享用hugo的front matter了。

D.中文处理

emacs-rime 就已经挺好用了,注意规避一些坑就好。

直接将fcitx的rime配置文件设置为 rime-user-data-dir 是有问题的,会导致无法使用用户词库——不管是输入还是读取都会有问题。现在我的解决方法是用rime-sync进行同步,可以在 config.el 中设置hook,使rime在emacs启动和关闭的时候自动进行词库同步1

(use-package! rime
  :hook
  ((after-init kill-emacs) . (lambda ()
                               (when (fboundp 'rime-lib-sync-user-data)
                                 (ignore-errors (rime-sync))))))

中英文切换问题

默认切换输入法的方式是 Ctl \ ,但这样显然很麻烦,有两种方法可以让我们更方便地切换。

emacs-rime断言
修改按键映射

表格等宽设置

普通的中文字体和英文并不等宽,这就导致orgmode中的表格看起来都很难看,可以用3种方法解决:一种是使用严格中英文等宽字体,另一种就是用 cnfonts 进行自动校准,最后就是单独设置表格的字体。

1.使用等宽字体

我只知道一种:更纱黑体. 使用这个字体,不需要额外设置就能在大多数情况下实现表格对齐了,很方便。但是在一些情况下还是会出现没对齐的情况,比如使用 ctrl + 放大画面在特定比例下:

1.png

2. 使用cnfonts进行自动校准

package.el 中加入 (package! cnfonts) 进行安装。然后在 config.el 加入 (cnfonts-enable) 使其能自动启动。

安装完成之后,输入 Alt+x cnfonts-edit-profile 进行中英文的字体选择,我用cnfonts之后, org-clock-report 中生成的表格也能对齐了。

2.png

当然代价就是一篇文章里,英文看上去会很小。

3. 单独设置表格字体

使用cnfonts的理由是操作简单,当然也存在其他的对齐方法,例如单独设置表格的中文字体, valign 正好提供了这样的功能。但是要注意这个工具和cnfonts可能并不兼容,最好只选择其一。

三种方法优劣比较

  • 第一种方法最简单,只要安装字体就行了,但是会有特殊情况无法对齐。另外有些人可能会不习惯这种这种英文字体。
  • cnfonts能分别设置中英文字体,覆盖所有表格对齐情况,但缺点是中英文尺寸相差很大,导致页面看上去不太和谐.
  • valign能自动适配各种表格, 理论 上非常好用。但是我在使用的过程中经常会出现各种奇怪的问题,比如本来能对齐的再次打开就无法对齐,有时甚至连只有英文的表格也无法对齐了;valign还会控制表格符、吞字符,你会怀疑自己的键盘坏了。反正最后我试了一天后就卸载了,懒得折腾。

字体推荐:IBM Plex, PingFangSC

如果选择使用cnfonts,那么就可以自由地选择中英文字体了。英文字体推荐IBM Plex, 中文字体推荐苹方(事实上大部分的中文字体加粗后都比较难看,苹方是其中难得比较顺眼的)。

4.png

cnfonts添加字体

cnfonts自带的字体列表里并没有上述字体,但我们可以自己添加想要的字体,它提供了很方便的工具。

  1. M-x cnfonts-edit-profile-without-ui 命令来打开配置文件,里面有默认支持的字体列表,我们只要往里面加想要的字体就好。
  2. M-x cnfonts-insert-fontname 命令可以帮助我们搜索系统中已安装的字体并一键添加,非常方便。

Footnotes


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK