背景
- vim編集時でもファイルリネームをしたい時に、以下の点で気になったため、可能であるのか調査。
- 長いコマンドではなく、キーバインドを利用してショートカット風に短くしたい。
:w
のような保存処理を忘れたとしても、自動で行えるようにしたい。- 対話的に処理を行えるようにしたい。
- そこでLeader機能を利用して、簡単リネーム設定を記述していく。
手順
- vimrc(設定ファイル)を開く。
vim ~/.vimrc
- 下記の内容を
.vimrc
へ書き込む。
~/.vimrc
" leader設定" 「スペースキー + 他キー」で利用できるようにする。let mapleader ="\<Space>"" リネーム関数呼び出し" vim上で「スペースキー + n」でリネーム処理が行えるようにする。
map <leader>n:call RenameFile()<cr>" リネーム関数定義function! RenameCurrentFile()letold= expand('%')letnew= input('新規ファイル名: ',old,'file')ifnew!=''&& new!=old
exec ':saveas '.new
exec ':silent !rm '.oldredraw!endifendfunction
- vim内で設定読み込み。
:source ~/.vimrc