kamecha / traqVimPractice

Unofficial traQ Vim/Neovim plugin.
MIT License
7 stars 0 forks source link

sixel対応端末での画像表示 #7

Closed kamecha closed 2 weeks ago

kamecha commented 1 year ago

メッセージでの画像表示やスタンプ補完画面でのスタンプ表示をやってみる

kamecha commented 1 year ago

[参考]

↑以下のように変換する png→drcs

$ gosr foo.png > foo.drcs

gif→連番png

$ ffmpeg -i alisue.gif -vsync 0 alisue%03d.png

ひとまずsixel周りの仕様を大まかに把握する

kamecha commented 1 year ago

↑:vim:のechoraw()使うと良さげやで 参考

call setpos('.', [0, 5, 5, 0])
let s:foo = join(readfile('hoge.drcs'), "\n")
call echoraw("\x1b[10;10H" . s:foo)
kamecha commented 1 year ago

ターミナルで画像を表示する方法としてchafaというツールを使う方法もあって、chafa hoge.pngとするとターミナルで画像が表示されるようになる。

sixelとは違った方式なので、WindowsTerminalやtmuxに関わらず表示される。

https://hpjansson.org/chafa/

vim上のメッセージ表示の上から画像を表示するのは厳しいかもだけど、dduのターミナルプレビューでスタンプのプレビューくらいはできそう

kamecha commented 2 months ago

https://github.com/gw31415/mstdn.vim

↑mastdonのvimクライアントをdenopsで実装してるやつ

この中でsixelを使って画像表示する所を別プラグインとして切り出してくれてるから、これ使うと一旦は実装できるかも https://github.com/gw31415/denops-sixel-view.vim