home · archive · links · projects

用vim製作文本處理小工具

首先創建vim腳本,例如,用vim給文本在70列的時候自動斷行的腳本如下:

:set tw=70
gggqG
:wq

保存爲~/.vim/scripts/wrap,然後可以處理文件:

vim -s ~/.vim/scripts/wrap input.txt

如果要以stdin爲輸入,stdout爲輸出,以便放進管道,給其他程序調用,可以用bash腳本包裝一下:

#!/bin/bash

BUF=/tmp/$(head -c 15 /dev/urandom | base32)
cat > $BUF
/usr/bin/vim -s ~/.vim/scripts/wrap $BUF 1>/dev/null 2>/dev/null
cat $BUF
rm $BUF

這樣一個小工具就完成了。


© Licensed under CC BY-NC-SA 4.0 if not specified otherwise.
Email: dzshy [at] outlook [dot] com