VIM的filetype绑定命令问题

2012-07-23 10:23:41 +08:00
 shellex
我在 .vimrc 中使用了如下配置:

http://gist.github.com/3161694

目的是为不同的文件类型使用不同的编译/运行配置

但是问题出现了:

- 打开一个coffee文件,按F5是CoffeeMake
- TabNew开一个新tab,里面打开一个js文件,按F5是!js
- 切换Tab到coffee那个文件,此时按F5是!js,而不是Coffee了。查看它的filetype 是coffee无误
- 目测是后打开的文件会覆盖之前的配置,即使filetype不一样

请问大家怎么处理这个情况....?

补充:使用 autocmd BufRead,BufNewFile *.coffee 的方式问题依旧
3267 次点击
所在节点    Vim
7 条回复
yesmeck
2012-07-23 10:28:29 +08:00
在这几个 map 后面加上 <buffer> 试试:
autocmd FileType go map <buffer> <F5> <ESC>:!go install
shellex
2012-07-23 10:32:11 +08:00
@yesmeck 可行~ 谢谢你。这是什么科学道理?
yesmeck
2012-07-23 10:33:02 +08:00
只对当前 buffer 设置快捷键,就不会影响别的 buffer 了。
NemoAlex
2012-07-23 10:33:31 +08:00
autocmd BufNewFile,BufRead *.c map <F5> <ESC>:make<CR>
这样试试
NemoAlex
2012-07-23 10:45:59 +08:00
嗯,应该是没有1楼的方法好
@yesmeck 感谢,学习了
shellex
2012-07-23 10:59:12 +08:00
@yesmeck 恩,明白了~谢谢侬,感谢已发送。
shellex
2012-07-23 10:59:42 +08:00
@NemoAlex 这个方法也不行呢,我补充说明了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/43181

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX