Domanda

Giusto davanti:Faccio non vuoi avviare una guerra di religione.

Ho usato vi per tutto il tempo che posso ricordare, e le poche volte che ho provato ad alzare Emacs Ho così perso che ho rapidamente abbandonato.Un sacco di persone a trovare Emacs molto potente, tuttavia.La sua programmabilità è un po ' leggendaria.Sono principalmente facendo Solaris+sviluppo in Java, e vorrei porre una semplice domanda:sarà il mio aumento di produttività che se io investo tempo a ottenere la mia testa intorno a Emacs?È la funzionalità che offre oltre Vim sarà pagato in incrementi di produttività in un ragionevole lasso di tempo?

Ripeto:Io non voglio "il mio editor è migliore della tua" risposta.Voglio solo una risposta sì o no, se vale la pena di investire tempo o non.Sarà la mia produttività aumenta realmente?

È stato utile?

Soluzione

Io preferisco emacs vi, ma mi trovo bene in entrambi.

Ci sono alcune cose che si possono fare in emacs, che la rendono più potente di vi, ma non tutti di loro sono anche correlate di programmazione.(Si può inviare e-mail o leggere notizie dall'interno vi?No, ma chi se ne frega?) Se sei a tuo agio con il lisp (io non lo sono), si potrebbe essere in grado di scrivere i componenti aggiuntivi e le modalità e le cose per rendere la vita più facile, ma che è solo probabile che sia la sintassi della colorazione e della corrispondenza tra parentesi graffe e eye candy come che.

Mi fermo vagante ora.Il vostro la produttività aumentare l'uso di emacs?No.

Aggiornamento:Vedi il mio commento qui sotto.Da quando ho postato questo, io sono venire attraverso modi che l'uso di emacs mi ha reso più produttivo rispetto all'utilizzo di vi.

Altri suggerimenti

[Disclaimer: personalmente, Preferisco Vim.Disclaimer disclaimer:continua a leggere.]

Vim eccelle in piccolo:facendo movimento e di azione concetti separati e fornendo servizi per ripetizioni, è possibile eseguire incredibilmente potente operazioni di modifica, e in breve sequenza di tasti.Si può facilmente fare le cose in Vim nel normale corso di editing che richiedono di discesa per lo scripting in Emacs.Inoltre, la maggior parte dell'energia utilizzata esce dalla scatola, quindi, anche se si dispone di ampie .vimrc personalizzazioni, è probabile che si sarà in grado di lavorare in modo produttivo con qualsiasi Vim installazione.

Emacs eccelle in grande:attraverso la mappatura di tutti i suoi UI concetti direttamente alla base costrutti e concetti in Elisp, diventa molto facile a livello globale di introdurre funzionalità di specifici tipi di file o circostanze, rendendo Emacs qualcosa di simile a un testo-base e molto di più structuredly programmabile forma di Excel.Questo presuppone che si sta andando a spendere un sacco di tempo a personalizzare il vostro ambiente per esigenze personali e preferenze.Naturalmente, Emacs fa del suo meglio per rendere più facile per rimanere all'interno di quella ambiente per tutto e di tutto si può fare.

In definitiva, nessuno dei due è superiore.Essi offrono diversi stili e, a seconda delle tendenze, l'una o l'altra per soddisfare le vostre esigenze personali e del modo di pensare meglio.È sempre utile sapere sia (più editori), naturalmente.Ma non si sta andando a essere sensibilmente più produttiva in questo modo o che.

vi è un coltello da cucina.

vim è davvero bella, nitida e bilanciata coltello da chef.

Emacs è una spada laser.

La maggior parte del tempo, il mio lavoro mi obbliga a tagliare le verdure.Occasionalmente, devo prendere un intero esercito di robot.

Sto usando Emacs per 20 anni.Sto scrivendo in Emacs in questo momento con un widget chiamato "Tutto il Testo" che mi permette di succhiare il testo e fuori di caselle di testo in Firefox.Posso andare veramente veloce in Emacs.Io sono significativamente meno produttivi senza di essa.

Questo è altamente debateable, ma penso anche che l'apprendimento Emacs può insegnare una quantità sorprendente circa la programmazione.

A seconda del codice, si può vedere un aumento della produttività.Per lo sfondo, anche io sono un lungo tempo di vim utente, ma ho imparato emacs circa 2 anni fa, e ora li uso come sinonimi.

Ciò che mi ha spinto al punto di imparare emacs è stato utile possibilità di avere un gran numero di file aperti contemporaneamente, e per passare facilmente tra di loro.Ero nel bel mezzo dell'introduzione di una caratteristica che ha aggiunto e ha toccato un gran numero di classi.(Questo è stato il C++, quindi non ci sono in genere due file per ogni classe). Dato che era ancora accrescendo l'interfaccia, io in genere essere nel mezzo di aggiornamento di un file quando mi accorgevo che avevo bisogno di cambiare un altro.

Con gvim, è stato più facile aprire una nuova finestra per ogni file, che stava iniziando a ottenere ingombrante.Con Emacs, però, è stato semplice per aprire un nuovo file nella stessa finestra (Ctrl-x, Ctrl-f).Una volta Emacs è un file aperto, è molto facile passare avanti e indietro tra il buffer (Ctrl-x, Ctrl-b).

Assunzione di un ulteriore passo in avanti, una singola sessione emacs può aprire molte finestre, quindi, oltre a dividere la finestra in verticale, ho potuto decidere, senza interrompere il lavoro su un file, aprire un altro accanto, mi lasci lavorare in modo efficace side-by-side, pur mantenendo ogni finestra di default 80-larghezza del carattere.

Ci sono ancora alcune cose che trovo più facile in vim (ad es.blocco-selezionare la modalità semplice registrazione di macro, modalità diff), e le cose che sono più facili in Emacs (linea di allineamento, file/gestione del buffer, finestra/schermo di gestione).Quindi, mi ritrovo con alternanza tra i due (e a volte con entrambi contemporaneamente), a seconda che il lavoro di editing, prevedo.

Se hai ancora dei dubbi, vi consiglio di provarlo.Eseguire attraverso il Emacs tutorial e quindi utilizzarlo per scrivere il codice per una mattina o un giorno, appoggiandosi pesantemente sull'aiuto.Se ancora non ti piace quello che vedi, soggiorno con vim.Indipendentemente da ciò che l'editor porta al tavolo, la familiarità e la conoscenza dello strumento da parte di far essere il fattore più importante nella vostra produttività.

Non voglio una guerra santa, ma si prega di rispondere a una questione assolutamente soggettiva con una risposta si/no.

Sì, si può vedere un aumento della produttività a causa della potente funzionalità.

No, non si vedrà un aumento della produttività perché i modelli e metafore usate in emacs non si allinea con il cervello.

La risposta breve alla tua domanda è "SÌ".Più in dettaglio di seguito.

Ho usato vi quasi esclusivamente dal 1980 al 1991.L'unica volta che non vi è stato quando ho avuto a che fare con una installazione minimale di Unix che era troppo piccola per includere vi, così ho dovuto eliminare a ed è il sottoinsieme minimo di funzionalità di editing che l'originale vi è stato costruito sopra.

Da circa 1985, altri programmatori, dove ho lavorato sono stati costantemente cantare le lodi di emacs.Ma ogni volta che mi piacerebbe provare ad imparare ma non vorrei arrivare molto lontano.Mi piacerebbe passare un'ora di passare attraverso la emacs turorial (C-t) e alla fine di tutto mi piacerebbe sapere sarebbe come inserire e modificare il testo e spostare in giro per lo schermo.Potrei fare molto di più con vi che quello che ho imparato in quell'ora con emacs, che non riuscivo a passare.Tre mesi più tardi, mi piacerebbe trovare il tempo per trascorrere un'altra ora e finisco per passare attraverso il materiale stesso.Emacs ha una Curva di Apprendimento con la "a"maiuscola.Non è stato fino a quando ero a fare un contratto in cui tutti gli altri utilizzati emacs che alla fine ho deciso che avevo bisogno di dedicare più di un'ora per imparare a farlo.Dopo aver trascorso poco più di un giorno non fa niente ma che lavoro attraverso il tutorial e la documentazione allegata, ho finalmente arrivati al punto in cui ho potuto fare le cose con emacs, che non riuscivo con vi.Da allora, non ho mai voluto tornare indietro.Riesco ancora a digitare comandi vi, nel mio sonno, ma posso fare molto di più con emacs.

Capire che sto confrontando emacs e vi, non vim.Non ho mai imparato le estensioni che vim ha aggiunto vi, ed è probabile che molti di loro sono caratteristiche copiato da emacs.Se è così, e se sei già esperto con vim, emacs può tenere molti vantaggi per voi.

Tra le cose che dipendono per tutto il tempo in emacs sono:

  1. Quando si usa emacs, tutto è trattato come testo.Questo significa che è possibile modificare i dati in qualsiasi buffer, con praticamente gli stessi comandi.E nei casi in cui un buffer in una modalità in cui alcuni dei comandi standard sono disponibili, è possibile copiare il testo di un altro buffer in esecuzione in modo fondamentale e utilizzare i comandi standard c'.

  2. Emacs fornisce un multi-finestra"," ambiente visualizzabile in un personaggio-cellula terminale.Nei giorni precedenti la grafica bitmap e reale di windows, emacs è stato scritto per simulare finestra-come comportamento usando solo caratteri ascii e il posizionamento del cursore.Probabilmente stai pensando, "Che la storia antica.Perché qualcuno dovrebbe preoccuparsi di oggi?" Io uso ancora che la capacità di ogni giorno.Io uso una società di web hosting che mi permette l'accesso SSH.Così posso accedere ad un host Linux in Internet e di eseguire comandi di shell.Mentre questo è abbastanza potente, è molto più potente per essere in grado di dividere il mio emulatore di terminale in "windows" con emacs, eseguire le conchiglie in più di quelle "finestre", e modificare i file in altre finestre, e di visualizzare e modificare le directory in altre ancora "windows".

    In realtà, quando ho detto "finestra" nel paragrafo precedente, ho davvero pensato "buffer".Emacs' cella di carattere emulazione di windows è un modo di dividere lo schermo immobiliare.Emacs buffer è associato con il contenuto (un file, una shell bash, una directory arbitraria di testo non associate a un file, etc.) che può o non può attualmente essere visualizzato.Per vedere cosa c'è in un buffer, si prende una finestra e dire cosa buffer che si desidera vedere.Così si può lavorare in modo più cose di quanto si dispone di spazio sullo schermo per la visualizzazione.E ' grosso modo analogo a quello che si fa in un moderno bitmap grafica GUI quando si iconizza/de-iconizza una finestra.

  3. Ho già accennato al fatto che è possibile eseguire una shell all'interno di emacs buffer.Si può avere come molti buffer esecuzione di gusci di come ti piace.È possibile copiare e incollare il testo avanti e indietro tra un buffer di shell e un file di testo, o di confrontare una porzione di testo tra un buffer di shell e un file di testo utilizzando la stessa le sequenze di tasti che è possibile utilizzare per copiare il testo o di confrontare il testo tra due diversi file di testo.In realtà, questo è vero per la maggior parte dei tipi di buffer, non solo di shell e di buffer buffer associati con i file.

  4. Quando si usa emacs' comando per aprire un file, ma cosa hai selezionato in realtà è una directory, il buffer viene eseguito in dired (editor di directory) modalità.In questo modo, la pressione di un tasto si aprirà qualunque sia il cursore attualmente indicando, sia esso un file o sottodirectory.Un buffer in dired modalità è un file manager - un carattere-cellula terminale orientato analogico al Finder del Mac o Windows Explorer.

  5. Uno dei emacs funzioni io uso quasi sempre è "confronta-windows".Preferisco di gran lunga questo a riga di comando "diff" o GUI strumenti di confronto come quello che è costruito per Eclipse.Diff o Eclipse confrontare intero file, e mostra quali linee diverse.Ma cosa succede quando si dispone di due linee diverse, che sembrano molto simili?Si consideri il seguente:

    Qual è la differenza tra questa linea e l'altra?

    Qual è la differenza tra questa linea e l'altra?

    Quanto tempo ci vuole individuare la differenza?(Suggerimento:ASCII e Unicode apostrofo look praticamente uguali.)

    A differenza diff e Eclipse, che mostrano le linee che si differenziano, emacs' "confronta-windows" funzione interattiva.Si posiziona il cursore in ciascuno dei due side-by-side in un punto in cui il contenuto della finestra stessa.Eseguire il "confronto-windows", e il cursore in ogni finestra si sposta al primo carattere diverso.Riposizionare il cursore in una delle finestre al punto in cui è la stessa come l'altra finestra, e rieseguire il "confronto-windows" per trovare la prossima differenza.Questo rende più facile confrontare subportions di file.

    Un'altra cosa che ho regolarmente uso di confronto-windows" per il confronto tra i valori di checksum.Molti progetti di software distribuire un tarball l'applicazione di una pagina che include anche un hash MD5 del tar.Così, come si fa a confrontare l'hash MD5 di distribuzione pagina con l'hash MD5 calcolato dal file scaricato.Emacs rende questo banale.

    Prima di copiare l'hash MD5 dalla pagina web in una nuova emacs buffer.Quindi, dopo aver scaricato il .tar.gz file, eseguire:

    md5sum downloadedfile.tar.gz

    in un buffer di shell.Con quei due buffer visualizzato in modalità side-by-side emacs windows, posizionare il cursore in ogni finestra all'inizio del checksum e fuga "di confronto di windows".Se sono uguali, il cursore in ogni finestra sarà posizionato alla fine di ogni checksum.

  6. Al punto precedente, ho dato l'esempio di esecuzione "confronta-windows" sulle linee:

    Qual è la differenza tra questa linea e l'altra?

    Qual è la differenza tra questa linea e l'altra?

    "confronta-windows" lascia il cursore posizionato sul apostrofo in ogni riga.Così, ora sapete che diversi caratteri.Ma che personaggi sono?Tipo i due tasti di comando CTRL-x = e emacs visualizzare il carattere, il suo valore ascii in ottale, decimale ed esadecimale, il carattere offset dall'inizio del file, e il carattere offset dall'inizio della riga.Poiché ASCII è una codifica a 7 bit, tutti i caratteri ASCII sono loro bit di ordine superiore spento.Una volta si vede che il valore del primo apostrofo è 0x27 e il secondo è 0x92, è ovvio che il primo è nel set di caratteri ASCII e il secondo non è.

  7. Emacs è stato uno dei primi Idi, forse il primo di tutti.Ha modi specifici per le lingue.Io li trovo a portata di mano per imporre coerente rientro sul mio codice per renderlo più leggibile.C'è anche built-in funzionalità per la compilazione e debug del codice.Io non uso la compilazione di funzionalità che altro perché quando ero iscritto ad un linguaggio compilato come C, ero abituata a fare che a un prompt della shell.La funzionalità di debug è stato molto bello per C e C++.Integrato il gdb con l'editor in modo che si ha praticamente la stessa funzionalità della funzionalità di debug ora in Eclipse, ma non rifiuti schermo immobiliare la moderna interfaccia grafica Idi fare.Teoricamente il debugger di integrazione dovrebbe essere facile da fare, si applicano a praticamente qualsiasi altra lingua, ma non ho controllato per vedere che cosa altre lingue funziona con oggi.

  8. Emacs permette di creare macro da raccontare quando iniziare ricordando quello che stai scrivendo e quando fermarsi.Questo è estremamente potente per attività che si fanno di frequente.

  9. Emacs è infinitamente estendibile se si conosce il Lisp.Ma anche se non ho mai imparato Emacs Lisp, trovo ancora Emacs uno degli strumenti più potenti che io abbia mai utilizzato.

  10. Emacs tasto-binding.Sarò il primo ad ammettere che Emacs associazioni di tasti di succhiare.Ma è molto più potente di qualsiasi altra cosa io abbia usato, che io sono disposto a mettere in su con il tasto-binding.

  11. In una vena umoristica, anni fa Emacs' autore Richard Stallman (anche autore del GPL, fondatore del progetto GNU e fondatore della FSF) satira con chi vi vs.emacs come una guerra santa.Ha inventato il personaggio di "Sant'IGNUcius" della Chiesa di Emacs.In tale veste, Stallman ha commentato, "a Volte le persone mi chiedono se è un peccato nella Chiesa di Emacs di usare un altro editor di testo vi.Beh, è vero che vi vi vi è l'editor della bestia, ma l'utilizzo di una versione gratuita di vi non è un peccato, è una penitenza." (Vedere http://stallman.org/saint.html.C'è anche una bella foto di lui, ma dato che sono nuovo di StackOverflow, non mi permette di postare più di un URL.Quindi, andare con lo stesso dominio, ma recuperare il file saintignucius.jpg)

Ho usato Vim per 10 anni, fino a scavare in Emacs 2 anni fa.Ho una abbastanza fresco ricordo di quanto la mia curva di produttività modificato nel corso del tempo.

I miei punti sono tutti condizionale, YMMV a seconda dei vostri punti di forza e di esperienza.

Se avete usato Unix e la linea di comando abbastanza a lungo che si ha familiarità con C-a, C-e, C-n, C-p, C, k, C-y, ecc come funzionano sul guscio, non ci vorrà molto tempo per la transizione all'utilizzo di quelle stesse associazioni (quelle di default) in Emacs.Di recente ho scoperto che XCode utilizza questi attacchi come bene.

Se si sono confortevoli, con un editor avviato, tendente buffer (come schede del browser) e quindi vivere nell'applicazione (come si farebbe con il Web2.0 applicazioni nel browser), Emacs probabilmente mostrare immediati miglioramenti in termini di produttività.

Se generalmente si lavora in progetti di molti file correlati, questa persistenza paga dei benefici nel mantenere contesto di buffer.Ogni buffer è contexted al suo file aperto consentendo un comodo utilizzo di vari produttività incrementare gli strumenti per il tuo progetto (come grep-trovare, eshell, run-python e limo).Questa accoppiata con il completamento del testo, yasnippets, ecc inizia a guardare una piccola frazione come IDE, anche se l'ad-hoc e fortemente individualizzata dalla tua configurazione.Questo è a parte più civilizzata Emacs IDE-come servizi come la BCE.

La mia produttività ha preso un colpo, inizialmente, come ho digitato "jjjkkk" costantemente Esc-Esc-Esc-Esc per la prima settimana o giù di lì.La settimana seguente ho iniziato a usare con cautela il diritto dei tasti di navigazione.Poi ho scoperto che il file di configurazione...Onestamente, se avessi avuto Emacs Starter Kit dall'inizio, avrei detto la mia produttività lavorato lentamente torna a parità di oltre il 3 ° -4 ° settimana, ma ho fatto scendere il file di configurazione rabbit hole.Un collega di mio, però, è appena passata da vim per emacs e ha appena preso lo Starter Kit e lui è sulla sua strada.Prima settimana e lui sembra confortevole e godere di tutti i benefici inaspettati (che sensazione probabilmente durerà un decennio).

Infine, se si commettono errori si otterrà immediatamente la produttività (e la fiducia) dalla circolare uccidere/yank-ring e annulla-ring.Anche io sono personalmente un fan di una regione specifica annullamenti.

La mia risposta breve è Sì, vale la pena di prendere 3-4 settimane di una diminuzione della produttività-hit per imparare Emacs.Anche se si decide che si preferisce un efficiente utility unix combo su Emacs per lo sviluppo che deriveranno da un'educazione ampiamente applicabile al di là di editor.

Emacs documentazione è una foresta.Mi è venuto da Emacs, Vim, quando mi resi conto di quanto organizzato Vim documentazione è, e come abbinabili molte delle caratteristiche sono.Non so cosa si trova in basso il percorso di una Emacs esperto, ma vi avverto che imparare a fare qualcosa di utile in esso richiede molto tempo, e non farà meglio a nethack.Stick con Vim.

Textmate è meglio Emacs per Mac, anche se non è Solaris.Eclipse è un po ' di freddo, e ha un sacco di plugin.

Emacs fornire un guadagno di produttività, se sei disposto a imparare e personalizzare per soddisfare le tue esigenze.La maggior parte delle persone non lo sono.Per incrementare la produttività, è necessario utilizzare lo strumento per di più di una semplice modifica - la maggior parte della gente non ha mai corso in passato semplice modifica.

Ecco un rapido test:hai personalizzato il tuo window manager per rendere il vostro ambiente più efficiente (su misura per le tue esigenze)?Se 'no', allora probabilmente non sarà possibile ottenere il ROI da imparare emacs.

Detto questo, se sei di sviluppo Java, Eclipse è la risposta standard, in modo che la tua domanda è abbastanza opinabile.

Sono stato molto felice con il mio Vim, ma una volta che ho sentito parlare di org-mode, Ho cominciato a imparare Emacs.org-mode potrebbe essere un motivo forte per imparare Emacs.

Mi piace emacs e lo uso ogni giorno.

Detto questo, non credo che il costo di apprendimento sarà recuperata dai guadagni di produttività lungo la strada.

Se sei di programmazione Java, avete bisogno di un buon IDE.Emacs va un modo giusto verso, ma ammettiamolo, l'IDEA et al battere le mani verso il basso.(emacs, probabilmente, ha ispirato un sacco di quelli Ide, ma questa è un'altra storia).

