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