繁体   English   中英

如何在我的.vimrc中覆盖一些重新映射以正确编辑Python

[英]How to override some remapping in my .vimrc to edit Python properly

我编写CSS和Python,对于CSS,我有以下省时的方法

inoremap :      :;<Left>

直到我开始用Python编写代码,这都很棒。 每次击中:我变得多余; 我应该提到的是,通过添加适当的缩进使Python编辑变得愉快

~/.vim/ftplugin/python.vim

python.vim包含以下内容

setlocal tabstop=4
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal textwidth=80
setlocal smarttab
setlocal expandtab  

我把什么代码到python.vim覆盖inoremap : :;<Left>从我.vimrc ,这样,当我按:我得到的是一个单一的:

您所有特定于文件类型的设置都应输入:

~/.vim/after/ftplugin/<language>.vim

使用此设置,可以确保任何默认ftplugin 之后干净地应用您的设置。

放置特定于Python的设置:

setlocal tabstop=4
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal textwidth=80
setlocal smarttab
setlocal expandtab

到这个文件中:

~/.vim/after/ftplugin/python.vim

和您特定于CSS的映射:

inoremap <buffer> : :;<Left>

到这个文件中:

~/.vim/after/ftplugin/css.vim

您应该签出:help map-local

您可以将其放在python.vim

iunmap <buffer> :

或者,仅将:映射放入css.vim

inoremap <buffer> : :;<Left>
You can put this in your python.vim:
   iunmap :

如Daan所述,您还可以将:的映射放在特定于CSS的vim文件中(例如〜/ .vim / syntax / css.vim)。

您可以在.vimrc使用自动命令来执行此操作

autocmd FileType css inoremap <silent> <buffer> : :;<Left>

这仅在编辑Vim知道为CSS的文件时才有效( :set ft?会返回CSS)。

如果您不熟悉自动命令,建议阅读有关自动命令的Vim文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM