Emacs 配置 :使用快捷键格式化代码
2017-09-03 14:44
796 查看
前言
准备工作
Astyle介绍
原理
代码实现
代码解释
声明
作为程序员,想必都不会想让自己的代码缩进的乱七八糟,但是有时候敲几个tab还是挺烦人的,那么,可不可以配置Emacs,让我们可以用快捷键自动格式化代码呢?
当然可以
Astyle,并且已经将可执行文件所在目录加入到坏境变量中,以便Emacs调用
Astyle是一个开源程序。可以使用
并且Atyle还有很多可选项,包括但不限于
准备工作
Astyle介绍
原理
代码实现
代码解释
声明
前言
众所周知,emacs十分自由,可以添加很多的配置。作为程序员,想必都不会想让自己的代码缩进的乱七八糟,但是有时候敲几个tab还是挺烦人的,那么,可不可以配置Emacs,让我们可以用快捷键自动格式化代码呢?
当然可以
准备工作
Emacs,版本高于22.0Astyle,并且已经将可执行文件所在目录加入到坏境变量中,以便Emacs调用
Astyle介绍
Emacs本身的代码缩进功能不是很理想,我们就借助第三方的Astyle来格式化代码。Astyle是一个开源程序。可以使用
astyle <file name>来格式化代码。
并且Atyle还有很多可选项,包括但不限于
--style=<java,google,etc>,具体帮助选项使用
astyle -h查看
原理
使用Lisp函数获取当前正在编辑的文件的名称。调用Astyle格式化代码。代码实现
(let ((style "google")) (setq format-command (format "astyle --style=%s" style))) (global-auto-revert-mode t) (defun format-code () "Format current buffer" (interactive) (let ((file (buffer-file-name))) (save-excursion (shell-command-to-string (format "%s %s" format-command file)) (message "Code formatted")))) (global-set-key "\C-f" 'format-code) (provide 'init-astyle)
代码解释
format-command包括Astyle的选项。
(global-auto-revert-mode t)模式可以令Emacs在磁盘文件改变之后自动更新缓存区,不然还会询问你要不要修改,比较麻烦。
format-code是格式化函数,
(interactive)选项是为了使函数可以绑定到按键上,
(buffer-file-name)返回当前缓存区所编辑文件的文件名,
shell-command-to-string函数可以运行shell指令。
(global-set-key)用于绑定按键。
声明
不反对引用转载,但请注明出处。代码可以拷贝到自己的emacs配置中去。相关文章推荐
- eclipse中使用快捷键ctrl+shift+F无法格式化代码的问题解决方法
- VS代码生成工具ReSharper使用手册:配置快捷键
- Sublime 格式化代码 快捷键以及插件使用
- sublime 格式化代码插件安装与快捷键配置
- VS Code使用之Vue工程配置format代码格式化
- 如何在VS2017中使用快捷键格式化代码?
- Sublime 格式化代码 快捷键以及插件使用
- VS代码生成工具ReSharper使用手册:配置快捷键(转)
- Sublime 格式化代码 快捷键以及插件使用
- 关于Eclipse和IDEA使用快捷键格式化代码不起作用问题解决
- 关于myeclipse无法使用ctrl+shift+f快捷键格式化代码的问题
- Eclipse 的格式化代码快捷键无效问题的解决办法(使用搜狗输入法的时候)
- VS代码生成工具ReSharper使用手册:配置快捷键
- Sublime 格式化代码 快捷键以及插件使用
- WPF中,使用快捷键格式化XAML代码
- 黑马程序员_工具使用02_Xcode的快捷键及代码格式化
- 代码规范格式化快捷键
- ASP.NET 常用编辑器(VS2008 / Aptana)中格式化/注释代码的快捷键
- 使用astyle格式化代码
- VS有没有什么快捷键能够快速格式化代码,使好看,整齐