SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Emacs




Juan A. Suárez Romero

          Master on Free Software
List of topics
●   Debate about editors
●   Emacs state of art
●   Emacs concepts and terms
●   Working with emacs
●   Common use modes
●   Emacs Lisp


                         Master on Free Software
Introduction

●   What work do you usually do?
●   Thinking about usual tasks for a hacker
●   What do you usually do in your daily
    work? Or what tasks do you guess you
    are going to do?
●   Tip: reading/editing text and "using" it for
    different purposes (code, emails,
    documentation, etc.)

                       Master on Free Software
Introduction (II)

"The editor should be an extension of your hand: make
  sure your editor is configurable, extensible, and
  programmable." The Pragmatic Programmer


●   If you are a hacker you are going to
    handle code most of the time, you have
    to choose a tool that improves your
    performance

                         Master on Free Software
Emacs: text editor? ;-)
●   It is the tool chosen by a lot of smart
    developers
●   History, is was one of the first
    applications of the free software
    movement, there was commercial
    versions in the beginning though
●    It stands for "Editing Macros", rumour
    has it that it is a play on some Stallman
    ice cream store
                       Master on Free Software
Emacs: text editor? ;-) (II)
●   The truth is that it is a Lisp interpreter
    that allows you to edit text, among many
    other things
●   Editors wars




                      Master on Free Software
Emacs concepts, terms and
                  initial contact
●   use the refcard
    http://marc-abramowitz.com/download/emacs_22_reference_card.pdf



●   meta key (M), control key (C)
●   file, buffer, frame and window
●   modes: major and minor
●    movement commands
●   mark and point
                                  Master on Free Software
Emacs concepts, terms and
            initial contact (II)
●   you do not cut, you kill, and you do not
    paste, you yank ;-)
●   functions and key bindings
●   undo
●   cancel commands
●   search and replace
●   configure .emacs

                       Master on Free Software
Emacs concepts, terms and
            initial contact (III)
●   obtaining help
●   macros, powerful and easy to use way to
    repeat series of commands
●   define macros
●   use last macro
●   you can name it, save it and bind it to key



                      Master on Free Software
Interesting modes (C-h m)
●   Text mode
●   C mode
●   Compile mode
●   GUD mode
●   shell modes
●   Cscope / ECB
●   VC mode

                   Master on Free Software
References
●   http://www.gnu.org/software/emacs/
●   http://www.emacswiki.org/
●   Learning GNU Emacs, Third Edition, by
    Debra Cameron (Author), James Elliott
    (Author), Marc Loy (Author), Eric
    Raymond (Author), Bill Rosenblatt
    (Author)


                     Master on Free Software
Acknowledgments
●   Alejandro García Castro




                     Master on Free Software

Contenu connexe

En vedette (8)

Emacs Modes I can't work without
Emacs Modes I can't work withoutEmacs Modes I can't work without
Emacs Modes I can't work without
 
Linux boot process
Linux boot processLinux boot process
Linux boot process
 
Code4vn - Linux day - linux boot process
Code4vn - Linux day - linux boot processCode4vn - Linux day - linux boot process
Code4vn - Linux day - linux boot process
 
How Emacs changed my life
How Emacs changed my lifeHow Emacs changed my life
How Emacs changed my life
 
Linux booting procedure
Linux booting procedureLinux booting procedure
Linux booting procedure
 
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について
 
我在豆瓣使用Emacs
我在豆瓣使用Emacs我在豆瓣使用Emacs
我在豆瓣使用Emacs
 
Rhel6 vs rhel7
Rhel6 vs rhel7Rhel6 vs rhel7
Rhel6 vs rhel7
 

Plus de Juan A. Suárez Romero

Plus de Juan A. Suárez Romero (17)

Graphics stack updates for Raspberry Pi devices (FOSDEM 2024)
Graphics stack updates for Raspberry Pi devices (FOSDEM 2024)Graphics stack updates for Raspberry Pi devices (FOSDEM 2024)
Graphics stack updates for Raspberry Pi devices (FOSDEM 2024)
 
On-going challenges in the Raspberry Pi driver stack: OpenGL 3, Vulkan and mo...
On-going challenges in the Raspberry Pi driver stack: OpenGL 3, Vulkan and mo...On-going challenges in the Raspberry Pi driver stack: OpenGL 3, Vulkan and mo...
On-going challenges in the Raspberry Pi driver stack: OpenGL 3, Vulkan and mo...
 
Writing multimedia applications with Grilo
Writing multimedia applications with GriloWriting multimedia applications with Grilo
Writing multimedia applications with Grilo
 
Grilo: Easy Access to Online Multimedia Content
Grilo: Easy Access to Online Multimedia ContentGrilo: Easy Access to Online Multimedia Content
Grilo: Easy Access to Online Multimedia Content
 
Grilo: present and future
Grilo: present and futureGrilo: present and future
Grilo: present and future
 
