在python的PEP 8样式指南中,建议内联注释由行的其余部分分隔两个空格.但是,Emacs中的默认值是在行尾和注释之间运行comment-dwim或indent-for-comment只放置一个空格.有没有办法在emacs中更改此默认行为?
我正在运行Emacs 23.3.1
假设我有一个名为的python模块mymodule.在我的代码的顶部,我有这个:
import mymodule
reload(mymodule)
Run Code Online (Sandbox Code Playgroud)
我的目录结构在哪里
/dir/mymodule.py
Run Code Online (Sandbox Code Playgroud)
但是,我想mymodule.py分成几个文件,同时仍然被定义为单个模块(即我不想单独导入每个文件 - 我希望能够像以前一样使用我的导入/重新加载).
我知道如何做到这一点的唯一方法如下
/dir/mymodule/
file1.py
file2.py
__init__.py
Run Code Online (Sandbox Code Playgroud)
哪里__init__.py包含
from file1 import *
from file2 import *
Run Code Online (Sandbox Code Playgroud)
这主要是有效的,但我的呼吁reload(mymodule)不再做任何事情,因为它不会重新加载任何名为via*imports的东西.
有什么建议?
我试图将[Ctrl] - [;]设置为我的.emacs中的键绑定
(global-set-key "\C-;" 'comment-or-uncomment-region)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试时它不起作用(我没有收到任何错误信息,它只是没有效果).如果我尝试普通字符(例如将其设置为"\ Cp"),它将工作.
我也试过了
(global-set-key (kbd "C-;") 'comment-or-uncomment-region)
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这个选项,因为对我来说,当我运行"emacs -nw"时它不起作用.有关如何做到这一点的任何想法?
编辑:当我运行时C-hcC-;,emacs -nw我得到输出:
; runs the command self-insert-command
Run Code Online (Sandbox Code Playgroud)
这是完全一样的,当我作为运行C-hc;在emacs -nw
所以我认为phils是对的,这是一个终端问题,因为emacs从未真正看到过C-;,它只能看到;