我正在使用emacs前奏曲。
我最近决定从ido切换到掌舵。
所以我在emacs前奏中启用了helm
和helm-everywhere
,
除了helm-find-file
在Ido中,我可以点击ret
以查看所选目录,但我必须在掌舵中点击right
或c-j
。
此外,helm-find-files
会在每个目录的最顶部列出.
和..
。
这意味着在ido中,我可以点击ret
ret
ret
,直到我到达最终目的地,如果路径上的目录不多。
但掌舵时,我必须键入一些字符,点击c-j
键入至少1个字符,点击c-j
,依此类推。
我甚至无法连续点击c-j
。
我不想切换回ido,因为我真的很喜欢find-file中的helm grep功能。
无论如何我可以更改默认顺序,可以在底部列出.
和..
,ret
进入目录而不是打开直接?
答案 0 :(得分:9)
您正在寻找的功能是(helm-execute-persistent-action),默认情况下绑定到C-z。有些人喜欢用tab切换它:
(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action)
(define-key helm-map (kbd "C-z") 'helm-select-action)
如果您愿意,可以将其绑定到ret,但它不会按照您期望的方式打开文件。
至于你的另一个问题,我不知道helm是否有办法设置默认选择位置,但是从顶部选择第一项你可以这样做:
(define-key helm-map (kbd "C-j")
(lambda ()
(interactive)
(helm-move-selection-common :where 'edge :direction 'previous)
(helm-move-selection-common :where 'line :direction 'next)
(helm-move-selection-common :where 'line :direction 'next)
(helm-execute-persistent-action)))