目前主要使用环境:Windows10 + WSL2 + VcXsrv + Emacs27.2 Emacs 主要使用 Doom emacs 配置

单独使用这个文件来汇总碰到的问题和解决办法,方便后续的查询。

WSL2 /mnt/c/xxx Input/output error 解决办法

重新关闭和重启 WSL 可以解决。

1
2
wsl.exe --shutdown
wsl.exe

Doom emacs 中自定义 org-capture 模板不生效

配置文件中添加 org-capture 模板, eval-buffer 后成功生效,重启 emacs 后还是默认的模板。

1
2
3
4
5
6
7
8
(setq org-capture-templates nil)

(setq org-log-done 'time)

(add-to-list 'org-capture-templates
            '("i" "Inbox" entry
                (file+headline "~/emacs/org/inbox.org" "Inbox")
                "* %U - %^{Title} %^G\n %?\n" :empty-lines 1))

原来 Doom emacs 自己会再启动时默认覆盖配置,要使配置生效,需要将代码放入 (after! org) 中。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
(after! org
  (setq org-capture-templates nil)

  (setq org-log-done 'time)

  (add-to-list 'org-capture-templates
               '("i" "Inbox" entry
                 (file+headline "~/emacs/org/inbox.org" "Inbox")
                 "* %U - %^{Title} %^G\n %?\n" :empty-lines 1))
  )

Windows10 上 org-mode 添加 scheduled 时间现实乱码

可以添加如下代码解决这个问题

1
2
(setq system-time-locale "C")
(format-time-string "%Y-%m-%d %a")

Doom emacs 安装 lsp-mode 实现 Python 自动补全

在 Doom emacs 的配置文件 init.el 中添加 lsp 在当前文件 python 处改成 (python +lsp) 刷新配置 doom sync ,安装成功后就可以试试自动补全了

前提:安装 unzip

参考链接

Emacs 如何删除空行

1
M-x flush-lines RET ^\s-*$ RET

可设置函数,方便使用

1
(fset 'delete-empty-lines (kbd "M-x flush-lines RET ^\s-*$ RET"))

Execl 中日期转换文本格式

单元格中日期格式转换成文本格式,方便拼接处理。

1
2
=text(A1,"mmdd")
=text(A1,"mm月dd日")