pum.vimで補完のポップアップの横の最大サイズを指定する

2023-02-06

はじめに

最近vimに入門しました。というのも業務でAndriudやiOSを触る機会が減ってPHPを触ることが多くなったため、どうせなら心機一転vimにしようという安易な気持ちで始めました。(vim沼にハマりました🫠)

vimに補完機能をつけるためにddcを使っていてUIにnativeを使っていたのですが、引数が多いメソッドなどを呼び出すとかなり画面の幅をとっていました。自分は、denops-signature_helpを使って変数などのヘルプを表示しているのですが、表示が小さな隙間に入って変な感じになっていました。そのため、もう少し見やすくするために画面のサイズ調整について調べると、pum.vimを使うと良さそうということがわかりました。

こっちはnativeで表示したスクショです。 表示が大きい画像

こっちはpumでポップアップの横の最大サイズを指定したスクショです。 表示が小さい画像

指定方法

プラグインマネージャとしてdeinを使っているので適宜プラグインマネージャを読み替えてください。

pumのOptionsはpum#set_option()に対して適宜オプションを設定します

dein_lazy.toml
[[plugins]]
 repo = 'Shougo/ddc.vim'
 on_event = 'InsertEnter'
 depends = ['denops.vim']
 hook_source = '''
 " UIでpumを使うために指定します
 call ddc#custom#patch_global('ui', 'pum')
 '''
[[plugins]]
repo = 'Shougo/pum.vim'
on_source = 'ddc.vim'
[[plugins]]
repo = 'Shougo/ddc-ui-pum'
on_source = 'ddc.vim'
hook_add = '''
" ここでmax_widthを指定
call pum#set_option('max_width', 50)
'''

間違っていた方法

自分が間違ってやっていた方法も載せておきます。

だめな例.toml
[[plugins]]
repo = 'Shougo/pum.vim'
on_source = 'ddc.vim'
[[plugins]]
repo = 'Shougo/ddc-ui-pum'
on_source = 'ddc.vim'
hook_add = '''
call pum-options-max_width = 50
call pum-options-max_width(50)
'''

などなど…

そもそもVim Scriptでは、変数にアルファベット、数字、アンダースコアしか使えないのに意味のわからないコードを書いていました🫠

最後に

最近はvimでコードを書いているのですが、プログラミングやってる感があるので大好きです。今度機会があったら自分のvimの設定を紹介したいなと思います。

参考サイト

Tatsumi0000

Written by Tatsumi0000 モバイル開発が好きなエンジニアのブログです. GitHub

Copyright © 2023, Tatsumi0000 All Rights Reserved.