通常,我所做的是從一個文件中刪除行,切換到另一個文件並粘貼。
此外,我一般使用標記。我輸入mb
來標記開始行,而不是輸入實際的數字,然後轉到結束行並點擊d'b
刪除回到標記爲b
的行。但是你可以用mb
標誌着一個開始行,me
標記的端線,然後運行一個ex命令:
:'b,'e w somefile.txt<Enter>
當然你也可以通過z
爲您的標記使用來自a
的信;我通常使用b
和e
,但你可以使用你喜歡的。
我怎麼會動線:
m'b
<navigate to end line>
d'b
:n somefile.txt<Enter>
p
Ctrl+^
按Ctrl + ^從當前打開的文件到先前打開的文件的開關。 (如果你願意的話,你也可以打開一個窗格並切換窗格,窗格不能用普通的vi工作,但可以在vim中工作。)
上面假設你已經設置了autowrite
選項。使用autowrite
時,:n
命令和Ctrl + ^兩者都只是寫入當前文件,然後切換文件,而不是抱怨在未保存文件的情況下更改了文件。您也可以執行上述操作,並在使用:n
或Ctrl + ^之前明確寫入文件。
順便說一句,我用Ctrl + ^這麼多,我把它映射到K
。打字容易,但是我很久以前就習慣了這種習慣,因爲有時候我不得不使用無法輸入Ctrl + ^的啞終端。
順便說一句,當你刪除行時,他們進入「未命名的緩衝區」。在vim中,當您切換文件時,未命名的緩衝區會被保留。在原來的vi中,未命名的緩衝區被清除。所以以上不適用於舊的vi。您可以通過刪除到指定的緩衝區,然後從指定的緩衝區粘貼來使其工作。它適用於任何版本的vi。
m'b
<navigate to end line>
"ad'b
:n somefile.txt<Enter>
"ap
Ctrl+^
上面刪除到名爲a
緩衝,然後從a
在其他文件粘貼。這當然在vim中有效;只是你不需要它。
這是一個有趣的方式來處理它!那種優雅。 – steveha