oeasy教您玩轉(zhuǎn)vim - 86 - # 外部命令external Command
外部命令 ?external
回憶
上次研究的是global
:[range]global/{pattern}/{command}
range
是執(zhí)行的范圍pattern
是搜索的模式command
執(zhí)行的命令命令有很多
d 刪除
m 移動
t 拷貝
p 打印
s 替換
sort 排序
update 更新
global
是很好用的內(nèi)部命令據(jù)說vim還可以執(zhí)行外部命令呢?!
怎么玩呢???
回憶外部命令
:!ls
在命令行列表
:!python %
運行python程序額
:!javac %
編譯java程序
r讀取
:r oeasy.txt
:r !ls
:r !ls -lah
:r !cat oeasy.txt
:r !curl -s 'http://oeasy.org'
這樣就可以把各種信息直接讀到vim中了
我殺死我自己
:!ps

:!kill -9 341
tr命令translate

:.!tr '[:lower:]' '[:upper:]'
調(diào)用外部命令把小寫字母translate成大寫字母
當(dāng)前行執(zhí)行外部命令`
.!
!tr '[:lower:]' '[:upper:]'
:%!tr '[:lower:]' '[:upper:]'
全部行都執(zhí)行
:1,2!tr '[:lower:]' '[:upper:]'
1、2行執(zhí)行
awk
awk其名稱得自于它的創(chuàng)始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan

:%!awk '{print $1}'
u回來
再試試
:%!awk '{print $2}'
管道pipe

:%!awk 'NR > 1' | sort -nk 3 | column -t
%!
執(zhí)行范圍range是所有行awk 'NR > 1'
從第二行開始awk|
管道sort -nk 3
?使用第3列進行排序column -t
用空格隔開
總結(jié)
這次我們嘗試了一下各種在vi中執(zhí)行外部程序
可以排序
可以改大小寫
還可以用管道
直接對于緩沖buffer文件進行操作
還是很方便的
其實還有一個外部命令很重要
根據(jù)內(nèi)容搜索grep
這個怎么和vim配合呢???
下次再說!