emacs: 文本输入中文件目录自动补全
emacs: 文本输入中文件目录自动补全
1 引言
由于在使用emacs进行文本处理过程以及数据处理的代码编写过程中, 经常需要输入对应的数据所在的目录以及文件名, 通常采用的方法就是直接进行输入, 但是由于用惯了vim中youcompleteme的文件名以及目录补全的功能, 总希望在emacs中也能够拥有类似的功能. 于是展开了进一步的思索, 发现在使用shell-mode的时候, 能够实现对于文件名的自动补全, 于是google了shell.el的实现代码, 发现文件的自动补全是基于comint.el的. 因此, 此处的实现是借用了里面的两个函数.
2 补全过程演示
使用快捷键 C-c k
进行补全
/lib/cpp
./emacsAutoCompleteFileAndDir.org
3 实现代码
;; Use C-tab to autocomplete the files and directories ;; based on the two commands `comint-dynamic-complete-filename` ;; and `comint-dynamic-list-filename-completions` (defun atfd () (interactive) (comint-dynamic-list-filename-completions) (comint-dynamic-complete-as-filename)) (global-set-key ( kbd "C-c k" ) 'atfd)
将上述代码加入到.emacs文件中或是.emacs.d/init.el中就能够实现上述的功能.