Выполните сценарий непосредственно в vim/mvim/gvim

TextMate имеет хорошую функцию, которая позволяет Вам выполнять сценарий из текущего контекста и показывает Вам вывод в отдельном окне. Это позволяет Вам записать и тестовый код на движении. Я почти уверен, что существует подобная функция с MacVim/gVIM, но я не уверен, каково это. В настоящее время я сохраняю свои буферы на диск, затем перейдите к командной строке и выполните сценарий в этом отношении. Как я улучшаю тот рабочий процесс с энергией?

39
задан randombits 2 July 2010 в 14:06
поделиться

5 ответов

Вы можете сделать это в vim, используя ! команда. Например, чтобы подсчитать количество слов в текущем файле, вы можете:

:! wc %

% заменяется текущим именем файла. Чтобы запустить сценарий, вы можете вызвать интерпретатор файла - например, если вы пишете сценарий perl:

:! perl %
70
ответ дан 27 November 2019 в 02:10
поделиться

сохраните файл и вызовите сценарий с помощью интерпретатора

например:

:!python %
6
ответ дан 27 November 2019 в 02:10
поделиться

Ну, это зависит от вашей ОС - на самом деле я не тестировал его на M $ Window $ - но Conque - один из лучших плагинов: http://code.google.com/p/conque/

На самом деле, может быть и лучше, но работает. Вы можете встроить окно оболочки в "окно" vim.

0
ответ дан 27 November 2019 в 02:10
поделиться

Вы можете запустить его прямо из vim:

:! ./ script.sh

6
ответ дан 27 November 2019 в 02:10
поделиться

Похоже, вы ищете ! :

:! {Cmd} Выполнить {cmd} с помощью оболочки.

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

!proofread-script %

Вы также можете использовать ! с диапазоном, чтобы использовать команду в качестве фильтра:

!{motion}{filter}    " from normal mode
:{range}!{filter}    " from command mode

(В первом случае, как и во многих других командах, когда вы вводите движение, оно переводит вас в командный режим, преобразуя движение в диапазон, например :.,. + 2! )

И, наконец, если вам на самом деле не нужно передавать ввод из вашего файла, но вы хотите, чтобы вывод был в вашем файле, это, по сути, тривиальный фильтр , и самый быстрый способ сделать это - !! {cmd} . Это заменит текущую строку выводом команды.

4
ответ дан 27 November 2019 в 02:10
поделиться