(私の勝手な)NERDTreeの使い方


Nerdtree vim

10月、11月とずっとSublimeText3を使ってはイイわー って騒いでいたのに、またrubyの開発になった途端vimに戻ってきました。

今回またvimに戻ってきたからには前から使いたかったNERDTreeを使いこなせるようになろうと、自分用使い方エントリーを投げます。
なぜこんな記事をわざわざ書いたかというと、昔からプラグインとしてNERDTreeを入れてはいたのですがいまいち使いこなせておらず、その都度調べながら使っても自分が欲しい情報が欠けていたりとして、何かと避けてきてしまっていたので改めてまるごと勉強しました。

特に、タブや画面分割の作成方法はどの記事も網羅されているのですが、自分は今までvimの分割を使ってこないまま来てしまったので分割後の操作も都度調べるのがめんどくさくていた感じです。。 んー もっと早く勉強すればよかったんだけども。。

NERDTreeとは?

vimの画面内にディレクトリツリーが表示されてお便利
エディタを開いたままディレクトリ移動できたり、他のディレクトリの階層をopenして中を見たりとお便利
画面分割もタブ分割もそもままできてお便利

インストールする

とっても簡単

$ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh

を実行すると自動でインストーラが走るらしい。
その後、~/.vimrc に以下のコードを追加

set nocompatible
filetype off

if has('vim_starting')
    set runtimepath+=~/.vim/bundle/neobundle.vim
    call neobundle#rc(expand('~/.vim/bundle/'))
endif

"insert here your Neobundle plugins
NeoBundle 'scrooloose/nerdtree'

filetype plugin indent on

vimを開いてbundle install。 つまり、
:NeoBundleInstall
をなんでもいいのでとにかくvimを開いて実行する。

Most important setting

個人的に去年最初にNERDTreeを一回入れてすぐ使うのやめたのは、この便利設定を知らなかったから(ちゃんと調べろよ俺)

基本的にNERDTreeのファイルツリーの表示/非表示は :NERDTree とコマンド実行しなければならないのですが、そんなめんどくさいことしていたら手が腱鞘炎になるので、ショートカットを設定します

ネットでしらべると皆以下のキーマップを ~/.vimrc に登録している模様。

nnoremap <silent><C-e> :NERDTreeToggle<CR>

このショートカットさえ登録しておけば、ディレクトリツリーを開くも閉じるもCtrl + eだけです。
めっちゃ楽です。 パカパカ開きます。
なお、ツリーを閉じるだけだったら q だけでも閉じる模様。

主な使い方

と、その前に隠しファイルなどが表示されていなかったらI(大文字のi)で表示させておく。

Treeの中を操作する

ツリーにカーソルをもっていく Ctrl+w の後にw or hjkl
上下移動 j,k
ファイルを開く Enter / o
再帰的にディレクトリを開く O (大文字のo)
1個のディレクトリを開く/閉じる Enter / o
ディレクトリを閉じる カレントディレクトリ:x、 子:X
ディレクトリ操作メニュー表示 m
再描画(リロード) r
ディレクトリ移動(cd的な) C
上の階層にいく(cd ..的な) u

タブで開く、タブを操作する

新規タブでファイルを開く t
タブ追加のみ T
タブ間の移動
タブを閉じる
gt or tT (または:tabnext,:tablastコマンド)
けど、めんどくさいのでこれもvimrcにキーマップを入れると吉

nnoremap <C-n> gt
nnoremap <C-p> gT
タブを閉じる :closetab だが、これもCtrl+cでキー登録した

画面分割

水平に分割して開く i (ichi ”漢字の一”的な意味で と覚える)
水平に開いて移動なし gi
垂直で開く s (進撃の巨人のs と覚える)
垂直で開いて移動なし gs
分割したウィンドウ同士を入れ替える Ctrl + w -> x
ウィンドウの高さを変える Ctrl + “+/-” (事前に数字を追加して変更幅指定可)
ウィンドウの左右の幅を変える Ctrl + “</>” (事前に数字を追加して変更幅指定可)
他の画面に移動する Ctrl+wの後にhjkl

まとめ

NERDTreeまだ使いこなせていないんですが、なかなかオツなプラグインなので毎日使ってます。

全てコマンドで移動するので便利なんですがさすがに3つも4つも編集画面を開くものには向いていないかも。
適宜TotalTarminalなどと併用して開発の効率化を図りたいです。
おわり( ^ω^)

 

 



関連記事

Comment





Comment



*