如何在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)