#vim
Вопрос:
У меня есть ключевое сопоставление в ~/.vim/after/ftplugin/c.vim
nnoremap <buffer> <C-D> : ! cc % amp;amp; ./a.out <CR>
Я хочу создать локальную конфигурацию project/.vimrc
, чтобы переопределить старое сопоставление
nnoremap <C-D> : ! cc % -lncurses amp;amp; ./a.out <CR>
Но это не сработает.
Я стараюсь
- в предыдущем примере локальная карта является глобальной, она переопределяется отображением <буфер>.
- в local .vimrc сопоставьте <буфер> <буфер><C-D> …<C-D> , но это переопределяет только сопоставление ключей первого открытого файла.
Как это сделать ?
Ответ №1:
Явные автокоманды должны выполняться после содержимого after/ftplugin/c.vim
:
augroup c_overrides
autocmd!
autocmd! BufNewFile,BufRead *.c nnoremap ...
augroup END
или:
augroup c_overrides
autocmd!
autocmd! FileType c nnoremap ...
augroup END
Но что вам действительно следует сделать, так это ввести свои команды для конкретного проекта Makefile
и использовать :make %
их в каждом проекте.
Видеть :help :make
.
Комментарии:
1. Спасибо! Это моя потребность. Я просто хочу, чтобы быстро выполнялась команда. Файл Makefile используется для более крупного проекта.