ubuntu下修改 vim 配置 将 .inc 后缀文件 动态当作不同文件对待的解决办法
2011-11-03 11:25
531 查看
搜做vim安装目录下的filetype.vim 文件
我的是/usr/share/vim/vim72/filetype.vim
打开它 搜索inc
我的找到如下: 1360-1365是我后来添加的。
从1347可以看出是把.inc文件当作什么格式去解析高亮语法
后面是一个函数call s:FTinc()
其中意思就是在文件的前3行 getline(1).getline(2).getline(3) 发现有XX字符串存在 那个就当作什么文件
我的处理是前3行出现 '/\* *filetype *= *cpp *\*/' 或者'/\* *filetype *= *c *\*/' '# *filetype *= *make *' 分别当作什么文件
当然如果同时出现上面的情况是以最后一次出现的为准——状态机。
好了不多说了,希望对大家有帮助。
我的是/usr/share/vim/vim72/filetype.vim
打开它 搜索inc
我的找到如下: 1360-1365是我后来添加的。
从1347可以看出是把.inc文件当作什么格式去解析高亮语法
后面是一个函数call s:FTinc()
其中意思就是在文件的前3行 getline(1).getline(2).getline(3) 发现有XX字符串存在 那个就当作什么文件
我的处理是前3行出现 '/\* *filetype *= *cpp *\*/' 或者'/\* *filetype *= *c *\*/' '# *filetype *= *make *' 分别当作什么文件
当然如果同时出现上面的情况是以最后一次出现的为准——状态机。
好了不多说了,希望对大家有帮助。
1346 " Povray, PHP or assembly 1347 au BufNewFile,BufRead *.inc call s:FTinc() 1348 1349 func! s:FTinc() 1350 if exists("g:filetype_inc") 1351 exe "setf " . g:filetype_inc 1352 else 1353 let lines = getline(1).getline(2).getline(3) 1354 if lines =~? "perlscript" 1355 setf aspperl 1356 elseif lines =~ "<%" 1357 setf aspvbs 1358 elseif lines =~ "<?" 1359 setf php 1360 elseif lines =~ '/\* *filetype *= *cpp *\*/' 1361 setf cpp 1362 elseif lines =~ '/\* *filetype *= *c *\*/' 1363 setf c 1364 elseif lines =~ '# *filetype *= *make *' 1365 setf make 1366 else 1367 call s:FTasmsyntax() 1368 if exists("b:asmsyntax") 1369 exe "setf " . fnameescape(b:asmsyntax) 1370 else 1371 setf pov 1372 endif 1373 endif 1374 endif 1375 endfunc
相关文章推荐
- ubuntu16.04下docker修改配置文件不生效解决办法
- WINDCHILL项目模板导出压缩包后修改里面的配置文件,然后再压缩导不进去的问题解决办法
- ubuntu安装lamp&&mysql中修改配置文件显示中文&&强大的vim配置&&c++连接Mysql
- Ubuntu 配置hbase修改profile文件后不能登录桌面解决方法
- [Ubuntu 14.04] Samba客户端不能修改文件的解决办法
- Tomcat配置文件修改无效自动恢复还原的解决办法总结
- Ubuntu中修改vim配置文件,更方便于c程序设计
- Ubuntu在恢复模式下无法修改系统文件解决办法
- [Ubuntu网络配置]Ubuntu GNOME版网络配置中无法将默认DHCP方式修改为静态IP的解决办法
- 修改php.ini配置文件无效的解决办法
- Tomcat配置文件修改无效自动恢复还原的解决办法总结
- 通过文件配置Oracle网络服务,提示无法修改tnsname.ora文件解决办法
- Docker配置文件在Ubuntu中不起作用的解决办法
- Ubuntu下使用vim编写makefile文件出现错误 "makefile: *** missing separator. stop ."的解决办法
- ubuntu下安装vsftpd及vsftpd配置文件不见的解决办法
- Ubuntu命令行修改网络配置,静态ip,hostname ,解决hostname ping不通的办法
- Ubuntu中修改vim配置文件,更方便于c程序设计
- logback动态修改配置文件实现打印不同级别日志
- Ubuntu修改etc/environment文件后无法登陆系统的问题解决办法