将当前文件名复制到剪贴板



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

最新更新