Skip to content

kholidfu/techtalk_emacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro into Emacs (Techtalk #60)

Emacs at a Glance

Define

GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing. [fn:1]

Emacs is not an extensible text-editor. It’s a programming environment with a nice built-in library for editing text. [fn:2]

Emacs Creator

./img/creator.png

Emacs was created by Richard Stallman and Guy L. Steele in 1976, using Emacs Lisp, a dialect of Lisp language. There are many Emacs variant, but the most widely used was GNU Emacs by Richard Stallman.

Emacs Logo

./img/emacs-logo.png

Emacs Terminology

./img/emacs-terminology.png

Why Emacs?

  • It’s not just an editor, everything is possible [ Almost to be exact :) ]
    • good language support [fn:3]
    • pdf and image viewer
    • e-mail reader
    • IRC
    • breeze org-mode <=> latex support
    • chart with graphviz-mode
    • terminal session
    • write blog entry
    • coffee-mode [fn:4]
    • git integration
    • play tetris anyone? :)
    • M-x phases-of-moon
    • M-x doctor
    • many more…
  • Divine Editing Experience [fn:5]
    • custom jump-start
    • bookmark
    • org-mode
    • keyboard macro
    • clear ring
    • expand-region
    • multi-cursor
    • ace-jump-mode
    • key-chord
    • helm-mode
  • Emacs is extensible [fn:6]
  • Integrates well with lots of external tools
    • shell-mode, ansi-term, eshell
    • dired [fn:7]
    • cvs, svn, bazaar, git, mercurial
    • proced (emacs process manager)
  • Emacs Doesn’t let you repeat yourself [fn:6]
  • Emacs is Modern
    • GTK2/3, Coca, WinAPI
    • OSes clipboard support
    • TTF Fonts support [fn:8]
    • apt-get or brew like package manager
  • Emacs is constantly evolving
  • Other prominent tools use Emacs’s keybindings
    • bash, zsh, Cocoa toolkit use Emacs keybindings by default

Emacs vs the World

  • IDE and Code Editors Stats 2014 [fn:9]

    ./img/editors_stats.jpg

  • Emacs vs vim

    Emacs pros:

    • it has better default extension language.
    • it’s modeless.
    • it has better integration with external systems.
    • it has better support for the things that matter to me. [fn:10]
    • it has a built-in package manager.

    Vim pros:

    • nicer navigation
    • much smaller core and much faster to load
    • very simple initial config
    • it has a more stylish icon than Emacs :)
  • Emacs vs IDEs

    IDEs pros:

    • good refactoring support
    • semantic code analysis
    • integrated GUI debuggers and GUI design tools
    • precise auto-completions
    • good integration with external systems, i.e. version control

    IDEs cons:

    • dependent to the mouse and an X environment
    • not resource efficient
    • IDEs impair your thinking by thinking instead of you

Problems

  • No adequate embedded browser in Emacs!
  • Still have to learn Lisp to extend Emacs more
  • Emacs Pinky

Getting Started with Emacs

./demo/emacs_learning_curve.jpg

It only takes 2 steps:

  1. run the built-in Emacs tutorial C-h t.
  2. use Emacs day and night for all your work or even use it as your window manager. [fn:11]

This is how I learn Emacs (actually):

  1. Learn basic survival guide: [fn:12]
    • opening/closing file/buffer
    • movement
    • search (forward/backward)
    • basic region, copy, paste
    • getting help
  2. Read/listen/watch emacs tutorial For me, youtube is the best resource for learning.[fn:13]

Conclusion

  • However, whatever your editor choice is, as long as you feel efficient and productive, then it’s good…
  • Lastly, you are not picking Emacs vs others, but rather you are picking Emacs and others! Use the best tool for the job.

Dotfile

my ~/.emacs file

Further References

Beginner Tuts and Blogs

Why Choose Emacs over Vim?

Introduction to Evil Mode

Power Users Tips

Emacs and Vi Rivalry

Q/A

Ask me for questions

Thank You

About me:

Github version

Materi techtalk ini juga tersedia di github berikut: https://github.com/sopier/techtalk_emacs

Footnotes

[fn:1] https://www.gnu.org/software/emacs/

[fn:2] Austion Bingham at Youtube

[fn:3] demo.py

[fn:4] wikipedia

[fn:5] demo.txt :: demo.js

[fn:6] snippets.el

[fn:7] dired\_demo

[fn:8] arab.txt

[fn:9] codeanywhere

[fn:10] tesis.org :: beamer.org

[fn:11] howardism

[fn:12] survival guide :: video 1 :: video 2

[fn:13] http://www.youtube.com/results?search_query=emacs

About

materi techtalk emacs jdv #60

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published