Due volte ho cercato di imparare Emacs.Semplicemente non si adatta come il mio cervello funziona, e quindi non la uso.

Emacs (o vim) non è significativamente migliore rispetto a vim (o Emacs).Entrambi hanno molte opzioni da aggiungere che permettono loro di fare cose incredibili.Non ho alcun dubbio che qualsiasi cosa si può ottenere fatto in Emacs è possibile anche ottenere fatto in Vim, non solo standard.

Tenta Di Emacs.Vedere se si adatta meglio.Non perdere la situazione.

Voglio guardare in emacs, ma non posso usarlo per lunghi periodi di tempo;fa male le mie mani.Ho fatto qualcosa di terribilmente sbagliato?

vim e emacs, sono più in grado di redattori e sono stati per un bel po ' di tempo.Se si conosce davvero bene, dubito che potrai ottenere molto nel processo di...

Tuttavia, è sempre una buona idea di guardare in quello che il plugin che sono disponibili da un paio di nuovi plugin può fare meraviglie per la produttività.

/Johan

No (e ho usato entrambi).

Lungo la stessa linea, cercando di non per una guerra di religione (ma andare avanti e downvote me se si sente è necessario), perché ritiene che l'unica opzione vi è emacs?È il sistema operativo che si sviluppano su, o semplicemente le opzioni esplorato?

