Emacs-056-整个Buffer重新智能缩进

Emacs-056-整个Buffer重新智能缩进

前阵子曾经十分讨厌Emacs的自动缩进功能,因为在删除等功能操作的时候十分别扭。现在实现了hungry模式之后,倒是觉得这个功能可以回归一下。

找到了一段别人的Emacs配置函数,能够实现对整个Buffer进行重新智能缩进排版的功能。使用了一下,十分顺手。这里小结分享一下:

;;a batter function for indent
(defunindent-buffer()
(interactive)
(indent-region(point-min) (point-max)))

(defunindent-region-or-buffer()
(interactive)
(save-excursion
(if(region-active-p)
(progn
(indent-region(region-beginning) (region-end))
(message"Indent selected region."))
(progn
(indent-buffer)
(message"Indent buffer.")))))
;;;;Key binding for this better indent function
(global-set-key(kbd "C-M-\\") 'indent-region-or-buffer)


上面分别实现了对整个Buffer进行重新智能缩进的排版和按键绑定两个功能,其中按键绑定与Emacs原本的功能相同。

接下来演示一下使用的效果,加入有以下C代码:


看得出,上面代码中第7行是缩进有问题的。接下来按组合键C-M-\,出现的效果如下:


从上面的截图中可以看到,不仅实现了代码的缩进排版,同时在minibuffer中给出了功能调用提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值