Quali sono alcuni modi per essere più produttivi con Emacs? [chiuso]


20

Ho usato abbastanza Emacs e mi sento a mio agio con i comandi / le scorciatoie più elementari, ma so che Emacs ha molto di più da offrire rispetto a quello che sto usando. Quali sono alcune delle funzionalità meno note di emacs che possono aiutarmi a diventare un programmatore più produttivo?


8
@ Chiunque abbia votato per chiudere: questo sicuramente non è fuori tema ...
Chinmay Kanchi

1
Se questo è fuori tema, suppongo che lo scopo principale di questo sito sia quello di "raccontami la tua storia preferita" domande di tipo.
MIA,

2
Non vedo come questo possa essere considerato fuori tema. Se lo chiedessi a Stack Overflow, probabilmente sarebbe chiuso lì come soggettivo. Quindi se questo non si adatta a nessuno dei due siti, dove dovrei fare una domanda del genere?
GSto

Programmatore produttivo eh ..
Daniel Little

2
Sto votando per chiudere questa domanda come fuori tema perché sta chiedendo uno strumento software. Tuttavia, è sia troppo ampio che troppo vecchio per migrare allo Stack Overflow.

Risposte:


17

Impara elisp.

  1. Ti permette di programmare qualsiasi scorciatoia che ti viene in mente. Ogni volta che ti ritrovi a eseguire un processo in più passaggi per qualcosa di utile, ne fai una funzione e la associ a una combinazione di tasti di scelta rapida.

  2. Ti consente di sperimentare la programmazione funzionale: apprendere un nuovo paradigma è un buon modo per espandere i tuoi orizzonti.


Inoltre avere un certo livello di fluidità, aprirà un mondo di configurabilità. Non appena qualcosa mi infastidisce, provo solo a risolverlo. Inoltre yasnippet consente frammenti programmabili che possono risparmiare tonnellate di battitura (come alterare il pattern inserito se ci si trova in un file di intestazione o implementazione e circa un milione di altri trucchi).
luglio

9

Dai un'occhiata a questa pagina SO, ha abbastanza suggerimenti per aumentare la produttività di Emacs di almeno 2x:

http://stackoverflow.com/questions/60367?tab=votes&page=1

Inoltre, devi assolutamente usare la modalità Org se sei un utente Emacs:

Org: la tua vita in testo semplice

EDIT: Sfortunatamente, i moderatori SO non solo hanno chiuso la prima domanda / collegamento, ma l'hanno rimossa, distruggendo la conoscenza e la saggezza nel processo. (Bruciamo questo libro, non sappiamo dove appartenga!) Per ora l'unico link alternativo utile che ho trovato è il thread HN che discute il thread SO:

La singola funzione Emacs più utile: Hacker News


Il link SO non funziona più
funkybro,

Grazie per l'heads-up, bloccato un'alternativa, non è buono ma ha alcuni suggerimenti.
limist

1
Puoi ancora trovare il post rimosso in www.stackprinter.com vedi: stackprinter.com/…
barracel

@barracel Grazie! Un programma / servizio ci ha salvato dalla follia dei moderatori.
limista il

4

In cima alla mia testa:

M-x compile     (now do C-x ` to cycle through errors)
M-x gdb
M-x grep-find
M-x find-tag    (aka M-.  and C-u M-. is "next" tag)
inferior-processes (if you use an interpreted language, 
                    you can eval directly from Emacs)
C-x v v         ([version control][1])

In generale, il capitolo Programmi di compilazione e test delle pagine informative è una buona lettura.


4

Il grande Steve Yegge ha scritto un bellissimo post sul blog 10 modi specifici per migliorare la produttività con Emacs . Include trucchi e abitudini simili

  • configurazione tastiera (Scambia Caps-Locke Control, rilegatura M-X)
  • Cancellare la parola con backspace(se sei abbastanza veloce, sbarazzarsi di tutta la parola e riscriverla è più conveniente che colpire continuamente backspacefino a quando il tuo refuso non viene cancellato)
  • Navigazione mediante ricerca incrementale
  • Utilizzando buffer temporanei e impara a navigare in modo efficiente i buffer
  • Sbarazzarsi della navigazione tramite mouse, menu e altre cose della GUI
  • Imparare a usare il sistema di aiuto
  • Imparare il potere delle espressioni regolari

Elenca anche alcune utili modalità emacs e menziona molti altri trucchi che fanno aspettare le persone in attesa di futuri aggiornamenti al post del blog.


2

So che hai chiesto specificamente metodi e comandi, ma suggerirei il seguente approccio globale:

  1. Leggi un libro su Emacs: ce ne sono diversi tra cui il Manuale di Emacs e Learning Gnu Emacs di Cameron Et al. So che "leggere il manuale" suona banale e condiscendente, ma quello che sto davvero dicendo è che ogni volta che leggo il manuale, scopro qualcosa di veramente fantastico a cui non ho nemmeno pensato. Ho sempre la sensazione di non aver trascorso abbastanza tempo a leggere il manuale.
  2. Entra nella community Emacs: Emacswiki è un ottimo posto per comunicare con altri utenti Emacs e scoprire pacchetti interessanti. Anche entrare a far parte di help-gnu-emacs può essere utile, perché le persone chiederanno aiuto per le funzionalità che stanno usando, e tramite proxy puoi scoprirle. Ho trovato molte funzionalità interessanti vedendo qualcuno chiedere aiuto e poi leggendo nel manuale.
  3. Impara un po 'di Lisp : quando puoi almeno discutere di Emacs Lisp, ti troverai in un posto molto migliore per conoscere le nuove funzionalità.
  4. Usa Emacs tutto il tempo. Uso Emacs per tutto tranne che per la navigazione web (cosa che puoi fare anche tu), e quindi ho sempre l'opportunità di imparare a fare meglio qualcosa di nuovo con alcune funzionalità fornite da Emacs. Uso Emacs per posta , pianificazione e pianificazione , controllo delle versioni , documenti LaTeX e programmazione. Quasi tutto il mio tempo è trascorso in Emacs o Firefox.

2

Modifiche specifiche al flusso di lavoro personalizzato

Quando ho iniziato a fare Test Driven Development, ho creato una funzione elisp che mi avrebbe permesso di passare facilmente tra il file con i test unitari e il file con il codice di produzione.

Ho anche iniziato a utilizzare yasnippet per alcuni costrutti del linguaggio chiave, riducendo il tempo impiegato a scrivere ciò che scrivo centinaia di volte ogni giorno.

Ultimo, ma non per importanza; Ho creato la modalità luddite , semplicemente disattiva le barre dei menu / degli strumenti, le frange e le barre di scorrimento, costringendomi a utilizzare le scorciatoie da tastiera il più possibile.


0

Due comandi che tendo a usare ogni tanto sono string-rectanglee kill-rectangle. Il primo consente di inserire testo ripetuto in una particolare colonna su più righe; quest'ultimo fa il contrario.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.