为什么文件类型可以工作而BufRead、BufNewFile不能';t-VIM?
当我将带有为什么文件类型可以工作而BufRead、BufNewFile不能';t-VIM?,vim,Vim,当我将带有FileType的autocmd放入我的.vimrc时,它确实起作用 autocmd FileType ctp setlocal commentstring=#test\ %s 当我调用cc时,它确实起作用,并将#test作为注释。但是我必须首先通过set ft=ctp来更改文件类型,但这会弄乱我的语法突出显示,这就是为什么我希望能够通过文件扩展名来设置它 但是当我尝试使用BufRead时,BufNewFile不起作用 autocmd BufRead,BufNewFile *.ctp
FileType
的autocmd
放入我的.vimrc
时,它确实起作用
autocmd FileType ctp setlocal commentstring=#test\ %s
当我调用cc
时,它确实起作用,并将#test
作为注释。但是我必须首先通过set ft=ctp
来更改文件类型,但这会弄乱我的语法突出显示,这就是为什么我希望能够通过文件扩展名来设置它
但是当我尝试使用BufRead时,BufNewFile不起作用
autocmd BufRead,BufNewFile *.ctp setlocal commentstring=#test\ %s
如何按文件扩展名而不是类型设置
setlocal commentsting
。。ctp
属于php文件类型组。所以如果你想
在您的.vimrc
中。要更改为其他注释样式,请使用ca
其他方法的问题是NERD Commenter@work.bin谢谢你的评论,我尝试了
BufEnter
-得到了相同的结果。对不起,还有一个问题^^^它只能用于.ctp文件吗?像autocmd BufRead,BufNewFile*.ctp let g:NERDCustomDelimiters={'php':{'left':'/','leftAlt':'''}}
不幸的是,似乎不可能在该阶段将g:NERDCustomDelimiters
的autocmd
用于g:NERDCustomDelimiters
。也许可以让b:nerdcommenterims={'left':'/','leftAlt':'}直接用于*.ctp
,但我不知道要使用的右触发器事件。例如,au CursorMoved*.ctp让b:nerdcommenterims={'left':'/','leftAlt':''}
起作用,但它确实不好:-)谢谢你的帮助。我从你身上学到了很多。非常感谢。
let g:NERDCustomDelimiters = {
\ 'php': { 'left': '//', 'leftAlt': '#test ' }
\ }