在我的.vimrc
文件中,我有一个用于注释的键绑定,它在行首插入双斜杠(//
):
" the mappings below are for commenting blocks of text
:map <C-G> :s/^/\/\//<Esc><Esc>
:map <C-T> :s/\/\/// <Esc><Esc>
但是,当我编辑Python脚本时,我想将其更改为注释的#
符号
我在我的.vim/ftdetect
文件夹中有一个Python.vim
文件,它也有标签宽度等设置。如果可能的话,什么是覆盖键绑定的代码,以便我可以使用Python:
" the mappings below are for commenting blocks of text
:map <C-G> :s/^/#/<Esc><Esc>
:map <C-T> :s/#/ <Esc><Esc>
发布于 2011-05-26 11:32:49
您可以使用:map <buffer> ...
仅为活动缓冲区创建本地映射。这要求您的Vim是用+localmap
编译的。
所以你可以像这样做
autocmd FileType python map <buffer> <C-G> ...
发布于 2019-01-09 18:28:08
我更喜欢将我的配置放在一个文件中,所以我使用autocmd方法。
augroup pscbindings
autocmd! pscbindings
autocmd Filetype purescript nmap <buffer> <silent> K :Ptype<CR>
autocmd Filetype purescript nmap <buffer> <silent> <leader>pr :Prebuild!<CR>
augroup end
Vim不会在你的vimrc
源码时清除set autocmds,所以启动vim,在你的vimrc
中修改一些东西,然后运行:so ~/.vimrc
会定义两次autocmds。这就是使用autocmd! group_name
对绑定进行分组和清除的原因。你可以阅读more here。
由于映射在默认情况下应用于每个缓冲区,而您只想更改与文件类型匹配的缓冲区的映射,因此<buffer>
修饰符在其中,它将映射限制到本地缓冲区。
发布于 2014-05-24 16:41:09
顺便说一句。如果你的主要问题是评论...你应该看看'nerdcommenter‘插件,这是在java/c/c++/python/dos_batch_file/etc中注释/取消注释代码的最快方法。
https://stackoverflow.com/questions/6133341
复制相似问题