1

Я пытаюсь перенаправить вывод команды в vim, используя аргумент -, но, похоже, он не работает в OS X. Например, если я наберу

$ ls | vim - 

в командной строке на одной из моих машин Linux вывод команды ls правильно передается в vim. Но когда я делаю то же самое на любом из моих компьютеров с OS X, я получаю

$ ls | vim -
Vim: Reading from stdin...

И он просто висит там, пока я не нажму CTRL-D.

Любая идея, почему это будет происходить и как на самом деле перенаправить вывод команды в Vim?

Для справки, я использую OS X 10.6.4 (и 10.6.5) с vim 7.2 (и 7.3) с bash в качестве оболочки.

2 ответа2

1

Используйте параметр -f для macvim. И опция -R, чтобы выйти без запроса сохранения.

ls | mvim -Rf -

Еще один пример ... svn diff | mvim -Rf -

опция -f

-f  or  --nofork    Foreground: Don't fork when starting GUI

-R опция

-R          Readonly mode (like "view")
0

Я бы ожидал такую руку, если бы у них были проблемы с разрешениями. Эта страница расширяет возможности Vi на OS X больше, чем я когда-либо мог. Вместо того, чтобы просто вырезать и вставить их ответы, я подумал, что укажу на это, чтобы посмотреть, поможет ли это.

http://macvim-dev.github.io/macvim/

В нем упоминается, что разветвление было нестандартным и что для разветвления необходимо указать полный путь к двоичному. Создание псевдонима для всего пути, например vim='TERM=xterm-color vim' поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .