#vim #keymapping
#vim #отображение клавиш
Вопрос:
Я хотел бы сопоставить определенное сопоставление ключей, чтобы интерпретатор Python запускал текущий отредактированный буфер в VIM.
Что я делаю сейчас (вручную):
:!python <FILENAME>
Но я бы хотел, чтобы переменная на самом деле была переменной, чтобы сопоставление могло быть в my .vimrc и работать для любого файла, который я открываю в VIM.
Я также хотел бы знать, как связать несколько команд, чтобы вместо выполнения:
:w
:!python <FILENAME>
Я мог бы сопоставить их оба с одной командой. Что-то вроде
:w ; :!python <FILENAME>
РЕДАКТИРОВАТЬ: Спасибо за ответы. Окончательное решение заключалось в том, чтобы сделать:
:cmap <KEY> :w<CR>:!python %<CR>
Ответ №1:
%
в vim ссылается на текущее имя файла.
Вы можете выполнить сопоставление, подобное nnoremap <leader>r :!./%<CR>
выполнению текущего скрипта, если установлена строка shebang.
Ответ №2:
Знак процента (%) будет заменен текущим именем файла
Для ключевого макроса:
map yourkey :w^V^J!python %^V^J
где ^V — это Ctrl-V, а ^J — Ctrl-J (перевод строки)