请问 vi 编辑器中如何将内容全选并复制到外部呢?

2015-01-09 21:29:05 +08:00
 aruisi
少量内容可以用鼠标直接选中粘贴到notepad+等软件中,但如果是数万行内容该如何复制到外部呢?网上看了下好多都说要同时按"+y可我笔记本键盘,没法同时按"+y啊怎么办?
29950 次点击
所在节点    Vim
22 条回复
nicai000
2015-01-09 21:31:21 +08:00
按键序列, 不是同时...
ooxxcc
2015-01-09 21:31:35 +08:00
是按顺序按……
aruisi
2015-01-09 21:52:47 +08:00
@nicai000
@ooxxcc 按了,没复制过来啊,怎么办。按:reg查看我这剪切板里没有:+这个啊。只有
""
"0
":
:%
lusyoe
2015-01-09 21:54:20 +08:00
刚学vim,在vimtutor中看到可以这样,先到要开始复制的位置按v进入可视模式,在按G到文件末尾,或跳到你要复制结束的那一行,再按 : 出现:'<,'>符号,再按w 空格 你要保存的文件名 回车就可以了。。提取到另一个文件,可以在另一个文件要粘贴的位置,按 :r 空格 先前临时保存的文件名. 回车即可
vinceguo
2015-01-09 21:57:19 +08:00
文件这么大,为啥要去用vi打开然后复制粘贴呢?直接用sed或者awk处理一下,把要的行挑出来不是更好?楼主看来是刚用linux,就用sed举两个栗子吧
把ex11.py这个文件的第1行到第4行打印出来:sed -n '1, 4 p' ex11.py
同上面,要把结果存到文件holy.shit文件里:sed -n '1, 4 p' ex11.py > holy.shit

awk忘了,懒得去翻文档了(摊手)
RockiDog
2015-01-09 22:02:24 +08:00
我在 ~/.vimrc 中添加了这两行
vnoremap <C-c> "+y
nnoremap <C-v> "+p
然后就可以按v在visual模式下用光标选中内容 ctrl+c 复制到系统剪切版了。。。
粘贴也可以在normal下按 ctrl+v 完成
aszxqw
2015-01-09 22:05:38 +08:00
经典问题又粗现了。
2owe
2015-01-09 22:09:10 +08:00
win 程序员可真难养活啊,不能手动复制文本就想想非 GUI 解决办法呗。

服务器上作文本切割,将需要的文本传到本地,ftp、sz、scp,甚至 python -m SimpleHTTPServer

good luck
regex
2015-01-09 22:29:42 +08:00
set clipboard=unnamed

话说"+y真的不行吗?
Yancey
2015-01-09 22:35:46 +08:00
linux下。安装了gvim(vim-gnome)才会出现"+寄存器
Tink
2015-01-09 22:37:58 +08:00
首先楼主的操作有问题,其次可以试试v模式
jiang42
2015-01-09 22:51:00 +08:00
" yanks go on clipboard instead
set clipboard+=unnamed

正解
onemoo
2015-01-09 22:51:14 +08:00
首先执行 vim --version
在列出来的feature中 xterm_clipboard 前面得有 ‘+’ 加号,才具有这个功能。
或者使用gui版本的vim。

其次,就像上面几楼说的,还有很多办法可以完成这个操作。
caixiexin
2015-01-09 22:52:28 +08:00
好像要先安装gvim,
然后是选中后按顺序按这三个键 " + y 选中内容就到粘帖版了
我后来直接把这个组合键映射成ctrl+c了 。。
leeyiw
2015-01-10 00:41:13 +08:00
vim-gnome~~
binux
2015-01-10 00:53:12 +08:00
我觉得 LZ 说的 VI 根本就不在同一台机器上,比如 ssh 连接的一台服务器上的 vi
KentY
2015-01-10 01:46:02 +08:00
@RockiDog 那你需要ctrl-v时怎么办?还是说你从来不用c-v?
RockiDog
2015-01-10 10:13:23 +08:00
@KentY 映射成其他的 不过用的也很少
MarioLuisGarcia
2015-01-10 10:47:37 +08:00
@binux 这种时候应该文件传输啊。实在不行装个可全选的文本编辑器。用那个打开
anytk
2015-01-14 16:53:34 +08:00
是 vi 不是 vim 吗。。。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/160754

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX