Vimでカレントファイルのパスをクリップボードに渡したい
Metadata
Date: April 3rd, 2022
Category: わたしの開発環境を充実させたい
結論
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>