Прежде всего, добро пожаловать в StackOverflow! :)
Вы были на правильном пути, вот что вы хотите сделать:
map <C-p> :w<CR>:!bash %
Это работает, некоторые элементы могут быть улучшены:
-
map
должно быть nnoremap
, потому что мы хотим, чтобы это отображение работало только в обычном режиме, и мы не хотим, чтобы оно было рекурсивным - Мы могли бы использовать оператор
BAR
для выполнения нескольких команд вместо из <CR>:
- bash бесполезен (если вы не используете какую-либо другую оболочку по умолчанию)
Таким образом, в итоге более чистая версия будет выглядеть так:
nnoremap <C-p> :w <BAR> !%
Вот пример: