Small Changes

Vim8のファイラー周りを充実させる


Metadata


Vim8のプラグイン管理にvim-plugを使うでは、プラグイン管理をするためのプラグインを導入しました。

これでだいぶプラグイン管理がはかどるようになってきました。

次は、開発する際に欠かせないファイラー周りを充実させていこうと思います。

今回入れるファイラーはFern

ファイラーを調べてみたところ種類がたくさんありましたが、その中からFernを使うことにしました。

Fernを選んだ理由は、次の3点です。

外部依存なし

「分割ウィンドウ」と「プロジェクトドロワー」の2つのスタイル

プラグインで拡張可能

1点目は、依存関係がなくそのプラグインを入れるだけですぐに使えるというのは個人的には大きかったです。

依存関係が多いとセットアップ時の手順が多くなり大変なので依存関係がないというのは大きなメリットでした。

2点目は、ファイラーを使うときのスタイルが2種類あるのも良かったです。

Fernの使い方を見るとどんなものかわかると思います。

個人的には「分割ウィンドウ」スタイルを使っていこうと思っています。

3点目は、プラグインで機能拡張ができることです。

あとでプラグインも追加していきますが、必要なものをプラグインで入れられるというのはとても便利です。

Fernのインストールと設定

vim-plugを使ってインストールするため、vimrcに下記を追加します。

:PlugInstallでプラグインをインストールしていきます。

call plug#begin('~/.vim/plugged')
Plug 'lambdalisue/fern.vim'
call plug#end()

これで:Fern .でファイラーが起動するようになります。

さらにvimrcに設定を追加します。

隠しファイルの設定方法はこちらの記事を参考にしました。

これでSpace+e押下すると、Fernが起動するようになりました!

" <Leader>にSpaceキー割り当て
let mapleader = "\<Space>"
" 隠しファイルを表示する
let g:fern#default_hidden=1
" Fern .をSpace+eキーに置き換え
nnoremap <silent> <Leader>e :<C-u>Fern .<CR>

FernをSpace+eで開いているところ。

Fernのプラグインを追加

ざっとインストール方法とvimrcの設定、実際にどのようなことができるのかを紹介。

fern-preview.vim

call plug#begin('~/.vim/plugged')
" Filer
Plug 'lambdalisue/fern.vim'
  Plug 'yuki-yano/fern-preview.vim' " 追加
call plug#end()

" 公式リポジトリを参考にキーマップを追加
function! s:fern_settings() abort
  nmap <silent> <buffer> p     <Plug>(fern-action-preview:toggle)
  nmap <silent> <buffer> <C-p> <Plug>(fern-action-preview:auto:toggle)
  nmap <silent> <buffer> <C-d> <Plug>(fern-action-preview:scroll:down:half)
  nmap <silent> <buffer> <C-u> <Plug>(fern-action-preview:scroll:up:half)
endfunction

augroup fern-settings
  autocmd!
  autocmd FileType fern call s:fern_settings()
augroup END

ファイラーを開いてて、ファイルにカーソルを合わせてpとするとプレビューがフローティングウィンドウで表示されるようになります。

神プラグインです。

Ctrl+pとすると、ファイルにカーソルが合うと自動でプレビューしてくれます。

fern-git-status.vim

call plug#begin('~/.vim/plugged')
" Filer
Plug 'lambdalisue/fern.vim'
  Plug 'yuki-yano/fern-preview.vim'
  Plug 'lambdalisue/fern-git-status.vim' " 追加
call plug#end()

ファイル毎にgitステータスを表示してくれるようになるので便利です。

fern-hijack.vim

call plug#begin('~/.vim/plugged')
" Filer
Plug 'lambdalisue/fern.vim'
  Plug 'yuki-yano/fern-preview.vim'
  Plug 'lambdalisue/fern-git-status.vim'
  Plug 'lambdalisue/fern-hijack.vim' " 追加
call plug#end()

viとしてSpace+eでファイラーを起動していましたが、このプラグインを入れるとvi .でファイラーを起動することができるようになります。

Fernでよく使うコマンドまとめ

fern.vim

基本的なファイル操作は網羅できているはず。

-を使う事で複数選択してリネームだったり、削除などができるのでとても便利。

コマンドが分からなくなったらhelpを見る。

コマンド用途
Shift+? or ahelphelp表示
Shift+c(ファイルorディレクトリ)コピー
Shift+m(ファイルorディレクトリ)カット
Shift+p(ファイルorディレクトリ)ペースト
- (ファイルorディレクトリ)選択
Shift+nファイル新規作成
Shift+kディレクトリ新規作成
Shift+r(ファイルorディレクトリ)リネーム
aremove(ファイルorディレクトリ)削除

fern-preview.vim

コマンド用途
pファイルプレビュー
Ctrl+p自動でファイルプレビュー
Ctrl+dフローティングウィンドウ内のファイルをスクロールダウン
Ctrl+uフローティングウィンドウ内のファイルをスクロールアップ

fern-hijack.vim

コマンド用途
vi .ターミナルからFernを起動

References