加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在VIM中执行基于文件扩展名的操作?

发布时间:2020-12-15 22:53:59 所属栏目:安全 来源:网络整理
导读:如果文件是.rb扩展名,我按F5时我想在VIM中执行 rubyf操作. 现在我就是 map F5 :rubyf % CR. 但我也想解释方案文件,如果它的.scm或编译tex等使用相同的F5.如何检查文件扩展名并执行正确的绑定?你们如何在G / VIM中编译不同的文件? 解决方法 您可以为每个文
如果文件是.rb扩展名,我按F5时我想在VIM中执行 rubyf操作.
现在我就是

map <F5> :rubyf % <CR>.

但我也想解释方案文件,如果它的.scm或编译tex等使用相同的F5.如何检查文件扩展名并执行正确的绑定?你们如何在G / VIM中编译不同的文件?

解决方法

您可以为每个文件扩展名创建不同的autocmd.例如:

au BufEnter,BufNew *.rb map <F5> :rubyf % <CR>.

有关autocmds的信息,请参阅:help autocmd.

针对您的具体问题的更好方法是映射< F5>总是调用:make%然后有一个autocmd为每个文件类型设置makeprg选项(当你这样做时使用setlocal以获得最佳结果).这不是用于将ruby加载到Vim中(正如您似乎正在做的那样),而是用于调用外部编译器/解释器/ linter.这基本上就是我的工作.这样做的好处是Vim可以解释错误和警告并自动跳转到代码中的问题.您还可以显示错误/警告列表.请参阅:help quickfix以获取有关此内容的信息,以及’makeprg’,:make,:copen和’errorformat’的帮助主题.

稍微有点不同就是根本不使用autocmds,而是要有一个外部脚本,当给定源文件名时会计算出要运行的内容(ruby,你的方案编译器,pychecker,你的C编译器,等等).然后只需将makeprg设置为始终运行该脚本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读