Vim format for c/cpp manual

可用功能

  • 去掉多余空格
  • 在花括号两边加空格
  • = ^ |两边加空格
  • 在形如+= *=两边加空格

使用

① 点击下载tysformatter.vim
② 在你的$VIMRUNTIME/indent/目录下的c和cpp.vim中添加source path(path为刚才下载的tysextend.vim的存放路径)
③ 打开C或者C++文件按F2即可完成格式化,如果不喜欢F2或者被其他占用,可以tysformatter.vim的最后那个映射修改成你想要的
④ 格式化完成是会提示Format Over,你可以在tysformatter.vim中找到这字符串进行修改或者把那行删掉(不提示)
⑤ 建议用这格式化后再加一个gg=G命令缩进,因为我没加缩进,必要性不大

我的粗暴实现

需要在旁边添加空格的符号被我分成了四类:

1, 需要在左边加空格如{
2, 需要在右边加空格如; }
3, 需要在两边加空格的单个符号如^ | =
4, 需要在两边加空格的两个符号如>> << == +=

遍历文件每一行,对一行单独处理,取出那行为text,修改过程中也是对text修改,先是去掉多余空格,然后需要右边加的加上,左边的两边的依次加上。如果这行有修改,就把修改过后的text,set回去

TODO

部分符号如+,-,>,<等没有处理,比较复杂,在后续心(灵)血(感)来(涌)潮(现)的时候一个个补上
{,else等按设置处理是否新行

留言

2016-09-21