Vimでカレントファイルのパスをクリップボードに渡したい

結論

SPC + C-gすると、ファイルパスを[[Windows]]のクリップボードにコピーするようにしました。 最初は無名レジスタの指定がうまくいかずハマりましたが、@"でできました。 これだと絶対パスになるので、[[Visual Studio Code]]のようにファイルのルートからの相対パスでファイルパスを取得できるようにしたいです。

  • @"=expand('%:p')
    • 無名レジスタにexpand('%:p')でカレントファイルの絶対パスを保存
  • call system('clip.exe', @")
    • 無名レジスタの内容を[[Windows]]のクリップボードに渡す
" カレントバッファのファイルパスをクリップボードにコピー
nnoremap <leader><C-g> :<C-u>echo "copied fullpath: " . expand('%:p') \| let @"=expand('%:p') \| call system('clip.exe', @")<CR>

参考

Emacs/Vim で、現在編集中のファイルフルパスをクリップボードにコピーする | intothelambda

【vim めも】 3. レジスタ - Qiita

Hugo で構築されています。
テーマ StackJimmy によって設計されています。