[讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

Vim、Emacs配置和使用
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

[讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#1

帖子 adagio » 2010-01-24 17:06

代码: 全选

"在插入模式中使用Ctrl+v粘贴全局剪贴板内容
inoremap <C-v> <esc>:set paste<cr>mui<C-R>+<esc>mv'uV'v=:set nopaste<cr>

"在Visual模式中使用Ctrl+c复制内容到全局剪贴板
vnoremap <C-c> "+y

"在Visual模式中使用Ctrl+x剪切内容到全局剪贴板
vnoremap <C-x> "+x
用vi以来最感觉不爽的就是对系统剪贴板的使用了
众所周知,Ctrl+C、Ctrl+X、Ctrl+V这三个按键,明明在windows和linux里都是通用的粘贴、剪切、复制操作,而且都是针对全局剪贴板的,可是vi偏不这样
当然vi有自己的道理,如果强行用 map <C-V> "+gP方式,倒是达到了目的,但这样的话,超好用的块选择模式就没了,那vi就将局部退化成了gedit之类的玩意
强行改变Ctrl+C、Ctrl+X的影射,也有类似问题,这样的话要vi何用?直接用gedit或者kate算了

但我用了那么久的电脑,这个下意识的按键习惯怎能说改就改?
所以在vi里经常杯具……

这下好了,总算找到一个老外的设置,基本解决了我的问题,原因如下:
Ctrl+V在插入模式里是用来输入十、八、十六进制值数字的,对我没用,干脆影射到全局剪贴板的粘贴,使用后感觉不错

然后自己再扩展一下
Ctrl+X、Ctrl+C两个按键在visual模式里根本没用(Ctrl+C在visual模式里效果等同于Esc),干脆分别影射到全局剪贴板的剪切和复制

这样在插入模式里我可以用Ctrl+V粘贴全局剪贴板内容
在visual模式里我可以用Ctrl+X--->剪切选定内容到全局剪贴板Ctrl+C--->复制选定内容到全局剪贴板
同时又达到最小限度的影响vi原有按键功能的目的,挖哈哈哈~~~~~

大家说说这样好不好?有没有什么缺陷?

或者你有更好的办法请跟帖说明 :em11
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
联系:

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#2

帖子 adam8157 » 2010-01-24 17:10

不是有个win下gvim自带的mswin.vim的插件么? :em11
头像
黄美姬
帖子: 8428
注册时间: 2009-10-08 11:15
来自: 大城市铁岭

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#3

帖子 黄美姬 » 2010-01-24 17:17

同学们说好不好?----------常听胡锦涛在电视上如此 :em04
我们是命运的妓女,它把我们都嫖了

N卡驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
极品飞车:http://www.geforce.cn/optimize/optimal- ... ts-450-ops
孤岛危机优化设置:http://www.geforce.cn/optimize/optimal- ... tx-450-ops
:cp /etc/skel/.bashrc ~/
PS1="\[\e]2;\u@\H \w\a\e[32;1m\]\T$\[\e[0m\] "
http://cdimage.ubuntu.com/
http://releases.ubuntu.com/
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#4

帖子 adagio » 2010-01-24 17:31

adaml 写了:不是有个win下gvim自带的mswin.vim的插件么? :em11
我说的是在linux用vi

你说的mswin.vim,在官网没有找到啊
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#5

帖子 风间星魂 » 2010-01-24 17:48

代码: 全选

Esc::CapsLock
CapsLock:: Esc
win下用autokey互换了esc和大小写锁定,在linux直接gnome设置互换。这下vim爽多了。
ctrl+c也可以空出来了 :em09
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#6

帖子 adagio » 2010-01-24 17:53

ls这个啥名堂?没看懂
互换了有啥好处?
:shock:
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
haichang417
帖子: 243
注册时间: 2009-05-03 15:00
来自: 西伺胡同
联系:

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#7

帖子 haichang417 » 2010-01-24 17:56

在选中文字的时候就已经复制了,找个地方按鼠标中键就粘贴了啊。
编程就像编筐一样
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#8

帖子 风间星魂 » 2010-01-24 17:58

adagio 写了:ls这个啥名堂?没看懂
互换了有啥好处?
:shock:
左手小指头就可以按"esc"了 :)
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#9

帖子 adagio » 2010-01-24 18:25

haichang417 写了:在选中文字的时候就已经复制了,找个地方按鼠标中键就粘贴了啊。
对于gvim
如果你设置了mouse=a,用中键粘贴你就必须先定位鼠标指针;除非你禁用鼠标,这不是你想要的效果吧?

另外,中键粘贴的东西,可不是CTRL+C的咚咚 :em04

再说了,在控制台下用vim你咋整?
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#10

帖子 adagio » 2010-01-24 18:26

风间星魂 写了:
adagio 写了:ls这个啥名堂?没看懂
互换了有啥好处?
:shock:
左手小指头就可以按"esc"了 :)
:em20
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#11

