2010-05-04 46 views
6

社區維基社區維基:「Vim的:在唬弄機構的高級用法」

作爲的猛拉系統顯示(感謝米哈爾)的文件,Vim的猛拉系統似乎更加複雜,然後一個標準的剪貼板。因此,如果vim老兵能夠向我們展示一些利用這種機制的不同風格,我認爲這是有益的。特別是在不使用重量級IDE(比如C++?)的情況下使用vim進行復雜項目。

原始的問題

現在我使用vim的一切I型,而不是隻爲配置服務器,我wan't理清以下瑣事。我試圖制定谷歌搜索查詢,但結果並沒有解決我的問題:D。

問題一:如何多次抽取和替換?

一旦我在YANK歷史中有了某些東西(如果這是它所稱的),然後在命令模式下突出顯示並使用'p'字符,替換的文本將放在YANK歷史的前面;因此後續的替換操作不會使用我想要的文本。我想在某些情況下這是一個有用的功能,但我不需要在我的工作流程中使用它。

問題二:如何輸入文本而不會導致線條向前漣漪?

我使用硬製表位allign以某種方式我的代碼 - 例如,

FunctionNameX  (lala * land    ); 
FunctionNameProto (       ); 

當我弄清楚什麼需要進入第二個功能,我怎麼插入不動文字了嗎?

問題三在同一臺機器上跨GVIM實例有一個統一的YANK歷史記錄嗎?我有> 1臺顯示器。只是想知道,atm我正在使用突出顯示+鼠標中鍵。

+0

屬於超級用戶的編程問題? – 2010-05-04 10:49:52

+2

「我如何使用我的文本編輯器?」不是一個編程問題。 – 2010-05-04 10:51:33

+0

那麼,如果你要這麼肛門......超級用戶是:「一般的計算機軟件和計算機軟件」。這個問題不涉及通用軟件。我可能不得不編寫自己的vim宏來做我想做的事。編寫宏是列出一步一步的過程來實現的。這個過程的總稱是算法,算法編寫者也被稱爲「程序員」。 Stackoverflow是討論編程的地方。 – 2010-05-04 11:13:14

回答

4

回答一:一個相關的,如果不是特別鼓舞人心,從Vim的文檔qoute(見:help put-Visual-mode):

當使用put命令像| P |或| P |在Visual模式下,Vim會嘗試用 替換選定的文本與寄存器的內容。 是否運行良好取決於選擇類型和 寄存器中的文本類型。通過塊選擇,它也取決於塊的大小以及角落是否位於現有角色上。 (實現細節: 它實際上的工作原理是首先在選擇之後放置寄存器,然後 刪除選擇。)
先前選擇的文本放在未命名的寄存器中。如果你想 把同樣的文字放入一個可視化選擇幾次,你需要使用 另一個寄存器。例如,抽出要複製的文本,直觀地選擇文本到 替換並使用「0p」。您可以隨意多次重複此操作,每次都會更改 未命名的寄存器。

答二:[R(首都 'R')使您可以替換模式。

我錯過了答案三,恐怕。

答案三:不太符合「統一使勁歷史」規範,但「+ Y猛拉到剪貼板和」 + P從剪貼板粘貼如果剪貼板是可用的。

+0

謝謝你的答案,我現在正在閱讀文檔。我甚至沒有意識到「寄存器」的概念是可用的。我可能會找到一種方式從中受益:D – 2010-05-04 11:03:58

+0

剛纔我發現,當您的環境提供這種功能時,您可以使用「+ y for yank to clipboard」和+ p從剪貼板粘貼(並且很可能)。這是否解決你的第三個問題? – 2010-05-04 11:12:46

+0

確實如此,謝謝Michal。特別是對put文檔的參考。它會非常幫助我。 – 2010-05-04 11:14:50

4

猛拉到緩衝區

:y b 

猛拉到緩衝液B

而且

:p b 

地方吧。

我認爲有更多的命名緩衝區可用。

+0

確實,程序員使用的是a-z,而「剪貼板」就像機制使用0-9。因爲延線繼續向前0-9的元素,並且尾隨的元素開始下降,就像你被抽出一樣。 +1,因爲對於不想閱讀文檔的人來說,這是一個快速和骯髒的答案:D – 2010-05-04 11:36:25