call helm-find-files in elisp

需求: 我经常要写写一些小的脚本, 但有时放在这, 有时放在哪, 后续可能就找不到了。
我现在想做的是: 比如 bind 到 i-script,
i-script 每次都会到特定的路径找脚本 或者 创建新的脚本。

目前的做法是:

  1. helm-find-files
  2. 输入我想要的路径 (比如 /x/y/z)

我希望的做法是 把2个步骤合并成1个步骤,然后就可以bind 到某一个key 上了。

(defun i-script ()
  (interactive)
  (helm-find-files "/x/y/z")  ;; (call-interactively  #' helm-find-files xxx ) 
  )

上面的代码并不工作。

因为你想当然了。plz RTFS

Don't call it from program, use  `helm-find-files-1' instead.
2 个赞

绑定 default-directory 来设置初始目录:

(let ((default-directory "~/.emacs.d/"))
  (call-interactively #'helm-find-files))

default-directory 相当于「工作路径」。

2 个赞