counsel如何在使光标在initial input的开头?

现在的代码是这样的:

(defun my/switch-major-mode ()
  "Switch major mode."
  (interactive)
  (counsel-M-x " -mode$") (beginning-of-line-text))

发现光标没有按预期的出现在开头。

这里的 beginning-of-linecounsel-M-x 退出之后才执行吧。

试试在 minibuffer-setup-hook / minibuffer-inactive-mode-hook 以及类似的 hook 里执行,或者看看 counsel 有没有提供相关的 hook。

1 个赞

试试这个?

(defun my/switch-major-mode ()
  "Switch major mode."
  (interactive)
  (minibuffer-with-setup-hook #'beginning-of-line
    (counsel-M-x " -mode$")))
2 个赞