vim特殊替换

Vim、Emacs配置和使用
回复
wangjun403
帖子: 433
注册时间: 2009-07-06 14:26

vim特殊替换

#1

帖子 wangjun403 » 2012-10-21 11:12

vim替换的时候,可以一次指定一些特定行吗?
比如一次指定1,3,5,7这四行
生命只不过是上帝借你一用的资本!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim特殊替换

#2

帖子 lilydjwg » 2012-10-21 11:52

Vim 的行范围不支持离散的行指定。
Vim 的正则支持指定特定的行,见:h \%l
Vim 的替换无法直接完成你的要求。鉴于你举的例子是等差数列,可以使用宏配合逐行替换。
wangjun403
帖子: 433
注册时间: 2009-07-06 14:26

Re: vim特殊替换

#3

帖子 wangjun403 » 2012-10-21 12:32

如果还不是等差数列,就没有办法了?

我想找出文件里有“xxx”的行,然后写个函数用Align插件一起对齐
生命只不过是上帝借你一用的资本!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim特殊替换

#4

帖子 lilydjwg » 2012-10-21 12:53

wangjun403 写了:如果还不是等差数列,就没有办法了?

我想找出文件里有“xxx”的行,然后写个函数用Align插件一起对齐
Align 不是有 g 过滤吗?:h alignctrl-g
wangjun403
帖子: 433
注册时间: 2009-07-06 14:26

Re: vim特殊替换

#5

帖子 wangjun403 » 2012-10-21 14:35

good
这都被你发现了

看英语还是没有什么耐心啊
生命只不过是上帝借你一用的资本!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim特殊替换

#6

帖子 lilydjwg » 2012-10-21 15:44

wangjun403 写了:good
这都被你发现了

看英语还是没有什么耐心啊
align 的文档我读过好几遍的。太强大了,以至于我得要么用已自定义好的格式,要么现查现用……
wangjun403
帖子: 433
注册时间: 2009-07-06 14:26

Re: vim特殊替换

#7

帖子 wangjun403 » 2012-10-21 16:51

这两个图
对齐后,缩进也被改变了

Align有办法不改变缩进,对齐吗?
附件
对齐后
对齐后
未对齐前
未对齐前
生命只不过是上帝借你一用的资本!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim特殊替换

#8

帖子 lilydjwg » 2012-10-21 16:56

wangjun403 写了:这两个图
对齐后,缩进也被改变了

Align有办法不改变缩进,对齐吗?

代码: 全选

:h alignctrl-W
wangjun403
帖子: 433
注册时间: 2009-07-06 14:26

Re: vim特殊替换

#9

帖子 wangjun403 » 2012-11-06 9:35

lilydjwg:

代码: 全选

( CLK                           ),
( RSTn                          ),
( RX                            ),
( TX                            ),
( RecFinish                     ),
( RecDataImg                    ),
( SendReq                       ),
( SendFinish                    ),
( InDataForSend                 ) 
使用Align可以让括号里的单词居中吗?当然两边也是对齐的
生命只不过是上帝借你一用的资本!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim特殊替换

#10

帖子 lilydjwg » 2012-11-10 19:21

wangjun403 写了:lilydjwg:

代码: 全选

( CLK                           ),
( RSTn                          ),
( RX                            ),
( TX                            ),
( RecFinish                     ),
( RecDataImg                    ),
( SendReq                       ),
( SendFinish                    ),
( InDataForSend                 ) 
使用Align可以让括号里的单词居中吗?当然两边也是对齐的
必然可以。

代码: 全选

:h alignctrl-c
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: vim特殊替换

#11

帖子 eexpress » 2012-11-10 19:31

格式化源代码?这应该是外部软件的事情。
● 鸣学
回复