分页: 1 / 1

vim中如何全选

发表于 : 2006-08-18 16:45
Zn
由于编辑的东西比较长,所以占了好几屏,想把所有编辑的东西全选,然后复制到别的地方去,该怎么做呢,谢谢!

发表于 : 2006-08-18 18:04
roylez
gg 跳到首行
v visual模式
G 跳到末行(除了最后一行没有全部选中之外,其他的内容应该都选中了)
$ 跳到行末 或 j 再下一行
y 复制

发表于 : 2006-08-18 18:24
lovepolo
ggyG
nkzealot 写了:gg 跳到首行
v visual模式
G 跳到末行(除了最后一行没有全部选中之外,其他的内容应该都选中了)
$ 跳到行末 或 j 再下一行
y 复制

发表于 : 2006-08-18 19:17
windforest
应该是
ggVG
gvim编辑菜单里写得很清楚了

发表于 : 2006-08-18 19:55
roylez
[quote="lovepolo"]ggyG

这个好

发表于 : 2006-08-20 9:29
Zn
但是还是不能复制到别的地方,比如firefox,有什么好的解决办法?

发表于 : 2006-08-20 11:30
karron
要复制到别的地方,用 "+y 来复制,注意是三个字符。

发表于 : 2006-08-20 11:55
Strange
gg"+yG

p.s.再次推荐source mswin.vim,之后只要ctrl-a就可以全选了

发表于 : 2006-08-20 12:55
lovepolo
gg"+yG
Zn 写了:但是还是不能复制到别的地方,比如firefox,有什么好的解决办法?

发表于 : 2006-09-06 10:58
ulixer
可以用鼠标复制

发表于 : 2006-09-10 3:21
charlee
Strange 写了:gg"+yG
p.s.再次推荐source mswin.vim,之后只要ctrl-a就可以全选了
说句题外话。是否source mswin.vim还是要看个人习惯吧。
其实 vim中的 Ctrl-A 是个很强大的功能,它的作用是将光标下方的数字增加1
相反,Ctrl-X的作用是减少1。

Ctrl-A的用处之一就是用来生成序列。
比如从第一行写 1,第二行写2,以后每一行增加一,要做这样一个序列用 Ctrl-A 很简单
首先在第一行输入数字1,退出编辑模式( a1<ESC> )
然后 qq 开始录制宏,yyp 复制一行, Ctrl-A 增1,q 停止录制
再 1000@q 将宏播放 1000 次,即可生成一个序列。

如果 source mswin.vim 的话上面的功能就没有了。

仅供参考。

发表于 : 2006-09-11 23:47
poet
通常我推荐 ggVG

Re:

发表于 : 2010-01-06 16:11
lyzoridc
map <C-A> ggVG <S-end> 因为处于visual模式下所以要删除只能按DEL,不能使用backspace

Re:

发表于 : 2010-01-07 21:28
AuirEx
Strange 写了:gg"+yG

p.s.再次推荐source mswin.vim,之后只要ctrl-a就可以全选了

source mswin.vim也是有代价的。 :em06

Re: vim中如何全选

发表于 : 2010-01-13 22:49
HuaChong
也可以用ed命令

代码: 全选

:%t
来复制全部