16

.{cpp,h}ファイル内の単一行コメントの最後に新しい行を開始すると、vim自動的にコメント化されます。例えば:

// This is a comment<CR>
// | <- Cursor is moved to `|`, `//` is automatically inserted. 

これがプラグインなのか設定なのかわかりません。でこれを行うように見えるものは何も表示されません~/.vimrc。ロードされたプラグインは以下にリストされています。

スタイルの複数行コメントにはこれが気に入っていますが、デフォルトで 1 行のコメントが複数行にまたがることは望ましくありません。/* */

これを行う設定 (またはプラグイン) と、このコメント タイプのみをオフにすることはできますか?

:scriptnamesこれを与える:


  1: /Users/simont/.vimrc
  2: /usr/local/share/vim/vim73/syntax/syntax.vim
  3: /usr/local/share/vim/vim73/syntax/synload.vim
  4: /usr/local/share/vim/vim73/syntax/syncolor.vim
  5: /usr/local/share/vim/vim73/filetype.vim
  6: /usr/local/share/vim/vim73/ftplugin.vim
  7: /usr/local/share/vim/vim73/syntax/nosyntax.vim
  8: /Users/simont/repositories/config-files/vim/colors/solarized.vim
  9: /usr/local/share/vim/vim73/plugin/getscriptPlugin.vim
 10: /usr/local/share/vim/vim73/plugin/gzip.vim
 11: /usr/local/share/vim/vim73/plugin/matchparen.vim
 12: /usr/local/share/vim/vim73/plugin/netrwPlugin.vim
 13: /usr/local/share/vim/vim73/plugin/rrhelper.vim
 14: /usr/local/share/vim/vim73/plugin/spellfile.vim
 15: /usr/local/share/vim/vim73/plugin/tarPlugin.vim
 16: /usr/local/share/vim/vim73/plugin/tohtml.vim
 17: /usr/local/share/vim/vim73/plugin/vimballPlugin.vim
 18: /usr/local/share/vim/vim73/plugin/zipPlugin.vim
 19: /usr/local/share/vim/vim73/scripts.vim
 20: /usr/local/share/vim/vim73/ftplugin/vim.vim
 21: /usr/local/share/vim/vim73/syntax/vim.vim
4

3 に答える 3

14
au FileType c,cpp setlocal comments-=:// comments+=f://

//{cpp,h} ファイルのブロック コメントに影響を与えずに、vimrc でトリックを実行する必要があります。

現在のバッファで一時的に試すには、次のようにします。

:setlocal comments-=:// comments+=f://
于 2012-05-23T19:17:49.033 に答える
6

特定のファイル タイプに関連するこの種の構成は、通常、ファイル タイプ プラグインを介して設定されます。.cppVim に付属している一般的なファイル タイプ ( など) には、いくつかのファイル タイプがあります。でバッファのファイルタイプを確認できます:set ft?

'comments'pb2qが言ったように、新しい行を開始した後にコメントを続けるための設定はオプションから来ます。.{cpp,h}デフォルトのファイル タイプは「cpp」で、が同じディレクトリにあるため、オプション'comment'は に設定されています。ファイルから:$VIMRUNTIME/ftplugin/c.vimcpp.vimc.vim

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

commentsオプションは、フラグと{flags}:{string}フラグのリストであり、コメントの改行を拡張しないようにします。fO

Vim FAQから:

  You can use an autocommand triggered on the FileType event:

      au Filetype * set formatoptions=xyz

  This should at least be after "filetype on" in your vimrc. Best is to put
  it in your "myfiletypefile" file, so that it's always last.


  If you want to override a setting for a particular filetype, then create a
  file with the same name as the original filetype plugin in the
  ~/.vim/after/ftplugin directory For example, to override a setting in the
  c.vim filetype plugin, create a c.vim file in the ~/.vim/after/ftplugin
  directory and add your preferences in this file.

したがって、ファイル~/.vim/after/ftplugin/c.vimを作成します

  setlocal comments-=://
  setlocal comments+=fO://

問題を解決する必要があります。

于 2012-05-23T20:41:46.233 に答える
0

FileType イベントでトリガーされる自動コマンドを使用できます。

  au Filetype * set formatoptions=xyz

これは、少なくとも vimrc の「filetype on」の後にある必要があります。常に最後になるように、「myfiletypefile」ファイルに入れるのが最善です。

特定のファイルタイプの設定をオーバーライドする場合は、元のファイルタイププラグインと同じ名前のファイルを ~/.vim/after/ftplugin ディレクトリに作成します。たとえば、c.vim ファイルタイププラグインの設定をオーバーライドするには~/.vim/after/ftplugin ディレクトリに c.vim ファイルを作成し、このファイルに設定を追加します。したがって、ファイル ~/.vim/after/ftplugin/c.vim を作成します

setlocal comments-=:// setlocal comments+=fO://

于 2020-05-21T18:21:55.450 に答える