vim格式化C++代码 gg=G无效

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
heefan
帖子: 19
注册时间: 2010-06-09 12:29

vim格式化C++代码 gg=G无效

#1

帖子 heefan » 2010-10-11 17:58

google了N多网页关于VIM格式化C++代码,统一说是gg=G
为毛我也gg=G却说 Not an Editor Command?

赐教
:em20
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
联系:

Re: vim格式化C++代码 gg=G无效

#2

帖子 adam8157 » 2010-10-11 18:12

你是vi 还是vim?

默认的vim是vim-tiny, 很多功能没有
heefan
帖子: 19
注册时间: 2010-06-09 12:29

Re: vim格式化C++代码 gg=G无效

#3

帖子 heefan » 2010-10-11 18:35

应该就是纯正的VIM吧

代码: 全选

$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr 16 2010 12:47:47)
Included patches: 1-330
Compiled by buildd@
JiangHui
论坛版主
帖子: 21308
注册时间: 2007-08-02 20:29
系统: 窓辺とうこ

Re: vim格式化C++代码 gg=G无效

#4

帖子 JiangHui » 2010-10-11 18:40

你是怎么输的?
Not an Editor Command 这种提示应该是冒号后面输命令才有的
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
联系:

Re: vim格式化C++代码 gg=G无效

#5

帖子 adam8157 » 2010-10-11 18:46

当成命令了啊 - -!
heefan
帖子: 19
注册时间: 2010-06-09 12:29

Re: vim格式化C++代码 gg=G无效

#6

帖子 heefan » 2010-10-11 20:04

の。。。我错了,当成命令了~~~

对了,如果格式化城 GNU风格的代码啊? 就像eclipse里边有几种风格代码一样。
这种格式化似乎只是格式化一下缩进(indent)~
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
联系:

Re: vim格式化C++代码 gg=G无效

#7

帖子 adam8157 » 2010-10-11 20:39

heefan 写了:の。。。我错了,当成命令了~~~

对了,如果格式化城 GNU风格的代码啊? 就像eclipse里边有几种风格代码一样。
这种格式化似乎只是格式化一下缩进(indent)~
:set equalprg=indent

意思是用indent程序处理等号命令, indent默认是gnu风格.

我建议不要改, 代码风格应该自己主动养成, =适用于修改代码或者粘贴别处代码后整理缩进.

另外, gg是文件首, G是文件尾, 所以gg=G是整理全部代码. 可以==整理当行, 加行数整理多行, 可以={或者=i{整理一个代码块.

这里又体现出不用indent的好处了, 如果用indent, 单纯格式化代码块会丢统一的行首缩进, 而且选中的如果不是内部完整的代码块, 会出错, 把出错的输出贴到了代码里....弊端很多
头像
Fermat618
帖子: 728
注册时间: 2008-12-28 16:01

Re: vim格式化C++代码 gg=G无效

#8

帖子 Fermat618 » 2010-12-03 16:07

直接 indent 文件名 不就好了。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
回复