怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

Vim、Emacs配置和使用
回复
头像
GiL
帖子: 690
注册时间: 2006-11-15 14:30
来自: 海滨小城

怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#1

帖子 GiL » 2010-04-03 11:20

rt
头像
vfantasie
帖子: 9
注册时间: 2010-03-27 21:20

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#2

帖子 vfantasie » 2010-04-03 11:26

:em04 貌似木有办法,或者我不知道

建议复制粘贴剪切啥的,都用系统的剪贴板,参考:

" Cut
vnoremap <C-X> "+x
vnoremap <BS> s

" Copy, use CTRL-Break to cancel an operation
vnoremap <C-C> "+y
inoremap <C-C> <Nop>

" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q> <C-V>

" Paste, use CTRL-V
nnoremap <C-V> "+p
vnoremap <C-V> "+p
nnoremap ,<C-V> "+P
" Use Paste() to toggle 'paste' option, or the indent of the paste content
" will be a mess.
inoremap <C-V> <C-O>:call Paste("beforePaste")<CR>
\<C-R>+<C-O>:call Paste("afterPaste")<CR>
cnoremap <C-V> <C-R>+

" Indent last pasted contents
nnoremap <F9> '[v']=']
inoremap <F9> <ESC>'[v']=']a

" Select all
noremap <C-A> ggVG
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

" Undo && Redo
noremap <C-Z> u
inoremap <C-Z> <C-O>u
noremap <C-Y> <C-R>
inoremap <C-Y> <C-O><C-R>

" Toggle paste options, make insert mode paste(Ctrl-V) behaves correctly.
function! Paste(mode)
if a:mode == "beforePaste"
let b:pasteOpt = &paste
set paste
elseif a:mode == "afterPaste"
if !exists("b:pasteOpt")
return
endif
let &paste = b:pasteOpt
unlet b:pasteOpt
endif
endfunction
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#3

帖子 adagio » 2010-04-03 16:12

为啥?碍眼?
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

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

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#4

帖子 adam8157 » 2010-04-03 16:36

估计是yank后, 被覆盖了...

你可以选择寄存器来yank...
头像
GiL
帖子: 690
注册时间: 2006-11-15 14:30
来自: 海滨小城

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#5

帖子 GiL » 2010-04-03 17:19

对, 不光yank, 而且从外部copy来的东西都覆盖了, 相当的不习惯.... :em06
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
联系:

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#6

帖子 adam8157 » 2010-04-03 17:45

你肯定跟2楼似的 直接用系统剪贴板了...

别那样, 另外yank后不直接paste的话记得指定别的寄存器
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#7

帖子 风间星魂 » 2010-04-04 0:56

vim可以有很多剪切板,。。。。

你肯定是从哪里抄来的配置直接默认使用系统剪切板了
头像
vfantasie
帖子: 9
注册时间: 2010-03-27 21:20

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#8

帖子 vfantasie » 2010-04-04 6:04

:em06
晕,看来我读错题意了,不过好多人都把VIM的寄存器叫剪贴板的
d c x也跑到系统剪贴板,真是闻所未闻……

检查一下VIMRC吧……删掉该删的东西

我的配置是模仿win的快捷键,用到的是系统剪贴板,习惯了Win下快捷键的朋友可以试试
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#9

帖子 风间星魂 » 2010-04-05 12:41

1. 无名寄存器 ""
2. 10 个编号寄存器 "0 到 "9
3. 行内删除寄存器 "-
4. 26 个命名的寄存器 "a 到 "z 或者 "A 到 "Z
5. 四个只读寄存器 ":、".、"% 和 "#
6. 表达式寄存器 "=
7. 选择和拖放寄存器 "*、"+ 和 "~
8. 黑洞寄存器寄存器 "_
9. 最近搜索模式寄存器 "/

把x d c 默认寄存器设置成为黑洞寄存器就行了 :em20
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 怎么让vim 的 d c x 操作后, 不把删除内容放到剪贴板里???

#10

帖子 lilydjwg » 2010-04-05 17:12

代码: 全选

:h 'clipboard'
回复