Vim'deki .odt, .doc, .docx, .rtf ve düz metin olmayan diğer biçimlerle kolayca çalışmak mümkün müdür?


14

Bazen birisi bana bir gönderir .odt, .docve .docxdosyayı; onları OpenOffice'te açmak her zaman bir acıdır çünkü OpenOffice.

Şu anda odt2txtbu dosyaları düz metne dönüştürmek, düz metni geçici bir dosyaya kaydetmek ve daha sonra Vim'de görüntülemek (ve belki düzenlemek) için çeşitli komut satırı araçları (örneğin ) kullanıyorum.

Bu daha kolay olabilir mi? Belki de otomatik gruplarla ilgili bir şey? Ya da belki daha iyi yollar vardır? Sadece yapmak istiyorum:

$ vim file.odt

Ve Vim benim için dönüşümle ilgileniyor mu?

Daha da iyisi (bonus puan) Ben de (dosyayı kaydetmek mümkün olsaydı olurdu file.txt), ancak bu olacağını değil bir yazma yapana kadar oluşturulacak ...

Yanıtlar:


13

Vimrc'nize böyle bir şey ekleyebilmeniz gerekir:

autocmd BufReadPost *.odt :%!odt2txt %

Bu, odt2txtvim tarafından okunduktan sonra programın içinden tüm arabelleği gönderir , ancak yalnızca dosya adı ile biterse .odt.

Ayrıca , bu dosya türlerinden birkaçı için konuştuğunuz şeyi yapabileceğini söyleyen textutil.vim eklentisi de var (ancak kişisel olarak kullanmadım).

Markdown gibi düz metinden biraz daha yapılandırılmış bir şeyde düzenleme yapmak istiyorsanız, dönüşümü yapmak için pandoc'u da kullanabilirsiniz :

autocmd BufReadPost *.docx :%!pandoc -f docx -t markdown
autocmd BufWritePost *.docx :!pandoc -f markdown -t docx % > tmp.docx

Bu dönüşümleri gerçekten test etmedim, ancak çalışmalılar. Dosya biçimine bağlı olarak farklı araçlar kullanmanız gerekebilir.


does autocmd BufReadPost *.docx :%!pandoc -f docx -t markdownBen vim bir .docx dosyasını açarsanız, bunun yerine içinden bu dosyayı geçecek, temelde ortalama :%!pandoc -f docx -t markdownVİM penceresinde görüntülemeden önce,?
alpha_989

1
@ alpha_989 evet.
xthrd
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.