LoginSignup
40
25

More than 3 years have passed since last update.

denite.nvimのFloating Windowオプションを使おう

Last updated at Posted at 2019-03-25

皆さんNeoVim v4.0から追加される予定のFloating Windowという機能はご存じでしょうか?
既存のウィンドウの上部に重ねて表示できるウィンドウです。
最近のモダンなエディタなんかだとなんかFunctionにカーソル合わせたときに表示されるアレです。アレ。

私は以下の記事で存在を知りました。

話は変わりますが、私はVimのインタラクティブフィルターとして、もっぱらdenite.nvim推しです。
fzf.vimに浮気したりもしてますが、最終的にdeniteに戻ります。
がしかし、そんな私も少しだけdeniteに気になる点がありました。
deniteを起動したときに、既存のウィンドウがグイッと押し上げられるように見えるのです。
もっともこれはdeniteではなくVimの制約なので、どのインタラクティブフィルタでも同様の動きになりますが。

Floating Windowが気になって自分でVim scriptをいじいじして、ほえーこんなんなのかー。
と遊んでいたとき、Floating Windowがあればウィンドウグイッと問題が解決できるのではとひらめきました。

よーしPR作っちゃうぞと思ってdeniteのPRページに飛んでみると、
なんと。既に実装が完了していました。スバラシイ!

というわけでdeniteのFloating Windowを有効化するといい感じになります。

denite-floating-window.gif

参考までに私の設定を以下にのっけておきます。デフォルトは少しウィンドウが狭いので広げてあります。@
Floating Windowが実装されたHEADのNeoVimでしか動かないので、あしからず。

let s:denite_win_width_percent = 0.85
let s:denite_win_height_percent = 0.7

" Change denite default options
call denite#custom#option('default', {
    \ 'split': 'floating',
    \ 'winwidth': float2nr(&columns * s:denite_win_width_percent),
    \ 'wincol': float2nr((&columns - (&columns * s:denite_win_width_percent)) / 2),
    \ 'winheight': float2nr(&lines * s:denite_win_height_percent),
    \ 'winrow': float2nr((&lines - (&lines * s:denite_win_height_percent)) / 2),
    \ })

40
25
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
40
25