2013-11-01 43 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)