暗无天日

=============>DarkSun的个人博客

在eshell中用cat命令显示图片

今天偶然发现,在开启了 auto-image-file-mode 后,在eshell中cat 图片文件会直接显示图片,而不是二进制的文件内容。

screenshot-29.png

可惜就是最后缺少了个换行符.

我们也可以自己定义一个自己的icat来专门显示图片:

(defun eshell/icat (&rest args)
    "Display images in ARGS."
    (setq args (eshell-stringify-list (eshell-flatten-list args)))
    (eshell-eval-using-options
     "icat" args
     '((?h "help" nil nil "show this usage screen")
       :external "feh"
       :show-usage
       :usage "IMAGES

    Show IMAGE to standard output.")
     (dolist (image-fpath (mapcar #'expand-file-name args))
       (when (file-exists-p image-fpath)
         (eshell-buffered-print "\n")
         (add-text-properties 0 (length image-fpath)
                              `(display ,(create-image image-fpath)
                                        modification-hooks
                                        (iimage-modification-hook))
                              image-fpath)
         (eshell-buffered-print image-fpath)
         (eshell-flush)))))
eshell/icat