Emacs 和 python-mode 自动缩进
Emacs and python-mode automatic indentation
python-mode automatic indentation 做了很多假设,似乎是基于风格。在某些情况下如何配置它的缩进方式,或者让它像 vim.
那样缩进
例如,如果我有以下功能:
def some_function(
arg1,
arg2,
):
pass
如果我转到 arg2
行的末尾,按回车键,然后键入 arg3,
,这就是我将得到的结果:
def some_function(
arg1,
arg2,
arg3,
):
pass
我想要的是:
def some_function(
arg1,
arg2,
arg3,
):
pass
如何让它做我想做的事?
我已经试过了(setq indent-line-function 'indent-relative)
,哪种方式可以满足我的要求,除非我按了两次回车键,光标将位于该行的开头(看起来它只检查最后一行来确定相对论)。
在vim中,我可以输入def some_function(
回车,它会自动缩进4个空格。如果我输入两次回车,它仍然会缩进 4 个空格。这是我最想要的。
提前致谢!
看起来这解决了我遇到的自动缩进问题。这不是让 emacs 使用 vim 样式缩进的方法。如果我弄明白了,我会把它添加到这个答案中。
(add-hook 'python-mode-hook
(lambda ()
(setq python-indent-def-block-scale 1)))
python-mode automatic indentation 做了很多假设,似乎是基于风格。在某些情况下如何配置它的缩进方式,或者让它像 vim.
那样缩进例如,如果我有以下功能:
def some_function(
arg1,
arg2,
):
pass
如果我转到 arg2
行的末尾,按回车键,然后键入 arg3,
,这就是我将得到的结果:
def some_function(
arg1,
arg2,
arg3,
):
pass
我想要的是:
def some_function(
arg1,
arg2,
arg3,
):
pass
如何让它做我想做的事?
我已经试过了(setq indent-line-function 'indent-relative)
,哪种方式可以满足我的要求,除非我按了两次回车键,光标将位于该行的开头(看起来它只检查最后一行来确定相对论)。
在vim中,我可以输入def some_function(
回车,它会自动缩进4个空格。如果我输入两次回车,它仍然会缩进 4 个空格。这是我最想要的。
提前致谢!
看起来这解决了我遇到的自动缩进问题。这不是让 emacs 使用 vim 样式缩进的方法。如果我弄明白了,我会把它添加到这个答案中。
(add-hook 'python-mode-hook
(lambda ()
(setq python-indent-def-block-scale 1)))