2011-08-31 9 views
8

Sono un noob di VIM, e lo ho rivisitato ripetutamente, e spero di rimanere fedele a questa volta. Principalmente sto programmando in TextMate con Ruby on Rails. Su consiglio di qualcuno, ho installato Janus (https://github.com/carlhuda/janus) e mi sta aiutando molto. Ma una cosa che mi manca è avere un "progetto" in modo da poter facilmente rientrare rapidamente in un progetto.Creare un "progetto" in VIM/MacVim/GVIM

Desidero poter avviare una copia di macvim, puntarla su un file o assegnargli un comando, per caricare un progetto nel punto in cui l'ho lasciato. Ciò significa:

  1. CD alla radice del progetto
  2. Arretrato eventuali schede/split avevo fissati, le loro stesse posizioni
  3. riaprire il file su cui stavo lavorando scorso.
  4. Ho intenzione di esplorare Conque Shell oggi (http://code.google.com/p/conque/) e se funziona, vorrei che anche queste shell ricaricassero e attivassero i loro comandi di avvio. (CD per la radice del progetto, accendere il server di rotaie, coda un registro, ecc.)

Suggerimenti? Sto cercando di semplificare il mio processo in modo da poter semplicemente fare clic su un collegamento o eseguire un comando e dopo alcuni secondi fissare il mio ambiente di sviluppo proprio dove l'ho lasciato per ultimo.

Bonus: io uso spesso anche Windows, quindi anche la possibilità di fare lo stesso in GVim sarebbe grandioso.

Grazie per il vostro aiuto

risposta

2

Per Rails sviluppatore, v'è un plugin noto da Tim Pope nome rails.vim.

Una volta che siete alla base di un progetto di rotaie (È possibile cambiare Vim directory corrente con :cd /path/to/project/root), rails.vim fornisce modo rapido per accedere al file come:

  • : file Rcontroller
  • : file di rview
  • : il file Rstylesheet

Essi sono altre opzioni di refactoring utilizzando parziali. Installalo e digita :help rails.txt. Ci sono molte belle funzionalità come questa. È davvero utile accelerare l'accesso ai file di progetto.

Probabilmente è possibile combinarlo con session.vim che fornisce un modo per ripristinare automaticamente la sessione precedente.

Se non si desidera digitare il percorso del progetto, una soluzione possibile, è quello di aggiungere alla fine del vostro .vimrc il seguente codice:

if isdirectory("~/workspace/project1") 
    cd ~/workspace/project1 
endif 

In questo modo si avvia sempre Vim in il tuo spazio di lavoro corrente. Ovviamente se hai bisogno di passare a un'altra directory devi modificare manualmente il tuo .vimrc ... che è un po 'sub ottimale.

+0

Ottimo, stavo cercando qualcosa di simile. – cfeduke

+0

Ho già installato Rails.vim, ma non era quello di cui la mia domanda riguardava. Controllerò session.vim per vedere se fa quello che mi serve per alcuni degli articoli nella mia lista. Non voglio apportare i cambiamenti .vimrc perché tale approccio non supporta più progetti. Suppongo che potrei mappare un comando a una funzione in questo però ... –

+0

session.vim mi avvicina ... ma avendo alcuni bug/problemi con entrambe le schede e Conque, ma vedrò cosa riesco a capire. Grazie –

0

Terminitor (una gemma di rubino) non risolverà specificamente il tuo obiettivo "progetto" vim, ma risolverà il resto dei tuoi problemi. È possibile impostare le finestre del terminale e quindi eseguire un comando per acquisire le posizioni e le dimensioni del terminale, modificare la configurazione per aggiungere altri comandi (in Ruby) che si desidera eseguire e questo consentirà di ripristinare l'ambiente.

8

Si consiglia di verificare la capacità integrata di Vim per creare una sessione di ripristino. Questi ti permettono di salvare praticamente tutto ciò che hai impostato, tra cui cwd, folds, splits, buffer, vars ecc. Vedi :help :mksession.

Qui ci sono due plugin che aiutano con il risparmio e sessioni di ripristino:

Si potrebbe anche voler controllare il plug-in del progetto: http://www.vim.org/scripts/script.php?script_id=69

Anch'io ho sentito cose buone su rails.vim.

Problemi correlati