2011-05-26 128 views
64

在我.vimrc文件我有一个键之前线你可以在Vim中有文件类型特定的键绑定吗?

" the mappings below are for commenting blocks of text 
:map <C-G> :s/^/\/\//<Esc><Esc> 
:map <C-T> :s/\/\/// <Esc><Esc> 

但是插入双斜线(//),当我编辑的Python脚本我想改变这种状况到#标志征求意见

意见结合

我有一个Python.vim文件在我.vim/ftdetect文件夹中也有tabwidths等 设置什么是覆盖键绑定代码如果可能的话,所以我使用的Python:

" the mappings below are for commenting blocks of text 
:map <C-G> :s/^/#/<Esc><Esc> 
:map <C-T> :s/#/ <Esc><Esc> 

回答

55

的ftdetect文件夹是文件类型检测的脚本。文件类型插件必须位于ftplugin文件夹内。文件类型必须被包含在文件名中的以下三种形式之一:

  • .../ftplugin/<filetype>.vim
  • .../ftplugin/<filetype>_foo.vim
  • .../ftplugin/<filetype>/foo.vim

例如,你可以在地图上为CPP文件类型将意见.../ftplugin/cpp_mine.vim以下内部:

:map <buffer> <C-G> :s/^/\/\//<Esc><Esc> 
:map <buffer> <C-T> :s/\/\/// <Esc><Esc> 
+0

真棒,完美工作! – James 2011-05-26 04:23:28

+6

你忘了''的一部分。 – 2011-05-26 08:43:35

+0

是的..它就是这样。谢谢 – freitass 2011-05-26 10:32:10

57

您可以使用:map <buffer> ...来为活动缓冲区创建本地映射。这需要您的Vim编译为+localmap

所以,你可以这样做

autocmd FileType python map <buffer> <C-G> ... 
3

Btw ...如果你的主要问题是关于评论......你应该看看'nerdcommenter'插件,它是在java/c/C++/python/dos_batch_file/etc等中评论/取消注释你的代码的最快方法。

+1

我一直非常高兴与YAATPP * https://github.com/tpope/vim-commentary * - >还有另一个惊人的蒂姆波普插件 – 2016-12-16 10:46:48

相关问题