2013-11-01 36 views

回答

4

这对你有帮助吗?

:let @+=expand('%:p') 

如果您需要经常这样做,请创建一张地图。

+0

它确实!这比我想出的要好。如果有人想知道,可以通过删除':p'来获得相对路径。 –

0

这将做到这一点

:!echo -n % | pbcopy 
  • %代表当前缓冲区的文件名在Vim中。
  • echo -n %将在最后打印当前文件名,不带换行符char。
  • |意志管道上面的表达式的输出到下面的命令
  • pbcopy增加东西向clopboard在OS X

你可以把这个在您的.vimrc

这映射到一个方便快捷
nnoremap <leader>f :!echo -n % \| pbcopy<cr> 
+0

Twitter是另一个选项卡。 – romainl

+0

只有在Vim没有使用剪贴板支持构建的情况下(不太可能),才需要对外部工具进行清理。 –

0

我用我的~/.vimrc文件中的以下内容:

" yank a register into another register 
" ["x]yr{reg} 
nnoremap <silent> yr :call setreg(v:register, getreg(nr2char(getchar())))<cr> 

这让我一个寄存器复制到另一个寄存器中。我通常使用它来将@%寄存器复制到未命名或系统剪贴板。例如"+yr%。不过,我发现在罕见的情况下复制@.@:非常有用。

0

在OSX上。要将完整路径复制到剪贴板,您可以使用 :!echo %:p | pbcopy 然后您可以将它粘贴到任何位置(包括vim)