LoginSignup
146
141

More than 5 years have passed since last update.

最近乗り換えたvimプラグインやら

Last updated at Posted at 2014-09-12

ディレクトリツリーからファイル選択

NERDTreeからvimfilerに乗り換えた。

両者はいずれもディレクトリツリーからファイルを開くという意味では一見良くてい似ています。
しかしそのコンセプトは別物で、自分にはvimfilerのコンセプトが合致したので乗り換えました。

簡単にいえばNERDTreeは常にディレクトリツリーを表示して使用するのに対し、
vimfilerはディレクトリツリーを必要に応じすべてのウィンドウで表示可能な点が異なります。

説明が下手すぎるので、詳細はvimfilerのヘルプにもリンクしてある以下を参照して下さい。
わかりやすい。
http://vimcasts.org/blog/2013/01/oil-and-vinegar-split-windows-and-project-drawer/

なおNERDTree的な使い方も必要な場合は:VimFilerExploreコマンドにて実現可能です。
状況によってはこちらも利用しています。

.vimrc
NeoBundle 'Shougo/vimfiler.vim'
nnoremap <leader>e :VimFilerExplore -split -winwidth=30 -find -no-quit<Cr>

コマンド

移動

key action
j 下へ
k 上へ
l 子ツリーへ(exploreオプションで動作変わる)
h 親ツリーへ(exploreオプションで動作変わる)
gg トップへ
L 別ドライブへ(Unite形式)
~ ホームへ
\ ルートへ
& プロジェクトルートへ
C-j 履歴へ(Unite形式)
BS 親ツリーへ
I パス直接指定移動

表示

key action
. 非表示ファイルの表示切り替え
M フィルタリング(Unite形式)
t ツリー展開
T 再帰的ツリー展開
S 並びかえ
C−l 再描画
C-g フルパスを出力
g<C-g> 全画面トグル

検索

key action
gr grep(Unite形式)
gf find(Unite形式)

実行

key action
e 編集(g:vimfiler_edit_actionで定義)
E eの分割バージョン
<enter> 実行(g:vimfiler_execute_file_listで定義)
H shell(vimshell)起動
x 関連付けで開く
B バイナリ編集(vinariseが必要)
a アクション選択
ge 外部ファイラーで開く
! シェルコマンド実行
v プレビュー(g:vimfiler_preview_actionで定義)

閉じる

key action
- 現在のvimfiler画面を閉じる
q vimfilerを隠す
Q vimfiler終了

ファイル操作

key action
gs safe mode 解除
c コピー
m 移動
d 削除
r リネーム(renamer.vimライク)
K ディレクトリ作成
N ファイル作成
Cc クリップボードへコピー
Cm クリップボードへ移動
Cp クリップボードから貼付け
o vimfilerの同期
O 他方のvimfilerで開く

マーク

key action
<space> マーク
* すべてマークのトグル
U すべてクリア

インデントをわかりやすく表示

indent-guidesからindentLineに乗り換えました。

特に不満はなかったが、ある日突然重くなりそのまま乗り換えたら便利だったのでそのまま使用しています。
g:indentLine_fasterを有効にするとさらに軽くなって良いです。

.vimrc
NeoBundle 'Yggdroot/indentLine'
let g:indentLine_faster = 1
nmap <silent><Leader>i :<C-u>IndentLinesToggle<CR>

こんな感じで表示されます。

スクリーンショット 2014-09-11 21.04.32.png

テキストを整列

aligntaからeasy-alignに乗り換えました。

.vimrc
NeoBundle 'junegunn/vim-easy-align'

以下は公式のデモですが、これを見て便利そうだったので使っています。

公式のdemo

カーソルの移動

もともとeasymotionを使っていて、今でも使っています。

.vimrc
NeoBundle 'Lokaltog/vim-easymotion'

ただ他にもいろいろ試しましたが、正直カーソルスピードを上げるのが一番効果がありました。
Macなら変更はKarabiner(旧KeyRemap4MacBook)にて例えば以下のように設定可能です。
(Windowsではkbdaccとか使用)

スクリーンショット 2014-09-11 21.22.24.png

あと地味にsmartwordも便利だったので入れました。

.vimrc
NeoBundle 'kana/vim-smartword'
nmap w   <Plug>(smartword-w)
nmap b   <Plug>(smartword-b)
nmap e   <Plug>(smartword-e)

ウィンドウサイズの変更

vim-submodeで以下のようにしていました。
これなら<C-w>+<C-w>+<C-w>+<C-w><<C-w><などが<C-w>+++<<でできて便利です。

.vimrc
NeoBundle 'kana/vim-submode'
for k in split('<>+-=n', '.\zs')
  call submode#enter_with('winsize', 'n', '', '<C-w>'.k, '<C-w>'.k)
  call submode#map('winsize', 'n', '', k, '<C-w>'.k)
endfor

でも今更altキーにもマップできると知り試してみました。
モードを抜ける動作も不要なので、この場合に限りこちらの方法が楽でした。

.vimrc
" マックの場合に必要
set macmeta
" サイズ変更
nnoremap <M-+> <C-w>-
nnoremap <M--> <C-w>+
nnoremap <M->> <C-w>>
nnoremap <M-<> <C-w><
" alt + = でリセット
nnoremap <M-=> <C-w>=
" alt + a で最大化
nnoremap <M-a> <C-w>_<C-w><Bar>
" 移動
nnoremap <M-h> <C-w>h
nnoremap <M-j> <C-w>j
nnoremap <M-k> <C-w>k
nnoremap <M-l> <C-w>l

これにより先程の入力はalt+;;;<<で入力可能です。

他にウィンドウ移動なども割り当てて使っています。

146
141
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
146
141