我最近从Eclipse切换到了Vim。我喜欢这个。我正在处理一些闲逛,但其中一个我遇到很多麻烦的是PHP文档评论。在eclipse中我可以输入:
/** [enter]
,下一行将自动填充
*
所以我有:
/**
* [comment goes here]
我想知道vim是否有这样的东西。似乎有一些插件可以通过运行命令自动生成doc注释,但是我喜欢在我输入时让它们执行它们。
我正在玩PHP缩进脚本(http://www.vim.org/scripts/script.php?script_id=1120)并且我知道它何时在doc注释块中,但我无法弄清楚如何让它实际更改文本在块内部按下Enter后添加“*”。
我已经尝试了其他插件所做的事情:
let @z = ' * '
put! z
也尝试了这个:
exe 'normal!' '"zgp'
但没有运气。这是不可能从缩进脚本,如果没有,我如何实际让Vim识别文档注释块并在我打字时采取相应的行动?
非常感谢任何帮助!
答案 0 :(得分:2)
无需弄乱缩进文件。 Vim的formatoptions
将为您和各种语言(不仅仅是PHP)执行此操作。
确保r
中包含formatoptions
:
:setlocal fo+=r "to set
:set fo? "to query
您可以在.vimrc
或.vim/ftplugin/php.vim
中添加此内容(如果您只是想为PHP激活此内容)。
有关formatoptions
和文件类型插件的详细信息,请参阅:
答案 1 :(得分:1)
将以下代码添加到您的vimrc会做类似于您想要的操作吗?
autocmd BufNewFile,BufRead *.php setlocal formatoptions+=r formatoptions+=o
autocmd BufNewFile,BufRead *.php setlocal comments=s1:/*,mb:*,ex:*/,://,:#
我目前无法弄清楚如何在不覆盖<!-- --->
评论的情况下使其发挥作用。即这将通过<!-- -->
评论打破自动缩进。
编辑。在Johnsyweb的发行版中添加了://,:#
到comments
。
答案 2 :(得分:0)
尝试将此添加到您的vimrc:
let g:PHP_autoformatcomment=1
我在Mac上,默认情况下似乎已启用。功能完全如你所说。