Apa sajakah cara untuk menjadi lebih produktif dengan Emacs? [Tutup]

20

Saya telah menggunakan Emacs cukup banyak, dan saya merasa nyaman dengan perintah / cara pintas yang paling dasar, tetapi saya tahu Emacs memiliki lebih banyak hal untuk ditawarkan daripada yang saya gunakan. Apa sajakah fitur emac yang kurang dikenal yang dapat membantu saya menjadi programmer yang lebih produktif?

GSto
sumber
8
@Siapa pun yang memilih untuk menutup: ini jelas bukan topik ...
Chinmay Kanchi
1
Jika ini di luar topik, saya kira tujuan utama dari situs ini adalah untuk jenis pertanyaan "ceritakan kisah favorit Anda".
MIA
2
Saya tidak melihat bagaimana ini bisa dianggap di luar topik. Jika saya menanyakan hal ini di Stack Overflow, mungkin akan ditutup di sana sebagai subyektif. Jadi jika ini tidak cocok di kedua situs, di mana saya seharusnya mengajukan pertanyaan seperti itu?
GSto
Programmer yang produktif eh ..
Daniel Little
2
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena menanyakan tentang alat perangkat lunak. Namun, keduanya terlalu luas dan terlalu tua untuk dimigrasi ke Stack Overflow.

Jawaban:

17

Pelajari elisp.

  1. Ini memungkinkan Anda memprogram pintasan apa pun yang dapat Anda pikirkan. Setiap kali Anda menemukan diri Anda melakukan proses multi-langkah untuk sesuatu yang bermanfaat, Anda membuat fungsi darinya dan mengikatnya ke kombo hotkey.

  2. Ini memungkinkan Anda bereksperimen dengan pemrograman fungsional - mempelajari paradigma baru adalah cara yang baik untuk memperluas wawasan Anda.

ASHelly
sumber
Ditambah memiliki beberapa tingkat kelancaran elisp, akan membuka dunia konfigurasi. Begitu ada sesuatu yang mengganggu saya, saya hanya mencoba memperbaikinya. Juga yasnippet memungkinkan potongan yang dapat diprogram yang dapat menghemat banyak pengetikan (seperti mengubah pola yang dimasukkan jika Anda berada di header atau file implementasi, dan sekitar sejuta trik lainnya).
julien
9

Lihat halaman SO ini, memiliki tips yang cukup untuk meningkatkan produktivitas Emacs Anda dengan setidaknya 2x:

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

Selain itu, Anda benar-benar harus menggunakan mode-Org jika Anda adalah pengguna Emacs:

Org: Hidup Anda dalam Teks Biasa

EDIT: Sayangnya, tampaknya SO moderator tidak hanya menutup pertanyaan / tautan pertama, tetapi juga menghapusnya, menghancurkan pengetahuan dan kebijaksanaan dalam proses tersebut. (Mari kita bakar buku ini, kita tidak tahu di mana tempatnya!) Untuk saat ini satu-satunya tautan alternatif yang berguna yang saya temukan adalah utas HN yang membahas utas SO:

Satu-satunya fitur Emacs yang paling berguna - Hacker News

limist
sumber
Tautan SO tidak lagi berfungsi
funkybro
Terima kasih untuk head-up, terjebak dalam alternatif, itu tidak baik tetapi memiliki beberapa tips.
limist
1
Anda masih dapat menemukan pos yang dihapus di www.stackprinter.com
barracel
@barracel Terima kasih! Sebuah program / layanan telah menyelamatkan kita dari kebodohan moderator.
limist
4

Dari atas kepala saya:

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])

Secara umum, bab Menyusun dan Menguji Program pada halaman info adalah bacaan yang baik.

Trey Jackson
sumber
4

