我需要同时做python和js程序。
而且,我在〜/ .vim / after / ftplugin /目录下有一些语言特定的节目
在这里,我将向您展示这些文件的内容:
在python.vim中
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4
nnoremap Y :Autoformat<CR>
在我的javascript.vim
中 nnoremap Y :call JsBeautify()<CR>
想象一下这个风景:
:split
JsBeautify
这不是我想要的
现在我想知道是否有办法让vim像这样工作:
Autoformat
而在编辑js文件时调用JsBeautify()
〜答案 0 :(得分:3)
您必须将选项和映射设置为 local 。
在~/.vim/after/ftplugin/python.vim
:
setlocal tabstop=4
setlocal shiftwidth=4
setlocal expandtab
setlocal softtabstop=4
nnoremap <buffer> Y :Autoformat<CR>
在~/.vim/after/ftplugin/javascript.vim
:
nnoremap <buffer> Y :call JsBeautify()<CR>
正如FDinoff在他的评论中写道:
:help :setlocal
:help :map-local