2012-10-18 48 views
4

在vim中,是否有可能在一個緩衝區中顯示文件的一部分從給定行到另一行(比如說第10行到第25行的文件a.txt)?是否可以通過刪除內容(第10到25行)來編輯它並將其寫回文件,然後從開始行(第10行)開始放置當前緩衝區?vim - 顯示文件的一部分從一行到另一行

我希望在不打開整個文件的情況下編輯我指定的行範圍中的部分文件。我需要這個用於可用性目的,而不是性能問題。

回答

3

NrrwRgn plugin這樣做;編輯器功能來自Emacs。您可以使用:NarrowRegion編輯暫存緩衝區中的一系列行。

+0

儘可能接近我的需求。謝謝。 – ccit

1

我不知道如何獨自做到這一點在vim,但如果我有這樣的一個問題,我會分裂文件:

head -n 10 file > file1 
tail -n +11 | head 15 > file2 
tail -n +16 > file3 

然後編輯中間文件

vim file2 

,並再次串連文件:

cat file1 file2 file3 > file 

當然,有一點功能的輔助,你可以用一個命令去做。

如果問題是,你不喜歡看到整個文件(而不是因爲文件是非常大的),然後定義隱藏文件的其餘部分摺疊:

1Gv9jzf16jvGzf 

(解釋:1Gv9j - 轉到頂端,啓動一個視覺塊,轉到9行; zf創建一個摺疊,16j轉到第26行,vG創建一個從第26行到最後的可視塊,zf摺疊文件的其餘部分)

+0

創建中間文件很難隨時保持。通過正常模式命令和解釋。但是我會用26G而不是16j來使它更容易(因爲對於大的行數很難)。 – ccit

相關問題