[EXWM] 自动调整终端 Buffer 的 default-directory

群里面有没有使用 EXWM 的同学? 继续讨论:

EXWM 中程序都放在一个 Emacs Buffer 中,给终端(我的是 zsh + xfce4-terminal)设置合适的 default-directory 挺有用的:

1、设置 xfce4-terminal 的 Window 标题为当前路径:

precmd_set_terminal_title () {
    print -Pn "\e]2;$PWD\a"
}

precmd_functions=($precmd_functions precmd_set_terminal_title)

2、根据标题更新 default-directory

(defun chunyang-exwm-xfce4-terminal-update-default-directory ()
  "Update `default-directory' according to the terminal window title."
  (and exwm-class-name
       (string-prefix-p "Xfce4-terminal" exwm-class-name)
       (setq default-directory (expand-file-name (concat exwm-title "/")))))

(add-hook 'exwm-update-title-hook
          #'chunyang-exwm-xfce4-terminal-update-default-directory)
1 个赞

赞!!!!!!!!!!

推荐termite,有vi模式的terminal,原本用ansi-term因为fzf在其中很卡,不得已换成termite。