Home > Vim Hacks > Hack #151: 編集中のファイルがあるディレクトリを開く

Hack #151: 編集中のファイルがあるディレクトリを開く

問題

Vimの:e:newなどはカレントディレクトリにあるファイルを開きます。また補完対象もカレントディレクトリからのファイルです。

:e a<tab>

このようにするとカレントディレクトリのaからはじまるファイル名を対象にファイル名補完を行ないます。

編集中ファイルと同じディレクトリにある他のファイルを開く機会は多いものの、深いディレクトリに潜っているときは厄介です。 編集中ファイルのディレクトリは%:hで指定でき、なおかつ<tab>キーで展開できるものの、毎回%:h…とくに%という文字を打鍵するのかなかなか腰の折れる作業です。

解決法1

一度カレントディレクトリを編集中ファイルのディレクトリに移動するか、あるいはnetrwで編集中ファイルのディレクトリを開くかが良いでしょう。tabpagecdなどのプラグインを使用している場合、編集中ファイルのディレクトリにカレントディレクトリを移動させるのは副作用が大きすぎるため、後者の方法が好ましいでしょう。

:e %:h

で編集中ファイルのディレクトリをnetrwで開き、ファイル一覧を取得できます。この作業を頻繁に行なうならば、あいているキーにマッピングしましょう。例えば-に割り当てるならば、以下の一行を~/.vimrcに記述します。

nnoremap - :<C-u>e %:h<Cr>

解決法2

あるいは<tab>キーでの展開までを一つのキーに割り当てる方法も考えられます。

nnoremap - :<C-u> %:h<Tab>

このまま<Cr>を打鍵するとnetrwでディレクトリを開くので、こちらの解決法の方がより選択の幅が広がるといえます。

補足

netrwよりもモダンなvimfilerプラグインを用いる、あるいはvimshellに全てを委ねるなど、他にもさまざまなアプローチがあります。

ujihisa
このエントリーをはてなブックマークに追加
はてなブックマーク - Hack #151: 編集中のファイルがあるディレクトリを開く
Share on Facebook
Post to Google Buzz
Bookmark this on Google Bookmarks
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://vim-users.jp/2010/06/hack151/trackback/
Listed below are links to weblogs that reference
Hack #151: 編集中のファイルがあるディレクトリを開く from Vim-users.jp

Home > Vim Hacks > Hack #151: 編集中のファイルがあるディレクトリを開く

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top