datentraeger

geistige Umweltverschmutzung

vim: doc, odt, pdf und Co.

January 12, 2018 cli Debian/GNU Linux vim

Grad auf Reddit gesehen und finde es erwähnenswert: mit diesem Schnipsel kann man Word-Dokumente, LibreOffice-Dokumente etc direkt in vim öffnen (RO). Natürlich müssen die benötigten Tools installiert sein (antiword, pandoc, odt2txt etc).

augroup read_special_files
    au! 
    au BufWinEnter  *.{doc,docx,epub,odp,odt,pdf,rtf}  call s:filter_special_files()
augroup END 

fu! s:filter_special_files() abort
    if get(b:, 'did_filter_special_file', 0)
        return
    endif
    let fname = shellescape(expand('%:p'), 1)
    let ext = expand('%:e')
    let ext2filter_cmd = { 
    \                      'doc' : '%!antiword '.fname,
    \                      'docx': '%!pandoc -f docx -t markdown '.fname,
    \                      'epub': '%!pandoc -f epub -t markdown '.fname,
    \                      'odp' : '%!odt2txt '.fname,
    \                      'odt' : '%!odt2txt '.fname,
    \                      'pdf' : '%!pdftotext -nopgbrk -layout -q -eol unix '.fname.' -',
    \                      'rtf' : '%!unrtf --text',
    \                    }
    setl ma noro
    sil exe has_key(ext2filter_cmd, ext)
    \?          ext2filter_cmd[ext]
    \:          ''
    setl noma ro nomod
    let b:did_filter_special_file = 1 
endfu

Und das ganze funktioniert dann auch noch verdammt gut. Geil.

taskwarrior

Dovecot: zlib-Files entpacken

1 thought on “vim: doc, odt, pdf und Co.”
  1. Peter V. Beck, I.
    January 12, 2018 at 12:29 am

    vim: doc, odt, pdf und Co. http://blog.datentraeger.li/?p=967

Comments are closed.

Search
Posts
  • tt-rss update
  • freerdp ERRCONNECT_TLS_CONNECT_FAILED
  • Windose – kein Internet
  • Rechner ohne IP
  • Goodbye Nvidia
Archives
Categories
Tags
3D-Printing Android Apple Arch BBOS/QNX cli Container Database Debian/GNU Linux Docker foo.li FSFE fvwm git Gnome Gnusocial Groupware irc IT Java LaTeX lvm Mail Mobile Movies Multimedia Music Nonsense Office Packaging PHP Puppet Redmine SQL Think-About Uncategorized Vaping vim Virtualisierung Web Win WTF www-links X11 XMPP
Meta
  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Blogroll
  • Datentraeger Pics
  • foo.li systeme + software
  • GnuSocial.li
Proudly powered by WordPress | Theme: Doo by ThemeVS.