Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Emacs中编辑Python_Python_Emacs_Ropemacs_Rope - Fatal编程技术网

在Emacs中编辑Python

在Emacs中编辑Python,python,emacs,ropemacs,rope,Python,Emacs,Ropemacs,Rope,我已经研究了python模式和python.el。我正在使用python-mode.el。我也用绳子和绳索。我正在寻找一些对我有帮助的文档,或者另一个elisp包或其他东西 我目前的问题是,我得到的代码具有不一致的缩进大小。对于一些街区,它将是两个,对于一些街区,它将是4个。我想清理一下,但出于某种原因,当我告诉emacs“修复缩进”时,它基本上只会在每一行上点击tab,这会把代码搞砸。我想要的是保持相同的相对缩进,但标准化为4个空格。有什么能让我轻松做到这一点吗 我想我可以找到错误缩进的每个实

我已经研究了python模式和python.el。我正在使用python-mode.el。我也用绳子和绳索。我正在寻找一些对我有帮助的文档,或者另一个elisp包或其他东西

我目前的问题是,我得到的代码具有不一致的缩进大小。对于一些街区,它将是两个,对于一些街区,它将是4个。我想清理一下,但出于某种原因,当我告诉emacs“修复缩进”时,它基本上只会在每一行上点击tab,这会把代码搞砸。我想要的是保持相同的相对缩进,但标准化为4个空格。有什么能让我轻松做到这一点吗

我想我可以找到错误缩进的每个实例,阻塞它,并用4个空格替换2个空格。但这有点太依赖于我的精确性了,注意到应该在哪里做。而且,它有很多代码

有人告诉我自行车修理工会解决这个问题,但这已经过时好几年了。。。还有其他建议吗


谢谢。

假设您使用了Sven Marnach的注释来清理代码库,我猜您只需要让python-mode.el使用您喜欢的缩进样式

查看变量
py缩进偏移量
py智能缩进量
(可能还有
py延续偏移量
py注释缩进量
)。以及正常的
缩进选项卡模式

您可以自定义它们(M-x
customizegroup
RET
python
RET),或者向
python模式挂钩添加自定义函数。e、 g:

(add-hook 'python-mode-hook 'my-python-mode-hook)
(defun my-python-mode-hook ()
  (setq indent-tabs-mode nil
        py-smart-indentation nil
        py-indent-offset 4))

显然,这些都是模式的全局设置(python模式就是这样做的)。我根本没有胡乱修改python模式的缩进设置。

将py智能缩进设置为't'

当前的python-mode.el应该可以做到这一点


如果出现错误,请在此处报告

并非真正的emacs答案,但您可能会感兴趣。谢谢!这至少解决了一个问题!是的,我认为4是默认值,这就是我想要的。更重要的是使用Sven的建议,并使用一些工具更容易地移动代码块。。。
(custom-set-variables
   ...
   '(indent-tabs-mode nil)
   '(tab-stop-list (quote (4 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120)))
   '(tab-width 4))