読者です 読者をやめる 読者になる 読者になる

Vimで現在開いているファイルのパスを取得する設定

vim
# ~/.vimrc

function! CopyPath()
  let @*=expand('%:P')
endfunction

function! CopyFullPath()
  let @*=expand('%:p')
endfunction

function! CopyFileName()
  let @*=expand('%:t')
endfunction

command! CopyPath     call CopyPath()
command! CopyFullPath call CopyFullPath()
command! CopyFileName call CopyFileName()

nnoremap <silent>cp :CopyPath<CR>
nnoremap <silent>cfp :CopyFullPath<CR>
nnoremap <silent>cf :CopyFileName<CR>
$ cd ~/workspace/demo
$ vim app/controllers/application_controller.rb

でファイルを開いている場合だと以下のようにパスを取得することができる。

# ,cp
app/controllers/application_controller.rb

# ,cfp
/Users/username/workspace/demo/app/controllers/application_controller.rb

# ,cf
application_controller.rb

※ 「let mapleader=","」としている場合ノーマルモードで,cpと入力する。