Il Java development paesaggio, gode di alcune delle migliori Ide in questi giorni (sia gratuite che a pagamento), se non il migliore quando si tratta di editing di codice e il refactoring di supporto.IntelliJ IDEA ha anche un vi plug-in che può aiutare a sentirsi più a casa, per esempio (non so se qualcosa di simile è disponibile per Eclipse).Durante la modifica di strumenti implica una curva di apprendimento, il tempo speso facendo potrebbe essere valsa la pena se il salto è abbastanza grande.

Quanto velocemente si tipo?Se si caccia e beccare, quindi emacs non è per voi.Se la vostra veloce tho, può aiutare a non dover afferrare il mouse per tutto il tempo.

In generale, emacs è più potente di vi.Si potrebbe fare un sacco di altre cose in emacs.

Sei la produttività aumenta se si decide di mettere il tempo per programmare il tuo editor di testo.Dei due editor emacs presenta un quadro migliore o costante di personalizzazione.Se non si programma il tuo editor di testo, basta stare con ciò che è comodo.

Un buon motivo per imparare Emacs è perché altri programmi di uso Emacs per le combinazioni di tasti troppo.È possibile utilizzare Emacs per le combinazioni di tasti in un prompt di bash, per esempio, o qualsiasi altro utilizzo di GNU readline.È buona per imparare i movimenti di base e word/delezione di linea e di undo/redo accordi in Emacs, in modo che è possibile utilizzare in altri programmi.Aumenterà la vostra produttività in altri strumenti, anche se non si utilizza mai Emacs di nuovo.

