Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

[Vim]ステータスラインにファイル名+一つ上のディレクトリを表示する[lightline]

$
0
0

まとめ

困っていたこと
Reactで開発していて、 components/{Component名}/index.jsとしてディレクトリをわけていたら、ステータスラインにファイル名しか表示されないと「どのindex.jsだよ!」となった。

解決策

Before
image.png

After
image.png

一つ上のディレクトリまで表示することにしました。

やったこと

lightlineを使っていたため、 lightlineのカスタマイズをすることにしました。

公式READMEの"ファイル名と変更サインの間のバーを消すことはできますか?"を参考にしました。

完成形vimrc

.vimrc
letg:lightline={      \'component_function':{      \'filename':'LightLineFileNameWithParentDir'      \}      \}function! LightLineFileNameWithParentDir()if expand('%:t')==# ''lets:filename='[No Name]'elselets:dirfiles= split(expand('%:p'),'/')if len(s:dirfiles)<2lets:filename=s:dirfiles[0]elselets:filename=s:dirfiles[-2].'/'.s:dirfiles[-1]endifendifreturns:filenameendfunction

解説
lightlineの設定を入れる変数である g:lightlinecomponent_functionという、新しい表示項目を生成、もしくは既存の項目を上書きする関数を登録する項目があります。
既存のfilenameという項目はREADMEを見る限り1expand('%:t') !=# '' ? expand('%:t') : '[No Name]'で表示されているようなので、それを参考にカスタマイズしました。


  1. ソースコードの中では見つけられませんでしたが.. 


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>