Depuis l'introduction de libsixel, Sixel Graphics, qui affiche des images sur le terminal, est devenu assez facile à utiliser.
En plus d'afficher directement, en utilisant un terminal pouvant utiliser l'extension Sixel d'une fonction appelée DRCS, il est possible d'afficher des images avec sixel même sur le terminal fourni par Neovim fonctionnant dessus. @Arakiken a expliqué en détail l'extension Sixel de DRCS dans cet article, mais il est un peu mentionné dans cet article. , Je voudrais essayer le support DRCS-Sixel de Neovim.
Si vous utilisez la fonction «fenêtres flottantes» de Neovim, vous pouvez ouvrir une fenêtre avec une taille spécifiée n'importe où sur le tampon, et le terminal fonctionnera dessus. Il sera possible de jouer.
Utilisez un émulateur de terminal pouvant utiliser DRCS-Sixel, tel que RLogin ou mlterm.
Il est généralement inclus dans le package de distribution maintenant, alors installons-le rapidement.
~% sudo apt-get install libsixel-bin libsixel-dev
Une bibliothèque utilisée par la fonction : terminal
de neovim et de vim.
Le libvterm introduit dans «À propos de l'extension Sixel de DRCS» est [ce référentiel]
Il peut être construit et installé en le déposant depuis (https://bitbucket.org/arakiken/libvterm/src/default/), mais comme le Neovim actuel nécessite la version 0.1 ou supérieure de libvterm, le code source est le suivant. Prenons et déployons.
~% wget http://www.leonerd.org.uk/code/libvterm/libvterm-0.1.2.tar.gz
~% tar xvzf libvterm-0.1.2.tar.gz
La différence pour la prise en charge de DRCS-Sixel est la suivante. https://bitbucket.org/arakiken/libvterm/branch/sixel#diff J'ai essayé d'appliquer le diff manuellement cette fois. Après avoir modifié la source, créez et installez.
~% make
~% sudo make install
Il semble que Neovim dispose désormais d'un mécanisme pour implémenter le terminal en téléchargeant libvterm en cours de construction et en l'incorporant en lui-même, mais dans cette version groupée en spécifiant l'option suivante au moment de make Au lieu de cela, laissez le système d'exploitation utiliser le libvterm installé.
~% 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
Ceci termine l'installation de Neovim qui prend en charge DRCS-Sixel.
Vous pouvez utiliser la commande ʻimg2sixelincluse dans libsixel pour afficher l'image. L'animation gif est également cool, mais elle n'a pas joué proprement, donc l'article
FFmpeg- dans l'article Introduction d'applications utilisant Sixel Graphics J'ai décidé d'utiliser la vidéo mpeg4 en utilisant sixel`.
Lors de l'utilisation de fenêtres flottantes, je me suis référé à l'article suivant. [Neovim] La fenêtre translucide peut maintenant être ouverte
Après avoir préparé une vidéo appelée miku.mp4
, ajoutez ce qui suit au fichier de paramètres Neovim.
$HOME/.config/nvim/init.vim
command! Miku call s:miku()
function! s:miku()
"Faire un tampon vide
:let buf = nvim_create_buf(v:false, v:true)
"Utilisez ce tampon pour ouvrir des fenêtres flottantes
:call nvim_open_win(buf, v:true, {'relative': 'win', 'height': 30, 'width': 40, 'col': 44, 'row': 14})
"Rendez-le transparent
:set winblend=100
"Ouvrez un terminal et exécutez une commande
:terminal /usr/local/bin/ffmpeg2 -i ~/Desktop/images/miku.mp4 -f sixel -loglevel quiet -pix_fmt rgb24 -s 240x400 -
endfunction
Si vous démarrez Neovim dans cet état et tapez la commande : miku
La vidéo sera lue comme ceci (désolé, la vidéo gif est très morose, mais en fait comme ça Joue plus facilement Sera). Si vous utilisez ce mécanisme, vous pouvez réaliser quelque chose de similaire à «l'éditeur que les mentors sortent et vous encouragent si vous sautez pendant un certain temps» qui était auparavant populaire sur Twitter.
Je pense qu'il existe de nombreuses autres façons intéressantes de l'utiliser, alors essayez-le!
Recommended Posts