So Vim e Emacs e Vim si adatta il mio cervello e le mie abitudini in meglio.Ma altri sostengono la stessa cosa di Emacs.Non si sa mai per te a meno che non si tenta.Non ci vuole molto per imparare Emacs abbastanza bene per vedere se si sta andando a piacermi.

Sarà la mia produttività aumenta realmente?

Per i primi giorni/settimane, assolutamente no.

Dopo aver smesso di leggere il tutorial ogni volta che si desidera modificare qualcosa di sicuro..

Emacs è più "potente" rispetto a vim è un motore di scripting è molto più flessibile, e ci sono molto di più gli script, le modalità e le piace costruito intorno emacs.

Detto questo, è vero il contrario..Se hai speso la stessa quantità di tempo per migliorare la vostra conoscenza di vim, avresti potuto essere altrettanto produttivo..

Forse non produttivi nello stesso modo, direi che vim è più veloce per la modifica di file, emacs è meglio fare tutto il resto (di nuovo, vorrei personalmente dire le cose come flymake-mode, VCS associazioni sono tali, sono più veloce da usare rispetto a vim equivalente)

Sono d'accordo con Alan Tempesta:"perché i modelli e metafore usate in Emacs non si allinea con il cervello"

Questo è un fattore molto importante.Diversi cervelli adattarsi in modo diverso a diverse interfacce.

