[LINUX] Zeigen Sie Bilder an und spielen Sie Videos im Neovim Terminal ab

Einführung

Seit der Einführung von libsixel ist die Arbeit mit Sixel Graphics, mit der Bilder auf dem Terminal angezeigt werden, relativ einfach geworden.

Zusätzlich zur direkten Anzeige können mithilfe eines Terminals, das die Sixel-Erweiterung einer Funktion namens DRCS verwenden kann, Bilder mit Sixel auch auf dem von Neovim bereitgestellten Terminal angezeigt werden. @Arakiken erläuterte ausführlich die Sixel-Erweiterung von DRCS in diesem Artikel, wird jedoch in diesem Artikel ein wenig erwähnt. Ich werde Neovims DRCS-Sixel-Unterstützung ausprobieren.

Wenn Sie die Funktion "Floating Windows" von Neovim verwenden, können Sie ein Fenster mit einer Größe öffnen, die an einer beliebigen Stelle im Puffer angegeben ist, und das Terminal wird damit arbeiten. Es wird möglich sein zu spielen.

Über die Umwelt

Verwenden Sie einen Terminalemulator, der DRCS-Sixel verwenden kann, z. B. RLogin oder mlterm.

Installieren Sie libsixel

Es ist normalerweise jetzt im Distributionspaket enthalten, also installieren wir es schnell.

~% sudo apt-get install libsixel-bin libsixel-dev

Installieren Sie libvterm

Eine Bibliothek, die von der Funktion : terminal von neovim und vim verwendet wird. Das in "Über die Sixel-Erweiterung von DRCS" eingeführte libvterm ist [dieses Repository] Es kann durch Löschen von (https://bitbucket.org/arakiken/libvterm/src/default/) erstellt und installiert werden. Da für das aktuelle Neovim jedoch libvterm Version 0.1 oder höher erforderlich ist, lautet der Quellcode wie folgt. Lassen Sie uns erhalten und bereitstellen.

~% wget http://www.leonerd.org.uk/code/libvterm/libvterm-0.1.2.tar.gz
~% tar xvzf libvterm-0.1.2.tar.gz

Der Unterschied für die DRCS-Sixel-Unterstützung ist wie folgt. https://bitbucket.org/arakiken/libvterm/branch/sixel#diff Diesmal habe ich versucht, das Diff manuell anzuwenden. Erstellen und installieren Sie nach dem Ändern der Quelle.

~% make
~% sudo make install

Installieren Sie Neovim

Es scheint, dass Neovim jetzt über einen Mechanismus verfügt, um das Terminal zu implementieren, indem libvterm beim Erstellen heruntergeladen und in sich selbst integriert wird. In dieser gebündelten Version wird jedoch die folgende Option zum Zeitpunkt der Erstellung angegeben Lassen Sie stattdessen das Betriebssystem das installierte libvterm verwenden.

~% sudo apt-get install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip
~% git clone https://github.com/neovim/neovim.git
~% cd neovim
~% make DEPS_CMAKE_FLAGS='-DUSE_BUNDLED_LIBVTERM=OFF'
~% sudo make install

Damit ist die Installation von Neovim abgeschlossen, das DRCS-Sixel unterstützt.

Versuchen Sie, das Bild anzuzeigen

Sie können den in libsixel enthaltenen Befehl "img2sixel" verwenden, um das Bild anzuzeigen. Die GIF-Animation ist ebenfalls gut, hat aber nicht gut gespielt, daher der Artikel FFmpeg- im Artikel [Einführung von Anwendungen mit Sixel Graphics](https://qiita.com/arakiken/items/3e4bc9a6e43af0198e46) Ich habe mich für mpeg4 video mit sixel entschieden.

Bei der Verwendung von schwebenden Fenstern habe ich auf den folgenden Artikel verwiesen. [Neovim] Durchscheinendes Fenster kann jetzt geöffnet werden

Fügen Sie nach der Vorbereitung eines Videos mit dem Namen "miku.mp4" Folgendes zur Neovim-Einstellungsdatei hinzu.

$HOME/.config/nvim/init.vim


command! Miku call s:miku()

function! s:miku()
    "Machen Sie einen leeren Puffer
    :let buf = nvim_create_buf(v:false, v:true)
    "Verwenden Sie diesen Puffer, um schwebende Fenster zu öffnen
    :call nvim_open_win(buf, v:true, {'relative': 'win', 'height': 30, 'width': 40, 'col': 44, 'row': 14})
    "Mach es transparent
    :set winblend=100
   "Öffnen Sie ein Terminal und führen Sie einen Befehl aus
    :terminal /usr/local/bin/ffmpeg2 -i ~/Desktop/images/miku.mp4 -f sixel -loglevel quiet -pix_fmt rgb24 -s 240x400 -
endfunction

Wenn Sie Neovim in diesem Zustand starten und den Befehl : miku eingeben

mikumiku.gif

Das Video wird so abgespielt (sorry, das GIF-Video ist sehr launisch, aber in Wirklichkeit sieht es so aus) (https://twitter.com/rattcv/status/1152826477408210945?s=20) Spielt reibungsloser Wird sein). Wenn Sie diesen Mechanismus verwenden, können Sie etwas Ähnliches wie den "Editor, den Mentoren herausbringen und Sie ermutigen, wenn Sie für einen bestimmten Zeitraum überspringen" realisieren, der zuvor auf Twitter beliebt war.

Ich denke, es gibt viele andere interessante Möglichkeiten, es zu benutzen, also probieren Sie es bitte aus!

Recommended Posts

Zeigen Sie Bilder an und spielen Sie Videos im Neovim Terminal ab
Zeigen Sie Bilder an und spielen Sie Videos im Neovim Terminal ab
Aufnahme und Wiedergabe unter Linux
Nehmen Sie ein Bild mit Pepper auf und zeigen Sie es auf Ihrem Tablet an
Fügen Sie dem Bild Linien und Text hinzu
Messen Sie die Temperatur und Luftfeuchtigkeit im Innen- und Außenbereich und zeigen Sie sie auf dem Armaturenbrett an
Anzeigen und Aufnehmen von Webkamerabildern mit Python Kivy [GUI]
Führen Sie einen Befehl auf dem Webserver aus und zeigen Sie das Ergebnis an