я знаю, что в VIM я могу набрать
:terminal <command> %
для запуска команды для файла в текущем буфере редактирования. например и чтобы упростить то, что я хочу сделать, давайте возьмем простую команду ls:
:terminal ls %
, который разделит окно, запустит команду и выйдет из оболочки, оставив вывод на экране. это не что я хочу. я хочу, чтобы он запускал команду, но оставил меня в оболочке , чтобы я мог запустить больше команд bash, потенциально связанных с текущим файлом / операцией, а затем завершить работу вручную, когда я закончу.
если я просто наберу
:terminal
это приводит меня к оболочке bash, которая позволяет мне набирать столько команд, сколько я хочу, и это здорово. НО я тогда теряю возможность использовать средство расширения%, и легкость порождения терминала из файла, который я редактирую. то есть. я теряю автоматизацию контекста, предоставляемого порождением из исходного файла / буфера, что означает, что мне нужно вручную ввести текущее имя файла, включая потенциально длинный путь , или прокрутить предыдущую историю bash, чтобы повторно запустить исходную команду. это трата нажатий клавиш.
В основном я пытаюсь найти способ создать карту vim, которая позволяет мне использовать% имени расширения файла в команде bash с помощью :term
без ВТО, завершающего работу после выполнения команды (я предпочитаю оставаться в подскажите в оболочке продолжить сеанс!)
на самом деле мне все равно, если решение просто запускает оболочку :term
и выводит мою команду с расширением% имени файла в приглашении bash, не вводя его ... что позволило бы мне оставаться в bash после выполнения команды мной с ручным возвратом каретки.
Я не уверен, возможно ли то, что я хочу сделать? обратите внимание, я не собираюсь приостанавливать мой текущий сеанс редактирования и возвращаться назад, так как он связывает текущий сеанс редактирования. я не уверен, что интеграция с tmux - vim может обеспечить способ сделать то, что я хочу, хотя я бы предпочел найти решение, использующее :term
, так как это встроенная функция и хорошо работает, за исключением того, что я пытаюсь добиться :) 1027 *
Надеюсь, это имеет смысл. ТНХ