我有一个文件read.html
,每次我将某些东西(例如从网页上)粘贴到文件中时,我希望原始的html格式也会与纯文本一起粘贴。这是一个可以实现目标的vim命令,
set cb^=html
但是当我将某些东西粘贴到其他文件中时,我不想附加html格式,因此每次我只想要纯文本时,我都必须执行此命令,
set cb-=html
这可能非常不方便,因为我必须时不时地执行这两个命令。那么有一种方法可以在当前文件为read.html
时粘贴html格式和纯文本,并且只在当前文件不是read.html
时粘贴纯文本吗?
答案 0 :(得分:1)
您可能想要使用setlocal:
setlocal cb^=html
http://vimdoc.sourceforge.net/htmldoc/options.html#:setlocal
喜欢":设置"但只设置本地值 当前缓冲区或窗口。并非所有选项都有 本地价值。如果该选项没有本地选项 值设置全局值。 随着"所有"参数:显示所有的本地值 当地的选择。
答案 1 :(得分:1)
您可以使用BufEnter
自动命令。
autocmd BufEnter * if (&ft ==# 'html') | set cb^=html | else | set cb-=html | endif
答案 2 :(得分:0)
可能最简单的方法是创建一个切换html
选项的映射。
nnoremap <key> set <C-R>=(&clipboard =~# "html") ? 'clipboard-=html' : 'clipboard+=html'<CR><CR>
答案 3 :(得分:0)
最后我决定使用地图
nnoremap html :set cb^=html<CR>"+p:set cb-=html<CR>
所以每次我想粘贴html时,我只需要输入html
,它也不会影响其他文件。