✏️
vimでworkspaceからのファイルパスを素早くヤンクしたい
vimでカレントファイルパスを素早くヤンクしたいコマンドを長らく便利に使っていたものの、vim-fugitiveの:Gstatus
やdefx.nvimからファイルを開くと、<C-g>
がフルパスになってしまうという不便さにちょいちょい遭遇していた。
そして今更ながらいい方法が見つかった。
改良後。
function! ClipText(data)
let @0=a:data
let @"=a:data
let @*=a:data
echo "clip: ".a:data
return "\<ESC>"
endfunction
nnoremap <expr> <C-g> ClipText(fnamemodify(expand("%"), ":~:."))
nnoremap <expr> <Space><C-g> ClipText(expand('%:t'))
~
の外だとフルパス回避はできないが普段使いには十分と思われる。
Discussion