C-y 粘贴代码的时候自动格式化如何取消

hi,各位emacs道友,最近发现,我的emacs要粘贴代码的时候会把当前页面的代码自动格式化,因团队每个人使用的工具不一样,格式化也不一样,又是老项目,所以我不能格式化大家的代码(很容易冲突),所以想关闭这个功能。大家有什么解决办法吗?

用的什么major mode,我试了一下,发现打开文件后在手动执行m-x major mode一次(与文件默认major mode一致),在粘贴代码,就不会把我粘贴的代码格式化,刷新一下buffer,这个功能又回来了

自己查一下怎么掉起的 indent-region 吧。 我的 emacs 也会自动格式化,后来查了一下是我自己给 yank 添加了 advice 导致的,去掉以后就好了。

(advice-add 'indent-region :before
            (lambda (&rest args)
              (backtrace)))

我没有这样的设置啊,看了还是不行啊?

不管是在js2-mode还是web-mode感觉都不行啊,照样是自动格式化。

我的js2-mode粘贴代码不会格式化,web-mode会

看有没有开electric-indent或者aggressive-indent

(electric-indent-mode t) 我是这样设置的,当我把它注释掉后,在js2-mode中不会自动格式化,但是在web-mode中依然可以自动格式化。大神下面该怎么做呢?

我平时用的是vue,用的就是 web-mode啊?大神求解啊?

web-mode下看electric-indent-mode的值

(setq web-mode-enable-auto-indentation nil)

这样应该就行了。

2 个赞

@steiner 这样可行 ,web-mode在粘贴代码时格式化整个文件,文件大时好慢,必须得关掉了

disabled

可以的,解决了,谢谢