2

こんにちは、最初の vim スクリプトを作成しようとしています。ブロックまたは中かっこで PHP コードをコメント アウトする関数を作成したいと考えています。

これが私が思いついたものですが、動作させることができません:

:function Mycom()
    :let b = line(".")
    :echo "this is "b
    // trying to grab the matching bracket, not sure wheather this is ok
    :%
    //keeps missing and going to end og file
    :let e = line(".")
    :echo "here is end" e
    //here is where i want to comment out the block
    :echo b,e s%^%//%
:endfunction
4

1 に答える 1

5
  • 各行に行頭を付けるべきではありません:— Vim コマンドラインで関数を書いていない限り:、Vim は自動的に を追加します。(ただし、スクリプトはファイルに記述したほうがよいでしょう。その方が変更やテストが簡単です。)
  • "Vim スクリプトのコメントは、 ではなく (二重引用符) で始まり//ます。
  • %またはのような通常モード コマンドを実行する場合は、またはddを使用できます。normal! %normal! dd
  • echo b,e s%...動作しません。echoテキストが必要な場合は、 を試してくださいecho b.','.e.' s%^%//%'

echomの代わりに使用することも検討してechoください。メッセージはメッセージ履歴に保存されるためechom、後で を使用して読み直すことができます:mess

PSカーソルが開いている場合{(スクリプトで使用しようとしているのを見ました%)、次を使用してブロックにコメントできます

ctrl-v%I//<esc>

于 2013-05-16T23:44:03.030 に答える