Самый простой способ запустить сценарий vim - PullRequest
0 голосов
/ 18 июня 2020

Каков самый простой способ запустить функцию / скрипт vim? Например, чтобы запустить сценарий python, я обычно открываю два windows, сценарий сверху и оболочку снизу:

# script.py
def hello():
    print ('hello')

if __name__ == '__main__':
    hello()

-----------------------

$ python script.py

Я предполагаю, что для запуска сценария vim я бы хотел находиться «внутри» процесса vim (так, например, я мог бы выделить текст или сделать все, что могло быть необходимо для ввода в сценарий vim). В настоящее время я делаю это довольно утомительным образом: я помещаю функцию в vimrc, а затем всякий раз, когда я хочу ее запустить, я делаю что-то вроде:

  • Повторное сохранение файла - :w
  • Re-source vimr c - :so $MYVIMRC
  • Re-run function - :call MyFunction()

Я надеялся, что смогу просто создать файл с названием что-то вроде script.vim (в любом каталоге), откройте файл и запустите его. Как лучше всего это сделать? Для справки, вот функция, которую я хочу запустить

function MyFunction()
    echom "Hello"
    echom getline('.')
endfunction

1 Ответ

0 голосов
/ 18 июня 2020

Вы можете использовать :so % как источник файла, который будет запускать любые команды в нем. Например:

function MyFunction()
    echom "Hello"
    echom getline('.')
endfunction

call MyFunction()

Сейчас выполняется:

:w | so%

Будет напечатано внизу:

Hello
call MyFunction() <-- current line the current is on
Press ENTER or type command to continue
...