2

Emacs irb (inferior-ruby-mode) 中设置自动完成时,我遇到了无法仅添加 Ruby 模式缓冲区作为 AC 源的问题。我可以例如。在当前目录中添加文件

(setq ac-sources '(ac-source-files-in-current-dir))

或者我可以通过

(setq ac-sources '(ac-source-words-in-all-buffer))

但我真正想要的是只添加Ruby模式缓冲区。^^

4

1 回答 1

3

看看ac-source-words-in-same-mode-buffers...我们可以重复使用这种方法来构建我们自己的完成源,例如:

 (ac-define-source words-in-ruby-buffers
   '((init . ac-update-word-index)
     (candidates . (ac-word-candidates
                     (lambda (buffer)
                       (eq (buffer-local-value 'major-mode buffer) 'ruby-mode))))))

会给我们ac-source-words-in-ruby-buffers补全源。

PS我没有测试过,但它应该可以工作;-)

于 2012-11-20T14:25:40.103 回答