我有以下配置,但是当我输入一个 eruby 文件然后返回到另一个文件时,F3 仍然执行:Autoformat.
noremap <F3> :Neoformat<CR>
autocmd FileType eruby bufdo map <F3> :Autoformat<CR>
Run Code Online (Sandbox Code Playgroud)
我希望它只在 eruby 缓冲区中应用该命令。
首先,不要bufdo在这里使用;它对所有缓冲区执行命令。其次,更喜欢<buffer>映射。
使用自动命令:
augroup vimrc_eruby
au!
au FileType eruby noremap <buffer> <F3> :Autoformat<CR>
augroup END
Run Code Online (Sandbox Code Playgroud)
但我强烈鼓励阅读有关ftplugins 的内容,并使用~/.vim/after/ftplugin/eruby.vim. 阅读setlocal,map-<buffer>和b:undo_ftpluginVim的帮助。
我已经写了关于使用上VI族的Vim StackExchange这些工具几次答案:https://vi.stackexchange.com/a/22256/10604,https://vi.stackexchange.com/a/15329/10604,https://vi.stackexchange.com/a/15019/10604