Alcuni dei principali e facilmente disponibile - caratteristiche amo di Emacs per, e io conto di come la produttività, esaltatori di:
1."yank-pop" impianto di ogni taglia/copia viene salvata in una pila in modo da poter poi scegliere quale incollare (non so se vi / Vim è questo, ma la maggior parte di Java Ide non)
2.il tasto Ctrl mappe per la navigazione: consente di navigare il file senza spostare le mani per utilizzare i tasti freccia.(tasto-binding in altri editor consente di corso)
3.disponibile su quasi ogni piattaforma (vero vi/Vim, ovviamente) - se GUI o text - based (Java Ide sono disponibili su più piattaforme, ma solo in modalità GUI, e sono significativamente più grandi e devono essere installati separatamente, mentre Emacs è generalmente più ampiamente disponibili - BSD / *nix / Linux / Mac sistemi
4.Io preferisco il mio editor di rimanere fuori fino a quando non ne ho bisogno - Emacs' spartan display mi costringe a pensare prima di digitare.
5.La navigazione di base chiavi in Emacs sono universalmente disponibili sul mio Mac OS, posso usare questi tasti in terminal, mac mail, etc.

In definitiva, se Emacs' filosofia appello a voi, si potranno mettere in un piccolo sforzo in più per imparare.E sarai ricompensato.

Poiché vi/Vim e Emacs sono abbastanza vicino in termini di ciò che può o non può fare, produttività con questi due curatori che nasce dall'esperienza nel suo utilizzo.

A mio parere, essendo un programmatore non ci vorrà molto per ottenere l'idea generale su Emacs una volta che si inizia ad usarlo.Gli altri possono solo dire tanto, hai avuto modo di provarlo per voi stessi di sapere.

Per quanto mi riguarda, io uso entrambi.È come prendere più di un arma di guerra, quello giusto nelle giuste circostanze.;)

