spacemacs提供之前zilong视频里那种设置缩进的快捷键了么, 可以 tab = 2 或者 tab = 4的自由切换.
2 个 tab 和 4 个 tab 之间自由切换,我是自己写了一个小函数,你可以借鉴一下
(defun my-toggle-web-indent ()
(interactive)
;; web development
(if (eq major-mode 'json-mode)
(progn
(setq js-indent-level (if (= js-indent-level 2) 4 2))))
(if (or (eq major-mode 'js-mode) (eq major-mode 'js2-mode))
(progn
(setq js-indent-level (if (= js-indent-level 2) 4 2))))
(if (eq major-mode 'web-mode)
(progn (setq web-mode-markup-indent-offset (if (= web-mode-markup-indent-offset 2) 4 2))
(setq web-mode-css-indent-offset (if (= web-mode-css-indent-offset 2) 4 2))
(setq web-mode-code-indent-offset (if (= web-mode-code-indent-offset 2) 4 2))))
(if (eq major-mode 'css-mode)
(setq css-indent-offset (if (= css-indent-offset 2) 4 2)))
(setq indent-tabs-mode nil))
2 个赞
在spacemacs 依然好使. 这功能超赞
一个帖子最好只问一个问题,我把你的帖子的标题和内容改了。如果你没有得到第一个问题的答案,可以再发帖,谢谢。
1 个赞
什么情况下要切换 tab ? 我预感这是一个X-Y问题。
M-x tabify 将所有超过两个的连接空格使用TAB替换掉。 M-x untabify 将所有TAB使用适当个数的空格替换掉。
这个似乎是js开发的规范问题。就和4个空格还是tab差不多。虽然哪个都可以,但一般也会有调节的需要。
话说这招不像之前那么好使了. 之前是光标在任意位置执行这个就会切换了, 现在要全部选中再执行才行
最好是按空格来, tab经常会出设置的空格不一样的问题, 很烦人.
空格不一致可能是spacemacs或者是某个包的设置扰乱了和indent-offset有关的变量吧。
我参考子龙山人的一个设置把evil-shift-width还有其他和indent-offset有关的file-local变量都显示在modeline上,方便发现问题。如果需要强行规定缩进大小的话,最好通过设置file-local-variables和dir-local-variables规定。这样比较保险,而且每个工程之间相互独立。
话说各位有用过EditorConfig吗,貌似实现的就是这样的功能,不过不知道好用不好用。