Rygel-Grilo
Rygel-GriloRygel-Grilo
Rygel-Grilo
 
MSL2008. Debugging
MSL2008. DebuggingMSL2008. Debugging
MSL2008. Debugging
 
MSL2009. Valgrind
MSL2009. ValgrindMSL2009. Valgrind
MSL2009. Valgrind
 
MSL2009. Gdb
MSL2009. GdbMSL2009. Gdb
MSL2009. Gdb
 
Logical Volume Manager. An Introduction
Logical Volume Manager. An IntroductionLogical Volume Manager. An Introduction
Logical Volume Manager. An Introduction
 
Una Arquitectura Multiagente Inteligente para la Detección de Intrusos
Una Arquitectura Multiagente Inteligente para la Detección de IntrusosUna Arquitectura Multiagente Inteligente para la Detección de Intrusos
Una Arquitectura Multiagente Inteligente para la Detección de Intrusos
 
An add-on for managing behaviours with priority in JADE
An add-on for managing behaviours with priority in JADEAn add-on for managing behaviours with priority in JADE
An add-on for managing behaviours with priority in JADE
 
Integrating a Priority-Based Scheduler of Behaviours in JADE
Integrating a Priority-Based Scheduler of Behaviours in JADEIntegrating a Priority-Based Scheduler of Behaviours in JADE
Integrating a Priority-Based Scheduler of Behaviours in JADE
 
A New Learning Method for Single Layer Neural Networks Based on a Regularized...
A New Learning Method for Single Layer Neural Networks Based on a Regularized...A New Learning Method for Single Layer Neural Networks Based on a Regularized...
A New Learning Method for Single Layer Neural Networks Based on a Regularized...
 
A Tool for Agent Communication in Mozart/Oz
A Tool for Agent Communication in Mozart/OzA Tool for Agent Communication in Mozart/Oz
A Tool for Agent Communication in Mozart/Oz
 
A Multi-Agent Architecture for Intrusion Detection
A Multi-Agent Architecture for Intrusion DetectionA Multi-Agent Architecture for Intrusion Detection
A Multi-Agent Architecture for Intrusion Detection
 
The KNITTER System: KQML for Erlang
The KNITTER System: KQML for ErlangThe KNITTER System: KQML for Erlang
The KNITTER System: KQML for Erlang
 

Dernier

An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Dernier (20)

Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 

MSL2009. Emacs

  • 1. Emacs Juan A. Suárez Romero Master on Free Software
  • 2. List of topics ● Debate about editors ● Emacs state of art ● Emacs concepts and terms ● Working with emacs ● Common use modes ● Emacs Lisp Master on Free Software
  • 3. Introduction ● What work do you usually do? ● Thinking about usual tasks for a hacker ● What do you usually do in your daily work? Or what tasks do you guess you are going to do? ● Tip: reading/editing text and "using" it for different purposes (code, emails, documentation, etc.) Master on Free Software
  • 4. Introduction (II) "The editor should be an extension of your hand: make sure your editor is configurable, extensible, and programmable." The Pragmatic Programmer ● If you are a hacker you are going to handle code most of the time, you have to choose a tool that improves your performance Master on Free Software
  • 5. Emacs: text editor? ;-) ● It is the tool chosen by a lot of smart developers ● History, is was one of the first applications of the free software movement, there was commercial versions in the beginning though ● It stands for "Editing Macros", rumour has it that it is a play on some Stallman ice cream store Master on Free Software
  • 6. Emacs: text editor? ;-) (II) ● The truth is that it is a Lisp interpreter that allows you to edit text, among many other things ● Editors wars Master on Free Software
  • 7. Emacs concepts, terms and initial contact ● use the refcard http://marc-abramowitz.com/download/emacs_22_reference_card.pdf ● meta key (M), control key (C) ● file, buffer, frame and window ● modes: major and minor ● movement commands ● mark and point Master on Free Software
  • 8. Emacs concepts, terms and initial contact (II) ● you do not cut, you kill, and you do not paste, you yank ;-) ● functions and key bindings ● undo ● cancel commands ● search and replace ● configure .emacs Master on Free Software
  • 9. Emacs concepts, terms and initial contact (III) ● obtaining help ● macros, powerful and easy to use way to repeat series of commands ● define macros ● use last macro ● you can name it, save it and bind it to key Master on Free Software
  • 10. Interesting modes (C-h m) ● Text mode ● C mode ● Compile mode ● GUD mode ● shell modes ● Cscope / ECB ● VC mode Master on Free Software
  • 11. References ● http://www.gnu.org/software/emacs/ ● http://www.emacswiki.org/ ● Learning GNU Emacs, Third Edition, by Debra Cameron (Author), James Elliott (Author), Marc Loy (Author), Eric Raymond (Author), Bill Rosenblatt (Author) Master on Free Software
  • 12. Acknowledgments ● Alejandro García Castro Master on Free Software