2012-04-24 2 views
1

В emacs мне всегда нужно запустить команду для проверки файла.emacs запускает команду оболочки с именем-буфером

Я хочу запустить команду оболочки в отношении файла, который я редактирую в буфере , как мне это сделать?

Команда оболочки (я пишу с использованием python) допускаю только имена файлов в качестве аргумента. , так что, вероятно, два решения:

  1. Как передать имя файла в минибуфере команде?
  2. Как изменить сценарий так, чтобы он мог принимать область буфера в качестве входных данных?
+0

возможно дубликат [Передача переменных Emacs для минибуфер команд оболочки] (http://stackoverflow.com/questions/10121944/passing -emacs-variables-to-minibuffer-shell-commands) – phils

+0

Если вы проверяете файл, вы можете посмотреть в flymake - он делает то, что вы описываете. Он периодически и автоматически запускает команду оболочки против содержимого редактируемого буфера. – Cheeso

ответ

1
  1. Является точной копией. См. Ссылку выше.

  2. M- |, чтобы передать регион в качестве входных данных для любого сценария оболочки. Предполагая, что ваш скрипт может читать из stdin, это должно разрешить этот параметр. (А если он не может, фиксирование, что, безусловно, оправдывала отдельный вопрос.)

+0

Я изменил сценарий, чтобы читать от , что очень удобно. – zinking

Смежные вопросы