我是emacs的新手,并且拼命想让它在过去几年中我的IDE已经习惯了。
我喜欢它所做的很多事情,但我对它的缩进做法感到不满。
我想要的是什么:
我设法用https://github.com/zorgnax/regtab获得2/4。 不幸的是,该解决方案打破了neotree中的路径解决方案。
编辑:认为显示我的.emacs配置为此
是有意义的(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
(add-to-list 'load-path "~/.emacs.d/plugins/")
(load "regtab.el")
(define-globalized-minor-mode my-global-regtab-mode regtab-mode
(lambda() (regtab-mode 1)))
(my-global-regtab-mode 1)
(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))
关闭电子缩进模式是因为如果我按照它认为的无效方式缩进一行,然后按下RET,它会纠正'我的缩进。当我使用C-y
时,它对整个文件做同样的事情您想要使其无效的原因'缩进是某些库使用本质上无效的html / js语法。
EDIT2: 替换
(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))
带
(setq-default electric-indent-inhibit t)
有点帮助。它不再强迫我使用奇怪的缩进,但现在它在按下RET时至少有点缩进,并且在使用C-y时不再破坏我的缩进。
现在剩下的就是以某种方式实现regtab所做的事情而不会搞砸M-x命令的路径解析。
答案 0 :(得分:0)
好吧,我有点想通了自己的东西。如果您有比我要列出的更好的解决方案,请提供它们。
1)修复糟糕的emacs缩进: 获取此文件:https://github.com/zorgnax/regtab 把它放在〜/ .emacs.d / plugins /(这个文件不存在,制作它。)
在你的〜/ .emacs文件中,添加:
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
(add-to-list 'load-path "~/.emacs.d/plugins/")
(load "regtab.el")
(define-globalized-minor-mode my-global-regtab-mode regtab-mode
(lambda() (regtab-mode 1)))
(my-global-regtab-mode 1)
(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))
(setq-default electric-indent-inhibit t)
2)修复前面步骤的副作用: 安装hippie-expand 将以下内容添加到〜/ .emacs文件
(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
"Use hippie-expand to expand the filename"
(interactive)
(let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
(call-interactively 'hippie-expand)))
现在,如果要在M-x命令中完成路径,请使用C-M - /