我无法从外部剪贴板粘贴到Vim

时间:2019-06-16 08:56:39

标签: linux vim termux

我通过termux使用VIM并面对以下问题,我无法将外部剪贴板中的数据粘贴到VIM中。我通过以下命令

检查了我的vim安装支持是否从外部剪贴板粘贴
:echo has('clipboard')
#its return me 1 but when
# i trying to paste in vim
#via "+p or "*p or Ctrl V or Ctrl Shift V

它没有粘贴任何东西。我做错了。我是否可能无法粘贴Android剪贴板中的数据

2 个答案:

答案 0 :(得分:0)

我解决了我的问题。 termux中的Vim软件包在识别android剪贴板时出现问题。如果您遇到同样的问题,请执行以下操作。要通过vim访问android剪贴板,您应该安装Termux-api,该api允许访问比VIM内的某些android功能还要输入以下命令

:r !termux-clipboard-get 

只需输入

,即可在.vimrc文件中为其添加快捷键映射。
nnoremap <C-v> :r !termux-clipboard-get <CR>

现在我可以使用Ctrl V粘贴到Vim中 我将错误报告发送到termux github页面,表明标准短键“ * p无法正常工作

答案 1 :(得分:0)

在.vimrc中添加以下内容

au TextYankPost * call system('termux-clipboard-set &', @")
function Paste(p)
    let sysclip=system('termux-clipboard-get')
    if sysclip != @"
        let @"=sysclip
    endif
    return a:p
endfunction
noremap <expr> p Paste('p')
noremap <expr> P Paste('P')

这适用于所有复制,剪切和粘贴命令,包括dw,2p等。