Почему с rails.vim команды не работают, когда активный буфер пуст или файл не является частью проекта rails? - PullRequest
3 голосов
/ 03 мая 2011

Если у меня нет открытого файла из проекта rails, над которым я работаю, я не могу использовать никакие команды rails.vim, такие как :Rcontroller, :Rmodel, :Rview (я получаю ошибку : Не команда редактора).

Кроме того, если я пытаюсь использовать :Rconfig или :Rroutes, когда у меня нет открытого файла rails, я получаю сообщение об ошибке: Не команда редактора:: Rfind application.yml.

Я использую pre-fab vim config, так что я предполагаю, что мне нужно найти там проблему? Или это так, как работает rails.vim?

1 Ответ

3 голосов
/ 03 мая 2011

Короткий ответ: так работает rails.vim.

rails.vim пытается обнаружить проект Rails, используя путь к текущему буферу. В общем случае это имеет смысл, поскольку ряд команд, предоставляемых rails.vim, относятся к текущему файлу. Кроме того, очень возможно открывать файлы из нескольких проектов Rails в одном сеансе Vim, поэтому даже команды, которые ссылаются только на проект в целом, должны быть привязаны к текущему контексту.

Было бы неплохо, если бы команды уровня проекта, которые вы описываете, могли быть доступны, когда вы находитесь в новом буфере, если вернуться к getcwd() и обнаружить, что текущий рабочий каталог является приложением Rails. Но из беглого изучения источника я думаю, что это потребует некоторой существенной реструктуризации плагина.

Я написал плагин под названием Open , который открывает проект с использованием NERDTree и проецирует README в качестве представления по умолчанию. Одним из преимуществ этого является то, что, открыв файл по умолчанию, вы можете сразу использовать любую из команд Rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...