Подтвердить что ты не робот

Vim: выполнить текущий файл?

Если у меня есть файл со строкой shebang (например, #!/bin/bash), открываем в Vim, и у файла есть разрешения на выполнение (т.е. chmod +x). Я знаю, что могу набрать это, чтобы выполнить его, не выходя из редактора:

:! %:p
  • : для командного режима
  • ! для запуска команды оболочки
  • % для ссылки на файл в текущем буфере
  • :p использовать полный путь к текущему файлу

Есть ли более короткий ярлык для этой частых задач?

например. есть ZZ ярлык для :wq и т.д.

4b9b3361

Ответ 1

:!%:p

без пробелов, короче.

Если вам нужен еще более короткий ярлык, вы можете создать собственное сопоставление:

nnoremap <F9> :!%:p

или больше "мнемоника":

nnoremap <leader>r :!%:p

Ответ 2

Если вы не установили разрешения, вы можете запустить:

:! sh %

Ответ 3

После того, как вы его выполнили, короткий :!! повторит его.

Ответ 4

Вы можете добавить сопоставление клавиш в свой .vimrc

map <F5> :!%

Ответ 5

Ни один из предыдущих ответов не работает, если в вашем пути к файлу/директории есть пробелы. Простое исправление.

:!"%:p"