分页: 1 / 1

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

发表于 : 2010-04-03 11:20
GiL
rt

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

发表于 : 2010-04-03 11:26
vfantasie
: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

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

发表于 : 2010-04-03 16:12
adagio
为啥?碍眼?

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

发表于 : 2010-04-03 16:36
adam8157
估计是yank后, 被覆盖了...

你可以选择寄存器来yank...

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

发表于 : 2010-04-03 17:19
GiL
对, 不光yank, 而且从外部copy来的东西都覆盖了, 相当的不习惯.... :em06

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

发表于 : 2010-04-03 17:45
adam8157
你肯定跟2楼似的 直接用系统剪贴板了...

别那样, 另外yank后不直接paste的话记得指定别的寄存器

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

发表于 : 2010-04-04 0:56
风间星魂
vim可以有很多剪切板,。。。。

你肯定是从哪里抄来的配置直接默认使用系统剪切板了

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

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

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

我的配置是模仿win的快捷键,用到的是系统剪贴板,习惯了Win下快捷键的朋友可以试试

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

发表于 : 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

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

发表于 : 2010-04-05 17:12
lilydjwg

代码: 全选

:h 'clipboard'