Try что-то подобное вместо:
au FileType python map <buffer> <F9> <esc>:w<bar>!python3 '%'<cr>
Ваш .vimrc
конфигурационный файл запускается только один раз при запуске. Поэтому, если вы на этот раз поставили тест if
, это не сработает, потому что в настоящее время не редактируется файл python.
Но вы можете использовать .vimrc
для установки в автоматического поведение: то, что vim
будет делать каждый раз, когда он будет сталкиваться особое состояние. Условие может быть в вашем случае: «Новый файл редактируется, а его тип файла -« python ». См :h :au
В таких случаях, как ваша, это полезно добавить параметр <buffer>
в команде :map
: он ограничивает сферу вашего отображения только текущего буфера: так что, когда вы будете нажимать F9 на непитоновские буфера , отображение не будет тригером.
EDIT:
В моем первом ответе, я также удалил <esc>
в вашей команде, но может быть, я неправильно об этом, потому что это может вызвать проблемы в визуальном режиме, так что я положил его снова. Вы должны проверить его в визуальном режиме, я этого не делал.
Спасибо, что сработало. Но знаете ли вы, что случилось с моей версией? – Vityou
Пожалуйста, посмотрите мое редактирование – yolenoyer