2009-06-04 2 views
9

マイSASコードは、コメントのこのスタイルが必要です一度私はこのsetコマンドを入力すると、実際にそれらのコメントをコードに追加する方法を知りません。命令は/\*<enter>と入力しますが、挿入モードではこれは正常に動作し、コマンドモードではこれは*にあります。挿入コメントは自動的にVimの中

これを動作させるにはどうすればよいのですか?コメント記号を自動的に挿入する方法はこれよりも優れていますか?

答えて

19

に入れて、Vimはありません改行や終了マーカーを自動的に挿入します。代わりに、それはあなたがいる限り'formatoptions'rが含まれているように、入力すると、それらを挿入することが容易になります。この後

:set formatoptions+=r 

を、通常通りあなたのコメントを入力して起動します(挿入モードで)「/*<Enter>」。 Enterキーを押すと、次の行にコメントリーダー(アスタリスクとスペース)が自動的に表示され、入力を開始できるようになります。あなたのコメントが完了したら、 "<Enter>/"で終了してください。 <Enter>は次の行に移動し、スラッシュは終了マーカーの2番目の文字になります。はい、それはあなたのためのスペースを削除しますが、ちょうどあなたがエンターを押した直後です。

このタイプのコメントを編集しやすくするには、cおよび/またはo文字をformatoptionsに追加することもできます。前者は、コメントを自動ラップすることができ、後者は、ノーマルモードコマンドを使用してコメント内に新しい行を作成するときに、コメントリーダーを挿入します。

+0

が書かれていますが、私のvimが壊れているようです。私のコメントの末尾にある ' /'を押すと、次の行にコメントスラッシュとコメントが追加されます。 '* /'として '* /'を使います。 –

+0

@Daniel:その動作は、上記の ':set comments'行の' x'文字によって引き起こされます。詳細は ':help 'format-comments''を参照してください。悪い ''comments''値がどこに設定されているのかを知るには':verbose set comments? 'を使います。 – eswald

2

どの言語ですか? C Vimのオートロードのコメントには、この設定で

:あなたが期待通りに動作し

" Set 'comments' to format dashed lists in comments. 
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// 

。使用している言語/拡張機能をftpluginに追加する必要がありますか?

+1

OPにSASコード – webwesen

1

私の.vimrcでこの略語があります:0AはCTRL-Vの+のアップです^ [

" /// -> insert javadoc comment 
iab <buffer> /// /**^M *^M*/^[0A 

を。挿入モードで
タイプ///あなたの問題を解決する可能性があります

/** 
* 
*/ 
1

thisのVimスクリプトのようなコメントを得るために - ちょうどデフォルトでは「vimXY /構文」フォルダ

1

複数のファイルタイプを使用している場合は、コメントスタイル(:set comments?)も確認してください。たとえば、PHPの場合、HTML形式のコメント<!-- ... -->が使用されることがあります。したがって、/*と入力してからを入力してください。は効果がないようです。私は、HTMLコードはまだ適切にコメントされます

au Bufenter *.php set comments=sl:/*,mb:*,elx:*/ 

PHPのコメントがデフォルトで使用されていることを確認するために私の.vimrcファイルに次き

は、しかし、HTMLコード内のスペースは PHPコメント規則を使用する場合があります(もしあなたがtCommentのようなプラグインを使用していれば)、私はとにかく可能ではないと思われる複数行のHTMLコメントを持たないでしょう。

関連する問題