首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vimrc autocmd:

vimrc autocmd:
EN

Stack Overflow用户
提问于 2015-03-03 08:42:27
回答 2查看 1.9K关注 0票数 5

如果加载了特定文件类型的文件,则可以使用autocmd使cmd运行。例如,python:

代码语言:javascript
复制
autocmd FileType python make me happy with python

但是,如果加载的文件不是特定类型,是否有任何方法使我的cmd运行?类似于:

代码语言:javascript
复制
autocmd FileType !python make me happy without python

上面的示例不起作用,autocmd!将删除autocmd。

有什么建议吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-03 17:22:48

有几种可能性:

  • 简单的方法是调用一个函数并让您的函数检查文件类型(如果文件类型是python,则中止)。
  • 另一种方法是为python filetypes设置一个标志,并让您的函数检查标志。
  • 使用*模式,只在if条件下调用代码,检查文件类型(类似于此):autocmd Filetype * if &ft!="python"|put your code here|endif
  • 困难的方法是创建一个与python不匹配的模式。像这样的事情应该可以做到::autocmd FileType [^p],[^p][^y],[^p][^y][^t],[^p][^y][^t][^h],[^p][^y][^t][^h][^o],[^p][^y][^t][^h][^o][^n] :put your code here

(最后一部分未经检验,应说明为什么通常使用任何其他可能性)。

票数 13
EN

Stack Overflow用户

发布于 2015-03-03 09:49:20

您可以创建一个由all (*)文件类型触发的*,然后调用一个函数。

在函数中,您可以检查ft选项(&ft),以决定对某些文件类型应该做什么。在那里,您可以使用&ft的值执行任何匹配逻辑。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28827358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档