
最近开始在 Linux 下写一些小程序,代码格式化用的是 clang-format ,但必须手动选择区域然后格式化,用起来总有点不爽,自己加空格又太麻烦。
所以想问一下,怎么才能像 visual studio 一样,在输完分号 ; 或者右括号 ) 后自动的格式化当前行的代码。
1 araraloren Nov 22, 2016 ~~可能需要一些配置吧,个人不是很清楚,我觉得 emacs 比较好用~~ 当然,图形界面还是用 qtcreator |
2 skydiver Nov 22, 2016 via Android 可以设置保存时自动格式化 |
3 RicardoM OP @araraloren 现在主要是在刷一些算法和数据结构方面的题,感觉 Vim 刚好够用,所以想把 Vim 配置的顺手一点。至于 emacs 暂时不敢开坑了。 |
5 phoneli Nov 22, 2016 我会写。有时间可以交流一下。哈哈 |
7 RicardoM OP @skydiver 我也觉得自己有点强迫症,但是 windows 下 visual studio 用多了, vim 不能自动格式化当前行,心里总有点不爽。 |
9 yangtukun1412 Nov 22, 2016 简单试了下: inoremap ; ;<ESC>Vgq==A |
10 RicardoM OP @skydiver 代码格式基本没问题,就是表达式中变量、数值和函数之间的空格,自己手动加的话,少的还行,多的就不太方便了 |
13 iCyMind Nov 22, 2016 via Android 什么叫格式化当前语句?写的时候难道不是自动缩进吗 |
14 RicardoM OP @iCyMind 缩进是自动的,我的意思是:假如当前行是 `int i=0` ,我输完分号后变为 `int i = 0;` |
17 phoneli Nov 22, 2016 @RicardoM 准确来说,插件其实就是一段代码。代码里面可以用 imap ,也可以不用的。我记得, vim 好像有一个监听事件的。输入回车,触发一个函数的。:) |
18 chemzqm Nov 22, 2016 :h gq :h equalprg |
19 newtype0092 Nov 22, 2016 我觉得中间的空格手动加。我一直这么写,没觉得不方便,因为空格这东西一天两天你还要想,时间长了完全就是本能了,你想想你用中文输入的时候是不是要刻意记得按空格选词。 而且你这么配置好,习惯了以后,不管是换编辑器、换 IDE 还是换语言,都会增加障碍。 |
20 ruoxuanfeng Nov 22, 2016 最近在尝试 astyle ,有 vim 插件,支持自动格式化, lz 可以试试 |
21 skywind3000 Nov 23, 2016 现在的同学们写点代码依赖自动化到这种地步了么?以前 DOS 下敲代码时,有个 autoindent 就算不错了。 |
22 RicardoM OP @skywind3000 被 visual studio 惯坏了 |
23 xiaohanqing Dec 19, 2016 via Android :help cinkeys |