Spacemacs存在相似名称文件时无法新建文件,求禁用该行为的方法
解决Spacemacs中C-x C-f无法新建相似名称文件的问题
这个问题大概率是Spacemacs默认启用的文件补全工具(如ido-mode或helm-mode)的自动匹配行为导致的,原生Emacs没有这些增强逻辑,所以不会出现该问题。以下是几种可行的解决方法:
方法1:强制使用原生find-file命令
直接将C-x C-f绑定回原生的find-file,绕过Spacemacs的补全增强:
在.spacemacs文件的dotspacemacs/user-config函数中添加:
(global-set-key (kbd "C-x C-f") #'find-file)
添加后重启Spacemacs即可生效,此时使用C-x C-f输入文件名时,会和原生Emacs一样,若文件不存在则直接创建新文件。
方法2:调整ido模式的配置(若使用ido)
如果你的Spacemacs使用ido作为补全工具,修改以下配置来禁用自动匹配相似文件:
在.spacemacs的dotspacemacs/user-config中添加:
; 禁用自动合并相似目录/文件的补全候选 (setq ido-auto-merge-work-directories-length -1) ; 总是允许创建新文件对应的缓冲区 (setq ido-create-new-buffer 'always)
方法3:调整helm模式的配置(若使用helm)
Spacemacs默认常使用helm,可通过以下配置让helm在输入不存在的文件名时提示创建:
在.spacemacs的dotspacemacs/user-config中添加:
; 当输入的文件不存在时,提示创建新文件 (setq helm-ff-newfile-prompt-p t) ; 关闭自动补全时自动选中第一个候选的行为(避免误打开相似文件) (setq helm-ff-auto-update-initial-value nil)
修改配置后记得重启Spacemacs,或者执行M-x eval-buffer加载修改后的配置。
内容的提问来源于stack exchange,提问作者bob.dobbs
相关产品推荐
相关产品推荐

