最近用上了懒猫大佬的lsp-bridge,越用越顺手,感觉再也不用花时间研究各种 lsp和自动补全了,甚至不用做什么配置就能在org-babel里做各种补全. 不过org-babel里写代码遇到各问题,就是python代码每次在换行的时候就来一 次莫名其妙的缩进,大部分情况下是统一往右shift一个宽度,实际就把代码搞 乱了,想请问一下org-babel里如何取消这种捣乱的自动缩进? 感觉和lsp-bridge应该是没关系
谢谢啦
最近用上了懒猫大佬的lsp-bridge,越用越顺手,感觉再也不用花时间研究各种 lsp和自动补全了,甚至不用做什么配置就能在org-babel里做各种补全. 不过org-babel里写代码遇到各问题,就是python代码每次在换行的时候就来一 次莫名其妙的缩进,大部分情况下是统一往右shift一个宽度,实际就把代码搞 乱了,想请问一下org-babel里如何取消这种捣乱的自动缩进? 感觉和lsp-bridge应该是没关系
谢谢啦
用这段话直接问了一下qwen/qwq LLM, 给了一串建议,下面这个能用 (setq org-edit-src-content-indentation 0) 有没有其它副作用还不清楚
试过了,可以的,先按您的建议使用了,谢谢
禁用 Electric Indent 模式:
electric-indent-mode
:(add-hook 'python-mode-hook
(lambda ()
(setq-local electric-indent-mode nil)))
调整 Org-Babel 的 Indent 参数:
org
文件中,当你定义一个 Python 代码块时,可以在头部添加 :indent
参数设置为 0
或其他值,以控制缩进行为:#+begin_src python :indent 0
def example():
print("Hello, World!")
#+end_src
全局设置:
org-babel
的配置中进行调整。例如,在 .emacs.d/init.el
中添加以下内容:(setq org-babel-indent 'none)
检查 Tab 和 Indent 设置:
indent-tabs-mode
为你喜欢的值(通常是 nil
表示使用空格而不是制表符),并调整 tab-width
来确保缩进看起来正确。(setq indent-tabs-mode nil)
(setq tab-width 4)
通过以上方法,你应该能够取消 Org-Babel 在 Python 代码块中的自动缩进行为,从而保持你的代码结构清晰和一致。