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