2009-08-06 613 views
5

讀了一些vim的提示,我遇到了:r!{command}:.!{command},兩者都將shell的輸出<command>放到當前緩衝區中。 我想'r'代表'閱讀',但我如何在上面的命令中'翻譯'點?有什麼區別:。!和:r!?

並且:它們是否具有完全相同的功能?

非常感謝您的見解!

孤拔

+0

也許這應該去超級用戶,因爲這是一個用戶問題,而不是編程? [@Guba,不用擔心移動它,如果需要它會自動發生。 Beta密碼位於http://blog.stackoverflow.com/2009/07/super-user-semi-private-beta-begins/,不要忘記鏈接您的帳戶,請參閱http://blog.stackoverflow。 com/2009/07/cross-site-account-associations /] – bdonlan 2009-08-06 17:10:33

回答

16

的點是一個區域,指的是當前行。 !然後獲取此區域並通過命令管理它。

因此,舉例來說,如果你這樣做:

:.!rev 

你會反轉字符的當前行的順序。

當然,如果您使用忽略其輸入的命令,則只需將當前行替換爲任何輸出即可。

:r!另一方面,在當前行之後插入輸出,而不刪除當前行的文本。

+0

太棒了!歡呼快速和準確的答覆! – Guba 2009-08-06 17:11:35

+0

:.r!不適合我。它不需要線路和管道這個命令。 – Arpegius 2009-08-06 19:06:16

+1

lionbest,請注意,沒有提到:.r! 。它可以是:。!{command}或:r!{command}。 – Guba 2009-08-07 06:13:15