私はvimの折り畳みを説明するブログを書いています。だから私はこのようなコードが必要です。
+-- 15 lines: set_up_socket_dir () {--------------------------------------------
しかし、私が行をヤンクするとき、実際には折りたたまれたコードをヤンクします。どうすればvimからその行を取得できますか?
あなたがチェックしたいと思うかもしれない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
貼り付けます
頻繁に使用する場合は、マッピングまたはコマンドを作成できます。
それは次のように機能します:
バッファ/範囲をVimで表示されるようにレンダリングするには(構文の強調表示と折りたたみを含む)、組み込みの:TOhtml
コマンドを使用できます。これにより、HTMLが取得されます。ウィンドウレイアウト全体には、ScreenShotプラグインがあります。
プレーンテキストだけが必要な場合は、コンソールVimを起動し、マウスでコンテンツ全体を選択し、端末のコピー機能を使用して、選択内容をシステムのクリップボードにコピーします。(screenまたはtmuxでもこれを実行できると思います。)
IIUC、閉じた折り畳みテキストの見出しをコピーします。これは、モードレス選択で実行できます(を参照:help modeless-selection
)。Ctrl+をShift押してテキストをマークします。