Io come Emacs, si può estendere in base alle vostre esigenze - nei miei occhi, qualsiasi sistema che si può estendere da soli è un premio degno.

Disclaimer: Io sono ignorante.Sono stato un emacs utente per circa 4 anni, e vim utente per circa 6 mesi, forse di più come 15 se si contano tutte le volte che ho cercato di imparare e odiato.(La scrittura vs modalità di spostamento distinzione mi uccide.Ogni tempo.Quindi, se non ti uccide, quindi la mia opinione potrebbe essere completamente inutile.) Detto questo, penso che il mio parere è in realtà interessante diversi dal 26 altri che ho visto qui, così ho intenzione di voce.:Esclusioni di responsabilità

Il mio parere:

  • Emacs è meglio per la digitazione, soprattutto su larga scala "sto scrivendo una nuova funzione, e sarà un po' prima ho anche provare per vedere se funziona".
  • Vim è meglio per l'editing, in particolare le modifiche rapide.

Quando ho bisogno di capire e hack in 8 file contemporaneamente, Emacs' proprietà come un tiling window manager con supporto multi-buffer (buffer di 1,2:1 corrispondenza al file, sono spesso la stessa cosa, ma non necessariamente) regexp-ricerca (e sostituire) sono incredibili.

Se non mi piace qualche piccola cosa, perché di git diff in the shell (che io non uso emacs' VC, molto spesso, anche se non li amo) l'ho aperto con vim e ottenere l'inferno fuori più velocemente di quanto io possa colpire Alt-TAB.

Il fatto che Emacs' comandi di modifica sono più facilmente disponibili durante la digitazione di digitazione molto più veloce rispetto a Vim. Ctrl+a è molto più veloce ESC ^ i, e non hai il carico cognitivo di "voglio a o i o o o O..." che, a dio, io odio pensare.E lo stesso per tutti gli altri comandi di movimento comandi.

Ho tipo più veloce, molto più veloce, in Emacs.Questo significa che cose come Org Modalità (che io uso per tutto:TODO list, bug tracking, note, messaggi di posta elettronica lunghi, documentazione...) rendono più senso (per me) in Emacs, che non sarebbe in Vim.

E, Elisp è incredibile, anche se mi fa schifo.Si rende totalmente per Emacs e' rotto le espressioni regolari:è possibile utilizzare tutta la potenza di emacs ovunque, anche in un multi-file regolari-sostituzione.E in frammenti di testo.

Se siete preoccupati per la salute delle tue mani scegliere con Vim.

Ho sofferto di un attacco di RSI in passato, e ho trovato uno dei principali colpevoli è stato "chording", cioètenendo premuto molti tasti contemporaneamente.Emacs usa chording ampiamente pur VIM usa la singola lettera comandi concatenati in rapida successione.Questo mette molto meno sforzo sulle vostre mani, come i muscoli non hanno a torsione ed contorcere per eseguire i comandi dell'editor.Lesioni a causa di RSI può rovinare la vostra produttività, in modo da i calcoli da essere sicuri di tenere conto di questa.

Io davvero non vedo alcun motivo per cambiare.Ho usato vi per un lungo periodo di tempo e sono abbastanza confortevole con esso;ogni sei mesi circa, vorrei installare emacs per dare un andare, poi rapidamente tornare indietro.Sì, ci sono state cose che ho preferito di gran lunga su vi, ma il motivo principale non ho mai attaccato con esso è perché l'investimento di tempo per apprendere appieno un altro editor quando so già estremamente capace una non vale la pena.
Mi sono ricordato di questo piuttosto datato studio.

A mio parere, MELMA è il solo motivo per passare a emacs se sei già esperto con vi.

No

Sto usando emacs per anni, io sono un convertito da VIM, e mi piace da morire.

Ma qualsiasi guadagni di produttività da avere una migliore, programmabile editor sarà completamente cancellata dalla enorme quantità di un testa di cazzo che ci vuole per ottenere il blocco di emacs.E ' stato progettato come una console editor, e la sua idea di interfaccia non è il tuo.

E anche quando ce l'hai completamente, extra di produttività saranno principalmente espresso, nel emacs lisp si può scrivere.

Chi se ne frega?E ' molto divertente, e lisp cani!Se si desidera di ottenere le cose fatte', poi dimenticare di programmazione.Si può sempre assumere programmatori per 'fare', 'cose'.

L'unica circostanza in cui mi consiglia di imparare emacs per ragioni di produttività se sei un lisp/schema/clojure programmatore.Fa una buona lisp ambiente che poi pochi secondi è in grado di salvare ogni volta che si vuole fare nulla, sarà presto aggiungere fino a un reale guadagno.E elisp (che sta in relazione a balbettare, come le macro di excel stand di ALGOL) sembra molto meno alieno se si utilizza già un vero e proprio lisp.

Se non fare un tentativo, lo uso su una console virtuale in cui ci si sente più come un modo sano per organizzare un editor.Solo quando ha senso provare ad usarlo con una finestra di sistema, che lotta con esso.

In una precedente risposta, Aristotele Pagaltzis ha scritto:"Vim eccelle nel piccolo ...Si può facilmente fare le cose in Vim nel normale corso di editing che richiedono di discesa per lo scripting in Emacs."

Ho acceso la Emacs dopo oltre un decennio di uso esclusivo di vi, e inizialmente mi sarebbe stato d'accordo con l'affermazione "Si può facilmente fare le cose in Vim nel normale corso di editing che richiedono di discesa per lo scripting in Emacs." Ma poi ho scoperto che usando Emacs' capacità macro e un gran numero di ripetizioni, ho potuto facilmente fare Emacs fare praticamente tutto ciò che vi aveva reso facile, e molto di più.

Emacs' la funzionalità macro coinvolge tre comandi:

C-x (       start remembering keystrokes
C-x )       stop remembering keystrokes
C-x e       replay the remembered keystrokes

Per esempio, in vi se volevo trovare tutti <a> tag in un file HTML e aggiungere un target attributo, potrei fare qualcosa di simile al seguente:

:g/^<a/s/>/ target="_blank">/

Questo esempio non è perfetto, in quanto si presuppone che tutti <a> i tag sono su una riga a sé.Ma è abbastanza buono per illustrare come si realizza l'equivalente compito in due diversi editori.

Per ottenere lo stesso effetto facilmente in emacs, ecco cosa faccio:

1.  C-x (
2.  M-C-s <a\>
3.  C-b
4.  C-s >
5.  C-b
6.   target="_blank"
7.  C-x )
8.  C-u 10000 C-x e

Ecco una descrizione di ciò che ogni sequenza di tasti sopra:

1.  start remembering keystrokes
2.  regex search for <a.  Note that the "\>" after the "a" is not HTML.  It's emacs regex notation for end-of-word.
3.  back up one character - as a side-effect this gets you out of search mode
4.  search for the next ">"
5.  back up over the ">"
6.  enter space as an attribute-delimiter followed by the target="_blank" attribute
7.  stop remembering keystrokes
8.  replay the remembered keystrokes 10,000 times or until the search fails

Sembra complicato, ma in realtà è molto facile da digitare.E si può usare questo metodo per fare un sacco di cose che vi può fare, senza mai cadere giù per Lisp codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top