LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 904|回复: 5

怎样用vim实现如下操作

[复制链接]
发表于 2006-9-2 00:37:34 | 显示全部楼层 |阅读模式
我有一批类似结构的函数实现,偷懒想先一起弄,如下

void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i){ID* up =p->ai.up; return AF[Idx].f;}

如果要在{前后和}前后加个回车,怎么办?请朋友指点
发表于 2006-9-2 01:11:57 | 显示全部楼层
vim手册里有
  1. :%s/\([{}]\)/\r\1\r/g
复制代码

不过我建议你装个astyle,对源码做一次格式化
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-2 11:02:39 | 显示全部楼层
Post by x11
vim手册里有
  1. :%s/\([{}]\)/\r\1\r/g
复制代码


不过我建议你装个astyle,对源码做一次格式化


谢谢x11,astyle能知道用户要在哪里换行吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-2 11:15:50 | 显示全部楼层
结果好像不对
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
void f(DOC *p,int idx,int i)
{
/gID* up =p->ai.up; return AF[Idx].f;}
回复 支持 反对

使用道具 举报

发表于 2006-9-2 17:21:55 | 显示全部楼层
可以的
你是不是输成这个去了
:%s/\([{]\)/\r\1\r\/g
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-2 19:20:24 | 显示全部楼层
Post by zlbruce
可以的
你是不是输成这个去了
:%s/\([{]\)/\r\1\r\/g


谢谢 zlbruce,用粘贴的就可以了,今天输了10多遍都不行,晕

奇怪为什么不是换行\n,而用\r
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表