Steve Yegge yang hebat telah menulis posting blog yang sangat bagus 10 Cara Khusus untuk Meningkatkan Produktivitas Anda Dengan Emacs . Ini termasuk trik dan kebiasaan suka

  • konfigurasi keyboard (Tukar Caps-LockdanControl , rebinding M-X)
  • Menghapus kata dengan backspace (jika Anda cukup cepat, menghapus seluruh kata dan mengetik ulang itu lebih nyaman daripada terus-menerus memukul backspacesampai kesalahan ketik Anda terhapus)
  • Navigasi dengan pencarian tambahan
  • Menggunakan buffer sementara dan belajar menavigasi buffer secara efisien
  • Menyingkirkan navigasi dengan mouse, menu, dan hal-hal GUI lainnya
  • Belajar menggunakan sistem bantuan
  • Belajar kekuatan ekspresi reguler

Dia juga mendaftar beberapa mode emacs yang berguna dan menyebutkan banyak trik lain yang membuat orang menunggu untuk mengantisipasi pembaruan posting blog di masa mendatang.

FooF
sumber
2

Saya tahu Anda secara khusus bertanya tentang metode dan perintah, tetapi saya akan menyarankan pendekatan menyeluruh berikut:

  1. Baca buku tentang Emacs: ada beberapa termasuk Manual Emacs , dan Learning Gnu Emacs oleh Cameron Et al. Saya tahu "baca manual" terdengar basi dan merendahkan, tetapi apa yang sebenarnya saya katakan adalah bahwa setiap kali saya membaca manual, saya mencari tahu tentang sesuatu yang sangat keren yang bahkan tidak saya pikirkan. Saya selalu merasa seperti saya belum menghabiskan cukup waktu membaca manual.
  2. Masuk ke Komunitas Emacs: Emacswiki adalah tempat yang tepat untuk berkomunikasi dengan pengguna Emacs lainnya dan mencari tahu tentang paket keren. Juga bergabung dengan help-gnu-emacs bisa bagus, karena orang akan meminta bantuan pada fitur yang mereka gunakan, dan dengan proxy Anda dapat mengetahui tentang fitur-fitur itu. Saya telah menemukan banyak fitur menarik dengan melihat seseorang meminta bantuan dan kemudian membacanya di manual.
  3. Pelajari beberapa Lisp : Ketika Anda setidaknya bisa mendiskusikan Emacs Lisp, Anda akan berada di tempat yang jauh lebih baik untuk belajar tentang fitur-fitur baru.
  4. Gunakan Emacs sepanjang waktu. Saya menggunakan Emacs untuk semuanya kecuali penjelajahan web (yang juga dapat Anda lakukan), dan karena itu saya selalu memiliki kesempatan untuk mempelajari cara melakukan hal baru dengan lebih baik dengan beberapa fitur yang disediakan oleh Emacs. Saya menggunakan Emacs untuk surat , penjadwalan dan perencanaan , kontrol versi , dokumen LaTeX , dan pemrograman. Tentang semua waktu saya dihabiskan di Emacs atau Firefox.
Joel J. Adamson
sumber
2

Kustom modifikasi khusus alur kerja

Ketika saya mulai melakukan Test Driven Development, saya membuat fungsi elisp yang akan membuat saya beralih antara file dengan unit-tes dan file dengan kode produksi dengan cara yang mudah.

Saya juga mulai menggunakan yasnippets untuk beberapa konstruksi bahasa utama, mengurangi waktu yang diperlukan untuk menulis hal yang saya tulis ratusan kali setiap hari.

Terakhir tapi bukan yang akhir; Saya membuat luddite-mode , itu hanya mematikan menu / bar alat, pinggiran dan scrollbar, memaksa saya untuk menggunakan pintasan keyboard sebanyak mungkin.

klang
sumber
0

Dua perintah yang cenderung saya gunakan setiap sekarang dan kemudian adalah string-rectangledan kill-rectangle. Yang pertama memungkinkan Anda untuk memasukkan teks berulang dalam kolom tertentu di beberapa baris; yang terakhir melakukan yang sebaliknya.

Gablin
sumber