我寫了一個描述vim摺疊的博客。所以我需要這樣的代碼。如何抽取沒有摺疊內容的代碼塊?
+-- 15 lines: set_up_socket_dir() {--------------------------------------------
但是當我抽出這一行時,實際上是摺疊了摺疊的代碼。我如何從vim獲得該行。
我寫了一個描述vim摺疊的博客。所以我需要這樣的代碼。如何抽取沒有摺疊內容的代碼塊?
+-- 15 lines: set_up_socket_dir() {--------------------------------------------
但是當我抽出這一行時,實際上是摺疊了摺疊的代碼。我如何從vim獲得該行。
要在Vim中顯示緩衝區/範圍(包括語法高亮和摺疊),可以使用內置的:TOhtml
命令。這讓你HTML。對於整個窗口布局,有ScreenShot plugin。
如果你只是想要純文本,我會啓動控制檯Vim,用鼠標選擇整個內容,並使用終端的複製功能將選擇複製到系統的剪貼板。 (我相信你也可以用屏幕或TMUX做到這一點。)
IIUC,要複製關閉的摺疊文本標題。您可以使用無模式選擇來執行此操作(請參閱:help modeless-selection
)。用標記文字Ctrl + Shift鬱悶。
有可能要簽出VIM功能:
:h foldclosed(
你可以寫這個功能的:g
命令行:
:g/^/if line('.')==foldclosed('.') || foldclosed('.')==-1|y Z |endif
所以,你的工作流程是:
qzq
清除寄存器z
...visual select lines...
'<,'>g/^/if line('.')==foldclosed('.') || foldclosed('.')==-1|y Z |endif
"zp
做粘貼
如果你經常使用它,你可以創建一個映射或命令。
它的工作原理是:
一直在找這個,確實知道如何標記,而不是去複製它,(當GUI)。知道該怎麼做':help'並不容易。 – 244an 2013-02-27 20:15:15
@ 244an:在標記_is_複製的Unix系統(包括OSX)上,不知道它是否可以在Windows上運行。 – Thor 2013-02-28 08:39:27
我知道,但在Windows上它更棘手,您必須進入命令模式並執行'' - 如果由於某種原因,您不會按照通常的方式複製它。 –
244an
2013-02-28 09:11:37