Скомпилировали vim из исходного кода на Mac OSX и получили ошибку «оболочка вернула 127»?

На моей машине Mac OSX 10.6 я начал использовать MacVIM для vim. Затем я заметил, что моя терминальная версия отличается от версии MacVIM (MacVIM был 7.3, а моя терминальная версия 7.2)... Я думал, что они используют один и тот же vim?

Мне нужна 7.3 для некоторых функций. Поэтому я загорелся желанием обновить терминальную версию. Я в основном клонировал его с помощью Mercurial (рекомендуемый способ согласно официальному сайту), а затем скомпилировал его обычным способом. Это сработало, и теперь у меня в терминале 7.3. Но по некоторым командам при выходе я могу эту ошибку:

/bin/bash: q: command not found

shell returned 127

Press ENTER or type command to continue

... Я изо всех сил пытался решить эту проблему, но пытаясь переустановить MacVIM, удалив vim в моем /usr/local/bin и снова скомпилировав, я просто не могу избавиться от этой надоедливой ошибки.

Кто-нибудь может мне помочь? Я делаю все это неправильно? ...большую часть времени я буду использовать MacVIM, но мне было бы неплохо иметь его в терминале - именно так, как я бы использовал его на своих серверах Ubuntu.

Любая помощь будет фантастической!


person littlejim84    schedule 23.09.2010    source источник


Ответы (3)


Я не уверен в точном пути, но где-то в нескольких папках глубоко в папке Applications/MacVim.app находится исполняемый файл vim, который также будет запускаться в терминале (используйте параметр -g, чтобы запустить его в режиме графического интерфейса).

Вы должны быть в состоянии бросить это в свой .bashrc:

alias vim=/Applications/MacVim.app/Contents/MacOS/vim
person too much php    schedule 24.09.2010

:!q не :q!. Вероятно, это не ошибка.

Сообщение об ошибке, которое вы видите, скорее всего, является результатом случайного ввода :!q вместо :q!, что было бы ошибкой пользователя, а не ошибкой. :!q запускает q, а ваша оболочка (bash) не находит такой команды и выдает 127. (Для сравнения, вы можете попробовать :!true, :!false, :!vim %, чтобы почувствовать это.)

На самом деле нет «исправления» для этого, и ! действительно полезен для других целей; возможно, с большей практикой вы будете делать опечатки реже. Вы также можете попробовать использовать ZQ вместо :q!; у этого есть и другие недостатки (опечатка ZZ вместо этого сохранит файл, если он будет отредактирован, а ZQ конкретно является расширением vim), но, по крайней мере, вы снова увидите эту ошибку.

Результат здесь в основном проверяется, чтобы убедиться, что вы правильно ввели свои команды, я думаю.

person muhmuhten    schedule 23.09.2010

Это доморощенная формула для vim. Попробуйте эти настройки для «настройки» или просто установите homebrew и установите оттуда vim.

system "./configure", "--prefix=#{prefix}",
                      "--mandir=#{man}",
                      "--enable-gui=no",
                      "--without-x",
                      "--disable-nls",
                      "--enable-multibyte",
                      "--with-tlib=ncurses",
                      "--enable-pythoninterp",
                      "--enable-rubyinterp",
                      "--with-features=huge"
system "make"
system "make install"
person abdollar    schedule 23.09.2010
comment
что со всеми systems? почему бы просто не использовать сценарий оболочки? - person muhmuhten; 24.09.2010
comment
homebrew — менеджер пакетов для osx. Вышеупомянутые системные вызовы являются частью формулы, которая представляет собой сценарий ruby. См. mxcl.github.com/homebrew. - person abdollar; 25.09.2010
comment
На самом деле я не могу найти обычную формулу vim в репозитории доморощенного. Все, что я нахожу, это macvim. Это было удалено? - person Marlun; 29.11.2010
comment
похоже его нет. Я думаю, сделайте псевдоним /Applications/MacVim.app/Contents/MacOS/Vim - person abdollar; 30.11.2010