vim中2行文本互换怎么做?

Vim、Emacs配置和使用
回复
头像
www1862
帖子: 781
注册时间: 2006-05-12 0:52
来自: Chongqing China
联系:

vim中2行文本互换怎么做?

#1

帖子 www1862 » 2009-07-06 16:18

如题,vim中2行文本互换怎么做?
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

Re: vim中2行文本互换怎么做?

#2

帖子 iblicf » 2009-07-06 16:41

dd p
头像
www1862
帖子: 781
注册时间: 2006-05-12 0:52
来自: Chongqing China
联系:

Re: vim中2行文本互换怎么做?

#3

帖子 www1862 » 2009-07-06 21:57

iblicf 写了:dd p
不能吧?
我是说有没有命令直接实现。比如先在某行打个标记,再到某行打个标记,最后1个命令就交换。
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: vim中2行文本互换怎么做?

#4

帖子 sarrow » 2009-07-06 22:21

move +1 下移一行
move -1 上移一行
move 1 移动到行1
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

Re: vim中2行文本互换怎么做?

#5

帖子 hjjdebug » 2009-07-09 12:42

www1862 写了: 我是说有没有命令直接实现。比如先在某行打个标记,再到某行打个标记,最后1个命令就交换。
好像没有,除非自己写script 命令。
否则只能用命令序列,用寄存器拷贝,粘贴吧。
头像
HuaChong
帖子: 493
注册时间: 2006-09-12 17:10

Re: vim中2行文本互换怎么做?

#6

帖子 HuaChong » 2009-07-10 7:17

难道你觉得dd p都烦了,那你可以自己map阿,
map <F3> ddp
这样一个键就搞定,lz够挑剔
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

Re: vim中2行文本互换怎么做?

#7

帖子 hjjdebug » 2009-07-10 8:53

lz 显然不是想交换相邻的两行,而是想交换不相邻的,例如由mark a, mark b标记的两行内容。
我也给一个map 吧, 假如你的要交换的内容用mark a, mark b 已经标记好
map <F3> 'addma'bpkdd'aP :em02

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

Re: vim中2行文本互换怎么做?

#8

帖子 eexpress » 2009-07-10 8:56

这样的事情,不可能通用的。只能自己写函数。

强制使用mark,也会冲掉其他信息的。
● 鸣学
回复