我一直在使用emacs 23(python.el)一个多月,我对默认的自动缩进设置感到不满。emacs 23 python.el自动缩进样式 - 可以这样配置吗?
目前,我的Python文件被自动缩进如下:
x = a_function_with_dict_parameter({
'test' : 'Here is a value',
'second' : 'Another value',
})
a_function_with_multiline_parameters(on='First', line='Line',
now_on='Second', next_line='Line',
next='Third', finally='Line')
我宁愿如果我能设置自动缩进设置这样相同的代码可以很容易地被格式化:
x = a_function_with_dict_parameter({
'test' : 'Here is a value',
'second' : 'Another value',
})
a_function_with_multiline_parameters(on='First', line='Line',
now_on='Second', next_line='Line', next='Third', finally='Line')
看起来,我想如何执行自动缩进的逻辑是:
如果上一行的最后一个字符(非注释/空白)为a,则增加t他缩进1级。 否则,使用相同的缩进级别。
但是使用该逻辑,TAB
需要实际增加当前行的缩进级别。 (目前,TAB
只能将行移动到自动缩进级别)
有谁知道我如何修改emacs自动缩进以实现我想要的样式?
不幸的是,这并不像我所描述的那样工作。自动缩进之后,不断按下“TAB”会使该线滚动通过负值(朝向边距)缩进级别。此外,如果我手动操作缩进级别,后续行不会保持在同一级别。好消息是我可以查看python.el源代码,看看我能否弄清楚事情是如何工作的,并且可能会自己弄清楚如何修改它。 – brildum 2011-02-24 15:01:36