それはにvimのでヒアドキュメントまたは「ここに文書を」オブジェクトを選択可能ですか?

StackOverflow https://stackoverflow.com/questions/2343906

  •  23-09-2019
  •  | 
  •  

質問

Vimの大きな強みの一つは、オブジェクトを選択する、製品ですコンテンツ内の単語、段落や各種区切り文字の迅速な操作ます。

たとえば、

vi{

{}括弧の対内部のすべてを選択します。

ここを文書化やヒアドキュメント選択するための任意の同等の機能があります:
<<<HTML
    ....
    ....
HTML;
<時間>

に基づいて、 ErichBSchulzの答え私は選択インナーヒアドキュメントについては、以下を思い付います:

nmap <F6> ?<<<<CR>w*kV?<<<<CR>j

?<<<<CR>w    " find beginning tag (after <<<)
*k           " find matching end tag and go up 1 line
V            " enter visual mode
?<<<<CR>j    " find beginning tag and go down 1 line
役に立ちましたか?

解決

以前の記事を考えると歩近づいそれらを取るしようとしています。

:これは、開始タグは次のようにヒアドキュメント何か以内に発生した場合(つまりは壊れます、100%信頼できるもので文句を言いません
?<<< "find begining
w    " go to starting tag
*    " find starting tag
v    " enter visual mode (could use Upper V to do an 'ambientish' object select 
n    " find end tag
e    " optional include end tag
編集:私はあなたが選ぶ「インナー」ヒアドキュメントのために彼の優れたキーマッピングを使用することをお勧めしてケンは、上記のようにシーケンスを向上しています:

nmap <F6> ?<<<<CR>w*kV?<<<<CR>j

(これはPHPのスタイルヒアドキュメントに基づいています)。

他のヒント

のヒアドキュメントの識別子のキーを押し、 V *

の上に、私は通常、最初の行にカーソルを置きますヒアドキュメントを選択するための

V * ライン選択を開始し、そしてだろう識別子の次の試合、ヒアドキュメントの終わりに行く、検索が開始されます...

A <<''ヒアドキュメントが空行で終了簡単です、あなたがスタート(?<<^M^M)ですでにしている場合:空行までここからv}の選択

そうでなければ、あなたの例では私は考えることができる最高のv/^HTMLです。

letのはあなた自身のテキストオブジェクトを定義だと、このプラグインがあります。

http://www.vim.org/scripts/script.php ?SCRIPT_ID = 2100

私、あなたが明示的に先頭に行く必要はありませんので、あなたは「儀」(ヒアドキュメントでヤンクを)言うことができるように、1を定義するとよいでしょう想像します。

私はこれを自分の周りにだまされていない注意します。

あなただけの視覚的なあなたが可能性を選択します。

したい場合
 nnoremap <leader>ih ?HTML<cr>V/HTML<cr>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top