分页: 1 / 3

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

发表于 : 2010-01-24 17:06
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

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

发表于 : 2010-01-24 17:10
adam8157
不是有个win下gvim自带的mswin.vim的插件么? :em11

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

发表于 : 2010-01-24 17:17
黄美姬
同学们说好不好?----------常听胡锦涛在电视上如此 :em04

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

发表于 : 2010-01-24 17:31
adagio
adaml 写了:不是有个win下gvim自带的mswin.vim的插件么? :em11
我说的是在linux用vi

你说的mswin.vim,在官网没有找到啊

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

发表于 : 2010-01-24 17:48
风间星魂

代码: 全选

Esc::CapsLock
CapsLock:: Esc
win下用autokey互换了esc和大小写锁定,在linux直接gnome设置互换。这下vim爽多了。
ctrl+c也可以空出来了 :em09

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

发表于 : 2010-01-24 17:53
adagio
ls这个啥名堂?没看懂
互换了有啥好处?
:shock:

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

发表于 : 2010-01-24 17:56
haichang417
在选中文字的时候就已经复制了,找个地方按鼠标中键就粘贴了啊。

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

发表于 : 2010-01-24 17:58
风间星魂
adagio 写了:ls这个啥名堂?没看懂
互换了有啥好处?
:shock:
左手小指头就可以按"esc"了 :)

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

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

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

再说了,在控制台下用vim你咋整?

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

发表于 : 2010-01-24 18:26
adagio
风间星魂 写了:
adagio 写了:ls这个啥名堂?没看懂
互换了有啥好处?
:shock:
左手小指头就可以按"esc"了 :)
:em20

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

发表于 : 2010-01-24 18:27
leeaman
支持一个,我用vi还没有复制粘贴过,gvim除外 :em05

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

发表于 : 2010-01-24 19:35
onelynx
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 是进入块编辑模式

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

发表于 : 2010-01-24 19:39
haichang417
哦,我试了一下,的确不是Ctrl + C的内容,是最近选择的内容。
我没用过gvim。vim还是很强大的,控制台下也有复制的命令,并且可以存到a-z的寄存器中,这样可以实现分段复制,还能实现多文本的编辑。不过这需要多多练习才能用到如火纯情。

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

发表于 : 2010-01-25 13:01
adagio
fzq5012 写了:缺陷很明显,C-V 不行,C-V 是进入块编辑模式
你这人,没仔细看帖喔
我的C-V粘贴是在插入模式才起作用啊,在normal模式一样是块编辑,根本不会冲突
同理,C-C和C-X也是只有在visual模式才起作用

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

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