我试图通过映射这个键盘快捷方式并将其放在我的.vimrc中,使elinks将网页转储到从vim中当前缓冲区位置开始(并在EOL结束)的URL处:
nmap owp :norm yE \| new \| .!elinks -dump @"<CR>它将行的其余部分拉到“寄存器”中,然后打开一个新缓冲区并调用elinks,它应该将呈现的网页转储到这个新缓冲区中。当我运行命令时,URL就会被拉出,仅此而已。新缓冲区不会打开,elinks也不会被调用。
,
发布于 2010-09-11 13:17:59
不要紧。在维姆手册里翻了一番,找到了一些解决办法。其中一个问题是:
.!elinks -dump @"<CR>这不会像预期的那样起作用。之后的一切!运算符通过vim逐字传递给shell,因此寄存器值不会传递给elinks。另一个问题是命令分隔符在:norm yE之后不起作用。解决这些问题的最后办法是:
function! Browser ()
normal yE
new
execute ".!elinks -dump " . @"
set nomodified
endfunction
nmap owp :call Browser ()<CR>注意使用execute来绕过"!“的限制。操作符。不过,我仍然需要为第二个问题找到一个解决办法。
https://stackoverflow.com/questions/3690670
复制相似问题