我在 vim 中编写了一个函数以“粘贴”模式插入文本。如果我离开插入模式,脚本也会离开粘贴模式(设置 nopaste)。因此我使用了自动命令 InsertLeave。
问题是,“set paste”命令仅在我第一次调用该函数时才有效。如果我想再次调用它,我必须重新启动 vim。
这是 vim 函数:
function Paste_from_clipboard()
execute "normal! :set paste\<CR>\<Esc>o"
execute "startinsert"
autocmd InsertLeave * execute "normal! :set nopaste\<CR>"
endfunction
map <Leader>p :call Paste_from_clipboard()<CR>
我做错了什么?