在我的.emacs
我有以下代码行:
(modify-syntax-entry ?_ "." python-mode-syntax-table)
这样,像forward-word
和这样的命令backward-kill-word
就会在单词中的任何下划线处停止。这与默认行为不同,这是我想要的行为。问题是 thenauto-complete-mode
也以不理想的方式将下划线视为单词边界。例如,如果我有一个名为 的变量foo_var
,fo
然后我输入并尝试完成,它只会完成到 而foo
不是foo_var
。
在text-mode
和中,c-mode
行为正是我想要的,即运动遵循下划线,但auto-complete-mode
会跨它们完成。我需要在配置中更改什么才能auto-complete-mode
在 Python 中修复此问题?
答案1
我设法解决了我的问题。我对为python-mode
和加载的语法表进行了比较c-mode
(使用C-h s
)。我注意到在中c-mode
,下划线是一个符号字符(“_”),而在python-mode
下划线是一个标点符号(“。”)。因此,我只需将上述代码行更改为
(modify-syntax-entry ?_ "_" python-mode-syntax-table)