帖子 leeaman » 2010-01-24 18:27

支持一个,我用vi还没有复制粘贴过,gvim除外 :em05
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
onelynx
帖子: 817
注册时间: 2008-11-13 16:03

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#12

帖子 onelynx » 2010-01-24 19:35

adagio 写了:

代码: 全选

"在插入模式中使用Ctrl+v粘贴全局剪贴板内容
inoremap <C-v> <esc>:set paste<cr>mui<C-R>+<esc>mv'uV'v=:set nopaste<cr>

"在Visual模式中使用Ctrl+c复制内容到全局剪贴板
vnoremap <C-c> "+y

"在Visual模式中使用Ctrl+x剪切内容到全局剪贴板
vnoremap <C-x> "+x
用vi以来最感觉不爽的就是对系统剪贴板的使用了
众所周知,Ctrl+C、Ctrl+X、Ctrl+V这三个按键,明明在windows和linux里都是通用的粘贴、剪切、复制操作,而且都是针对全局剪贴板的,可是vi偏不这样
当然vi有自己的道理,如果强行用 map <C-V> "+gP方式,倒是达到了目的,但这样的话,超好用的块选择模式就没了,那vi就将局部退化成了gedit之类的玩意
强行改变Ctrl+C、Ctrl+X的影射,也有类似问题,这样的话要vi何用?直接用gedit或者kate算了

但我用了那么久的电脑,这个下意识的按键习惯怎能说改就改?
所以在vi里经常杯具……

这下好了,总算找到一个老外的设置,基本解决了我的问题,原因如下:
Ctrl+V在插入模式里是用来输入十、八、十六进制值数字的,对我没用,干脆影射到全局剪贴板的粘贴,使用后感觉不错

然后自己再扩展一下
Ctrl+X、Ctrl+C两个按键在visual模式里根本没用(Ctrl+C在visual模式里效果等同于Esc),干脆分别影射到全局剪贴板的剪切和复制

这样在插入模式里我可以用Ctrl+V粘贴全局剪贴板内容
在visual模式里我可以用Ctrl+X--->剪切选定内容到全局剪贴板Ctrl+C--->复制选定内容到全局剪贴板
同时又达到最小限度的影响vi原有按键功能的目的,挖哈哈哈~~~~~

大家说说这样好不好?有没有什么缺陷?

或者你有更好的办法请跟帖说明 :em11
缺陷很明显,C-V 不行,C-V 是进入块编辑模式
头像
haichang417
帖子: 243
注册时间: 2009-05-03 15:00
来自: 西伺胡同
联系:

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#13

帖子 haichang417 » 2010-01-24 19:39

哦,我试了一下,的确不是Ctrl + C的内容,是最近选择的内容。
我没用过gvim。vim还是很强大的,控制台下也有复制的命令,并且可以存到a-z的寄存器中,这样可以实现分段复制,还能实现多文本的编辑。不过这需要多多练习才能用到如火纯情。
编程就像编筐一样
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#14

帖子 adagio » 2010-01-25 13:01

fzq5012 写了:缺陷很明显,C-V 不行,C-V 是进入块编辑模式
你这人,没仔细看帖喔
我的C-V粘贴是在插入模式才起作用啊,在normal模式一样是块编辑,根本不会冲突
同理,C-C和C-X也是只有在visual模式才起作用
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
onelynx
帖子: 817
注册时间: 2008-11-13 16:03

Re: [讨论]在vim中合理的使用Ctrl+C、Ctrl+X、Ctrl+V操作系统(全局)剪贴板

#15

帖子 onelynx » 2010-01-25 13:58

adagio 写了:
fzq5012 写了:缺陷很明显,C-V 不行,C-V 是进入块编辑模式
你这人,没仔细看帖喔
我的C-V粘贴是在插入模式才起作用啊,在normal模式一样是块编辑,根本不会冲突
同理,C-C和C-X也是只有在visual模式才起作用
我承认一开始没看清,但是还是认为C-v的设置不好,用默认的S-insert不是更好?
回复