如何从OS X上的Vim将当前缓冲区的文件名发送到剪贴板。
答案 0 :(得分:4)
这对你有帮助吗?
:let @+=expand('%:p')
如果您经常需要这样做,请创建一个地图。
答案 1 :(得分:0)
这样做
:!echo -n % | pbcopy
%
代表Vim中当前缓冲区的文件名。 echo -n %
将打印当前文件名,最后没有换行符。 |
会将上述表达式的输出传递给以下命令pbcopy
在OS X上向clopboard添加内容。您可以将其放在.vimrc
nnoremap <leader>f :!echo -n % \| pbcopy<cr>
答案 2 :(得分:0)
我在~/.vimrc
文件中使用以下内容:
" yank a register into another register
" ["x]yr{reg}
nnoremap <silent> yr :call setreg(v:register, getreg(nr2char(getchar())))<cr>
这允许我将寄存器复制到另一个寄存器。我通常使用它将@%
寄存器复制到未命名或系统剪贴板。例如"+yr%
。不过,我发现在极少数情况下复制@.
和@:
非常有用。
答案 3 :(得分:0)
在OSX上。要将完整路径复制到剪贴板,您可以使用
:!echo %:p | pbcopy
然后你可以将它粘贴到任何地方(包括vim)