Подтвердить что ты не робот

Думая о переходе с TextMate на vim для Rails dev. Что мне нужно?

Я занимаюсь разработкой Ruby on Rails исключительно. В настоящее время я разрабатываю в OS X с помощью TextMate. У меня есть виртуальная машина для эмуляции как можно ближе к среде, в которую будет развернуто мое приложение, и я смонтирую код на share Samba в OS X от гостевой системы VM. Оттуда я открываю с TextMate и код прочь.

Я начинаю думать, что с помощью правильных плагинов и времени, затраченного на обучение, я мог бы быть намного более продуктивным в vim непосредственно на виртуальной машине. Прямо сейчас мой TextMate является в основном запасом, хотя я считаю, что плагин ProjectPlus незаменим. Я ищу некоторые предложения vim ресурсов и плагинов (если это правильная терминология), чтобы тесно имитировать функции, которые я не желаю сдавать в TextMate. Или, по крайней мере, убедительные причины, по которым я должен был бы их бросить. Вот короткий список:

  • Возможность иметь (желательно) складчатое дерево проекта, видимое либо в любое время, либо легко переключаемое.
  • Возможность видеть статус SCM с первого взгляда, либо внутри этого дерева проектов (предпочтительно), либо иным образом. (Я использую git почти исключительно, если это имеет значение.)
    • Возможность просмотра параллельного diff изнутри vim также будет очень большой.
  • Возможность поиска по всему проекту по желанию (я полагаю, :stop; grep -nr; fg; выполнит это, если не будет лучшего способа сделать это.)
  • По завершении кода
4b9b3361

Ответ 1

Плагин NERD Tree дает вам сбрасываемое дерево проектов. Лично я считаю, что плагин netrw более чем достаточен, и обычно это устанавливается с Vim. В то время как дерево NERD чувствует себя так, как будто оно пытается подражать поведению других IDE (и ящика проекта TextMate), я чувствую, что плагин netrw делает вещи Vim. Я предлагаю вам попробовать оба и посмотреть, какой из них вы предпочитаете.

скрытый плагин предоставляет интерфейс git для Vim (см. Vimcasts: parts 1, 2, 3, 4 и 5).

ack плагин отлично подходит для поиска всего проекта. Вы хотите прочитать Vim quickfix, чтобы получить максимальную отдачу от этого.

Завершение слова TextMate запускается с помощью esc и shift - esc. В Vim вы получаете аналогичную autocomplete с помощью ctrl - n и ctrl - p в режиме вставки. Проверьте :help ins-completion для (много!) Дополнительной информации.

Я запускаю серию скринкастов об изучении Vim в vimcasts.org. Мой фон с TextMate, но я уже давно использую Vim fulltime. Когда я пишу это, у меня всего 6 эпизодов, но я планирую покрыть каждый из пунктов, которые вы подняли в будущих эпизодах. Я попытаюсь вернуться и отредактировать этот ответ со ссылками на скринкасты по мере их появления.

Ответ 4

Для навигации по файлам просто нравится CommandT
Это очень похоже на любимую функцию commandT в textmate.

Ответ 5

Возможно, вы захотите начать с моего связанного с Ruby/Rails vimfiles, который включает поддержку rvm и git.

Ответ 6

Этот скринкаст также замечателен http://blip.tv/file/1372096

Я использую VIM, и мне особенно нравится, как вращаться от модели/просмотра и связанного с ним контроллера.

Ответ 7

Искать весь проект здесь.

Завершение кода: обычно выполняется с помощью ctrl - X, а затем ctrl - O в режиме вставки.

Git Интеграция: git.vim

Дерево проектов: Nerdtree.vim

Удачи.

Ответ 9

Все остальные ответы плюс:

Возможность иметь (желательно) складчатое дерево проекта, видимое либо в любое время, либо легко переключаемое.

  • project.vim плагин на самом деле не работает, как ящик TextMate Project, но он закрывается.
  • С помощью NERDTree вы можете настроить закладки и заставить их работать немного как ящик проекта.
  • :help mkview и :help mksession тоже могут помочь.

Возможность просмотра статуса SCM с первого взгляда, либо в этом дереве проектов (предпочтительнее), либо в противном случае. (Я использую git почти исключительно, если это имеет значение.)

  • vcscommand.vim предоставляет один и тот же набор команд для нескольких SCM, он работает с Git, SVN, Mercurial...
  • Вы можете использовать вышеупомянутый скрытый плагин для отображения состояния git в строке состояния :help fugitive-statusline.

Возможность просмотра параллельного diff изнутри vim тоже будет очень хороша

  • fugitive предоставляет команду :Gdiff, которая делает именно это.
  • Недавно выпущенный плагин под названием Gitv пытается подражать GitK в Vim. Мне это очень нравится, и автор очень отзывчив. В древовидном представлении нажмите <CR>, чтобы открыть предыдущую фиксацию в другом окне и D, чтобы увидеть двойной diff.

По завершении кода

  • Есть несколько решений, если вам не нужно автоматическое <C-x><C-o>, <C-n> и <C-p> будет более чем достаточно, если вы хотите "автозаполнение", вы можете попробовать эти несколько плагинов. Мой любимый autocomplpop.

Ответ 10

Сегодня я опубликовал расширенный пост по этой теме, в котором я объясняю , как реплицировать 100 функций из Textmate в VIM. Это продукт многочасового исследования.

Например, я объясняю:

  • Как реплицировать ящик проекта
  • Как управлять вкладками
  • Как сделать конкретные команды Rails (Давайте посмотрим правде в глаза: многие пользователи Textmate являются программистами Rails)
  • Как найти и заменить
  • Как выполнить поиск по проекту в целом

Прочитать исходную статью: Textmate To VIM