2010-02-15 11 views
24

Ich mache Ruby on Rails-Entwicklung ziemlich exklusiv. Ich entwickle derzeit in OS X mit TextMate. Ich habe eine virtuelle Maschine ausgeführt, um so genau wie möglich die Umgebung zu emulieren, in der meine App bereitgestellt wird, und ich mounte den Code einer Samba-Freigabe in OS X vom VM-Gast. Von dort öffne ich mit TextMate und Code weg.Sie denken, von TextMate zu vim für Rails dev. Was brauche ich?

Ich fange an zu denken, dass mit den richtigen Plugins und Zeitaufwand für das Lernen, könnte ich viel produktiver in vim direkt auf der VM sein. Im Moment ist mein TextMate grundsätzlich auf Lager, obwohl ich das ProjectPlus Plugin unentbehrlich finde. Ich suche nach einigen Vorschlägen für vim-Ressourcen und Plugins (wenn es die richtige Terminologie ist), um die Funktionen, die ich in TextMate nicht aufgeben möchte, genau zu emulieren. Oder zumindest zwingende Gründe, warum ich bereit sein sollte, sie aufzugeben. Hier eine kurze Liste:

  • Möglichkeit, einen (vorzugsweise) zusammenklappbaren Projektbaum jederzeit sichtbar oder leicht umschaltbar zu haben.
  • Die Möglichkeit, SCM-Status auf einen Blick zu sehen, entweder innerhalb dieses Projektbaums (bevorzugt) oder auf andere Weise. (Ich benutze git fast ausschließlich, wenn dies einen Unterschied macht.)
    • Die Möglichkeit, innerhalb von vim groß wäre, einen Side-by-Side-diff sehen zu
  • Fähigkeit durch das gesamte Projekt suchen bei wird (ich nehme an :stop; grep -nr; fg; dies erreichen würde, es sei denn es einen besseren Weg, es zu tun ist.)
  • Abschluss-Code, wenn möglich

Antwort

27

Das NERD Tree Plugin gibt Ihnen einen zusammenklappbaren Projektbaum. Persönlich finde ich, dass das netrw Plugin mehr als ausreichend ist, und das wird normalerweise mit Vim installiert.Während der NERD Baum fühlt sich, als ob versucht, das Verhalten anderen IDEs (und Textmate Projekt Schublade) zu emulieren, glaube ich, dass das netrw Plugin Dinge die Vim Art und Weise tut. Ich schlage vor, dass Sie beides ausprobieren und sehen, welche Sie bevorzugen.

Das fugitive Plugin bietet eine git-Schnittstelle Vim (Siehe Vimcasts: Teile 1, 2, 3, 4 und 5).

Die ack Plugin ist für ein ganzes Projekt zu suchen. Sie sollten sich in Vims quickfix Liste nachlesen, um das Beste daraus zu machen.

Textmate Wort Abschluss wird mit esc ausgelöst und Verschiebung - esc. In Vim, erhalten Sie ähnliche autocomplete Funktionalität mit ctrl - n und ctrl - p im Einfügemodus. Überprüfen Sie :help ins-completion für (viel!) Mehr Info.

Ich bin eine Reihe von Screencasts über das Lernen Vim über bei vimcasts.org läuft. Mein Hintergrund ist TextMate, aber ich benutze Vim seit einer ganzen Weile. Während ich dies schreibe, sind nur 6 Episoden vorhanden, aber ich habe vor, jeden der Punkte, die du in zukünftigen Episoden gesammelt hast, abzudecken. Ich werde versuchen, diese Antwort mit Links zu den Screencasts zu bearbeiten, sobald sie verfügbar sind.

1

Dieser Screencast groß ist, wie gut http://blip.tv/file/1372096

ich VIM verwenden, und ich mag besonders, wie von Model/View und Controller mit Bezug zu drehen ..

1

ein gesamtes Projekt here.

Code-Vervollständigung Suche : - X dann ctrl - O während in Ins Normalerweise mit ctrl getan ert Modus.

Git Integration: git.vim

Projektbaum: Nerdtree.vim

Viel Glück

2

Sie möchten vielleicht mit meinem Rubin/Rails starten vimfiles Zusammenhang die Unterstützung für rvm und git enthält.

4

Für die Dateinavigation ist einfach Liebe CommandT
Dies funktioniert sehr ähnlich wie die geliebte commandT Funktion in Textmate.

1

Alle anderen Antworten sowie:

Fähigkeit, eine (vorzugsweise) zusammenklappbar Projektbaum sichtbar zu haben, entweder jederzeit oder leicht Toggle-fähig.

  • Das project.vim Plugin wirklich nicht wie Schublade Project Textmate arbeiten, aber es ist in der Nähe.
  • Mit NERDTree können Sie Lesezeichen einrichten und es ein wenig wie ein Projekt Schublade arbeiten.
  • :help mkview und :help mksession kann auch helfen.

Fähigkeit SCM-Status auf einen Blick zu sehen, entweder innerhalb dieses Projektbaum (bevorzugt) oder auf andere Weise. (Ich benutze Git fast ausschließlich, wenn dies einen Unterschied macht.

)
  • vcscommand.vim bietet den gleichen Satz von Befehlen für mehrere SCMs, es funktioniert mit Git, SVN, Mercurial ...
  • Sie die oben genannten flüchtigen Plugin können die Git-Status in der Statuszeile angezeigt werden, :help fugitive-statusline .

Die Möglichkeit, eine Seite-an-Seite anzuzeigen diff aus vim würde auch groß sein

  • Flüchtling den :Gdiff Befehl bietet, die genau das tut.
  • Ein kürzlich veröffentlichtes Plugin namens Gitv versucht, Git in Vim zu emulieren. Ich mag es sehr und der Autor ist sehr entgegenkommend. Klicken Sie in der Baumansicht auf <CR>, um ein vorheriges Commit in einem anderen Fenster zu öffnen, und D, um ein doppeltes Diff zu sehen.

Code-Vervollständigung, wenn möglich

  • Es gibt ein paar Lösungen sind, wenn Sie es nicht automatisch sein müssen <C-x><C-o>, <C-n> und <C-p> wird mehr als genug sein, wenn Sie will "Autovervollständigung" können Sie versuchen these few plugins. Mein Favorit ist autocomplpop.
0

veröffentlichte ich einen erweiterten Beitrag zu diesem Thema heute, in der ich erklären, wie 100 Funktionen von Textmate innerhalb VIM zu replizieren. Es ist das Produkt von vielen Stunden Forschung.

Zum Beispiel habe ich erklären:

  • wie ein Projekt Drawer
  • zu replizieren Wie Tabs verwalten
  • Wie Rails spezifische Befehle zu tun (wir ehrlich: Viele Textmate Benutzer sind Rails Programmierer)
  • Wie
  • finden und ersetzt zu tun, wie Projekt weite suchen tun

Lesen Originalartikel:Textmate To VIM

Verwandte Themen