GNU Emacs Cheat Sheet (Tour

Total Page:16

File Type:pdf, Size:1020Kb

GNU Emacs Cheat Sheet (Tour GNU Emacs Cheat Sheet (Tour: https://www.gnu.org/software/emacs/tour/) Note: Lispworks editor commands mostly compatible. One difference is that compiling a Lisp form in Lispworks editor is c-sh-c (not c-c c-c as in regular Emacs.) Emacs Help Lisp Move cursor · Tutorial: c-h t · Start Lisp: m-x slime · Index of help commands: c-h ? · Compile Lisp form: c-c c-c c-f Forward a character c-b Backward a character · Search for command: c-h a · Eval Lisp form: c-m-x m-f Forward a word · Describe command: c-h w · Format/indent s-expr: c-m-q m-b Backward a word · Describe command: m-x apropos · Symbol complete c-m-i, c-c TAB c-m-f Forward s-expression · Describe key binding: c-h c · Find Lisp definition: m-. c-m-b Backward s-expression General · TAB will indent or complete c-c c-p Move to prev REPL cmd · Abort command (eg search): c-g · SPACE will show function arglists c-c c-n Move to next REPL cmd · Search: c-s (forward), c-r (rev) · REPL buffer: *slime-repl sbcl* c-n Next line · Search&repl: m-% [type values] · Debugger buffer: *sldb sbcl/0* c-p Previous line · Mark region: c-SPACE and move · Yank prev REPL cmd: m-p c-a Beginning of line · Exit: c-x c-c · Yank next REPL cmd: c-p c-e End of line · Load E-lisp file: m-x load-file Deleting/restoring · Eval E-lisp expr: m-: · Char: c-d c-a Beginning of s-expression c-e End of s-expression Panes · Word: m-d c-m-u UP s-expression · Two panes (horiz): c-x · S-expr: c-m-d · Two panes (vert): c-x 2 · Kill line (store): c-k m-v Backward a page · Single pane (selected one): c-x 0 · Delete/store marked region: c-w c-v forward a page · Switch focus to other pane: c-x o · Store marked region: m-w c-l Center on page m-< File beginning Files and buffers · Yank (paste) stored text: c-y m-> File end · Select buffer: c-x b [type name] · Undo: c-/ or c- · List buffers: c-x c-b Misc text · Open file: c-x c-f [type name] · Upper case: m-u Useful extensions · Save: c-x c-s · Lowercase: m-l · Swap current buffer: c-; · Save as: c-x c-w [type name] · Open newline: c-o · Select REPL buffer: c-m-; · Kill buffer: c-x k [select buffer] · Transpose s-expressions: c-m-t · Select shell buffer: c-, · Create shell buffer: m-x shell · Comment region: c-= · Uncomment region: c-& 1.
Recommended publications
  • The Clon User Manual the Command-Line Options Nuker, Version 1.0 Beta 25 "Michael Brecker"
    The Clon User Manual The Command-Line Options Nuker, Version 1.0 beta 25 "Michael Brecker" Didier Verna <[email protected]> Copyright c 2010{2012, 2015, 2017, 2020, 2021 Didier Verna Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the section entitled \Copy- ing" is included exactly as in the original. Permission is granted to copy and distribute translations of this manual into an- other language, under the above conditions for modified versions, except that this permission notice may be translated as well. Cover art by Alexis Angelidis. i Table of Contents Copying ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1 Introduction :::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2 Installation:::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 3 Quick Start ::::::::::::::::::::::::::::::::::::::::::::::::::::: 7 3.1 Full Source :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 7 3.2 Explanation ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 7 4 Using Clon :::::::::::::::::::::::::::::::::::::::::::::::::::: 11 4.1 Synopsis Definition ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 4.1.1 Synopsis Items ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 4.1.1.1 Text ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Omnipresent and Low-Overhead Application Debugging
    Omnipresent and low-overhead application debugging Robert Strandh [email protected] LaBRI, University of Bordeaux Talence, France ABSTRACT application programmers as opposed to system programmers. The state of the art in application debugging in free Common The difference, in the context of this paper, is that the tech- Lisp implementations leaves much to be desired. In many niques that we suggest are not adapted to debugging the cases, only a backtrace inspector is provided, allowing the system itself, such as the compiler. Instead, throughout this application programmer to examine the control stack when paper, we assume that, as far as the application programmer an unhandled error is signaled. Most such implementations do is concerned, the semantics of the code generated by the not allow the programmer to set breakpoints (unconditional compiler corresponds to that of the source code. or conditional), nor to step the program after it has stopped. In this paper, we are mainly concerned with Common Furthermore, even debugging tools such as tracing or man- Lisp [1] implementations distributed as so-called FLOSS, i.e., ually calling break are typically very limited in that they do \Free, Libre, and Open Source Software". While some such not allow the programmer to trace or break in important sys- implementations are excellent in terms of the quality of the tem functions such as make-instance or shared-initialize, code that the compiler generates, most leave much to be simply because these tools impact all callers, including those desired when it comes to debugging tools available to the of the system itself, such as the compiler.
    [Show full text]
  • California Forest Insect and Disease Training Manual
    California Forest Insect and Disease Training Manual This document was created by US Forest Service, Region 5, Forest Health Protection and the California Department of Forestry and Fire Protection, Forest Pest Management forest health specialists. The following publications and references were used for guidance and supplemental text: Forest Insect and Disease Identification and Management (training manual). North Dakota Forest Service, US Forest Service, Region 1, Forest Health Protection, Montana Department of Natural Resources and Conservation and Idaho Department of Lands. Forest Insects and Diseases, Natural Resources Institute. US Forest Service, Region 6, Forest Health Protection. Forest Insect and Disease Leaflets. USDA Forest Service Furniss, R.L., and Carolin, V.M. 1977. Western forest insects. USDA Forest Service Miscellaneous Publication 1339. 654 p. Goheen, E.M. and E.A. Willhite. 2006. Field Guide to Common Disease and Insect Pests of Oregon and Washington Conifers. R6-NR-FID-PR-01-06. Portland, OR. USDA Forest Service, Pacific Northwest Region. 327 p. M.L. Fairweather, McMillin, J., Rogers, T., Conklin, D. and B Fitzgibbon. 2006. Field Guide to Insects and Diseases of Arizona and New Mexico. USDA Forest Service. MB-R3-16-3. Pest Alerts. USDA Forest Service. Scharpf, R. F., tech coord. 1993. Diseases of Pacific Coast Conifers. USDA For. Serv. Ag. Hndbk. 521. 199 p.32, 58. Tree Notes Series. California Department of Forestry and Fire Protection. Wood, D.L., T.W. Koerber, R.F. Scharpf and A.J. Storer, Pests of the Native California Conifers, California Natural History Series, University of California Press, 2003. Cover Photo: Don Owen. 1978. Yosemite Valley.
    [Show full text]
  • Mcclim Demonstration
    McCLIM Demonstration Daniel Kochmanski´ TurtleWare – Daniel Kochmanski´ Przemysl,´ Poland [email protected] ABSTRACT tectural pattern in a consistent way while also providing We describe what is a Common Lisp Interface Manager[2] defaults and the ability to customize its behavior. implementation called McCLIM[7]. In particular, we de- McCLIM is a free open source implementation of CLIM scribe recent improvements of the code base. We illustrate II specification with extensions proposed by Franz Inc. in the CLIM 2 User Guide, version 2.2.2. As of 2017, Mc- McCLIM and recent development by developing a demo ap- 1 plication \Clamber", which is a book collection managament CLIM (and recently opensourced clim2 ) is the only avail- tool, which was created in purpose of explaining CLIM con- able native graphic user interface toolkit available to the cepts in form of a tutorial. Common Lisp ecosystem . Other solutions are based on foreign tools (LTK2, CommonQt3 or EQL54) or are com- mercial (Common Graphics5, CAPI[?]). Another frequently CCS Concepts used approach is creating web applications with frameworks. •Software and its engineering ! Integrated and vi- A few applications and libraries written in McCLIM are sual development environments; shipped with McCLIM code repository: Keywords • Listener Common Lisp, graphic user interfaces The McCLIM Listener provides an interactive toplevel with full access to the graphical capabilities of CLIM 1. INTRODUCTION and a set of built-in commands intended to be useful for Lisp development and experimentation. The CLIM specification[3] is large and requires some ini- tial work from the programmer to start writing programs • Inspector using CLIM.
    [Show full text]
  • 9 European Lisp Symposium
    Proceedings of the 9th European Lisp Symposium AGH University of Science and Technology, Kraków, Poland May 9 – 10, 2016 Irène Durand (ed.) ISBN-13: 978-2-9557474-0-7 Contents Preface v Message from the Programme Chair . vii Message from the Organizing Chair . viii Organization ix Programme Chair . xi Local Chair . xi Programme Committee . xi Organizing Committee . xi Sponsors . xii Invited Contributions xiii Program Proving with Coq – Pierre Castéran .........................1 Julia: to Lisp or Not to Lisp? – Stefan Karpinski .......................1 Lexical Closures and Complexity – Francis Sergeraert ...................2 Session I: Language design3 Refactoring Dynamic Languages Rafael Reia and António Menezes Leitão ..........................5 Type-Checking of Heterogeneous Sequences in Common Lisp Jim E. Newton, Akim Demaille and Didier Verna ..................... 13 A CLOS Protocol for Editor Buffers Robert Strandh ....................................... 21 Session II: Domain Specific Languages 29 Using Lisp Macro-Facilities for Transferable Statistical Tests Kay Hamacher ....................................... 31 A High-Performance Image Processing DSL for Heterogeneous Architectures Kai Selgrad, Alexander Lier, Jan Dörntlein, Oliver Reiche and Marc Stamminger .... 39 Session III: Implementation 47 A modern implementation of the LOOP macro Robert Strandh ....................................... 49 Source-to-Source Compilation via Submodules Tero Hasu and Matthew Flatt ............................... 57 Extending Software Transactional
    [Show full text]
  • Towards Left Duff S Mdbg Holt Winters Gai Incl Tax Drupal Fapi Icici
    jimportneoneo_clienterrorentitynotfoundrelatedtonoeneo_j_sdn neo_j_traversalcyperneo_jclientpy_neo_neo_jneo_jphpgraphesrelsjshelltraverserwritebatchtransactioneventhandlerbatchinsertereverymangraphenedbgraphdatabaseserviceneo_j_communityjconfigurationjserverstartnodenotintransactionexceptionrest_graphdbneographytransactionfailureexceptionrelationshipentityneo_j_ogmsdnwrappingneoserverbootstrappergraphrepositoryneo_j_graphdbnodeentityembeddedgraphdatabaseneo_jtemplate neo_j_spatialcypher_neo_jneo_j_cyphercypher_querynoe_jcypherneo_jrestclientpy_neoallshortestpathscypher_querieslinkuriousneoclipseexecutionresultbatch_importerwebadmingraphdatabasetimetreegraphawarerelatedtoviacypherqueryrecorelationshiptypespringrestgraphdatabaseflockdbneomodelneo_j_rbshortpathpersistable withindistancegraphdbneo_jneo_j_webadminmiddle_ground_betweenanormcypher materialised handaling hinted finds_nothingbulbsbulbflowrexprorexster cayleygremlintitandborient_dbaurelius tinkerpoptitan_cassandratitan_graph_dbtitan_graphorientdbtitan rexter enough_ram arangotinkerpop_gremlinpyorientlinkset arangodb_graphfoxxodocumentarangodborientjssails_orientdborientgraphexectedbaasbox spark_javarddrddsunpersist asigned aql fetchplanoriento bsonobjectpyspark_rddrddmatrixfactorizationmodelresultiterablemlibpushdownlineage transforamtionspark_rddpairrddreducebykeymappartitionstakeorderedrowmatrixpair_rddblockmanagerlinearregressionwithsgddstreamsencouter fieldtypes spark_dataframejavarddgroupbykeyorg_apache_spark_rddlabeledpointdatabricksaggregatebykeyjavasparkcontextsaveastextfilejavapairdstreamcombinebykeysparkcontext_textfilejavadstreammappartitionswithindexupdatestatebykeyreducebykeyandwindowrepartitioning
    [Show full text]
  • Armed Bear Common Lisp User Manual
    Armed Bear Common Lisp User Manual Mark Evenson Erik H¨ulsmann Rudolf Schlatte Alessio Stalla Ville Voutilainen Version 1.4.0 October 2016 2 Contents 0.0.1 Preface to the Fifth Edition...........................4 0.0.2 Preface to the Fourth Edition..........................4 0.0.3 Preface to the Third Edition..........................4 0.0.4 Preface to the Second Edition..........................4 1 Introduction 5 1.1 Conformance.......................................5 1.1.1 ANSI Common Lisp...............................5 1.1.2 Contemporary Common Lisp..........................6 1.2 License...........................................6 1.3 Contributors.......................................6 2 Running ABCL7 2.1 Options..........................................7 2.2 Initialization.......................................8 3 Interaction with the Hosting JVM9 3.1 Lisp to Java........................................9 3.1.1 Low-level Java API................................9 3.2 Java to Lisp........................................ 11 3.2.1 Calling Lisp from Java.............................. 11 3.3 Java Scripting API (JSR-223).............................. 13 3.3.1 Conversions.................................... 14 3.3.2 Implemented JSR-223 interfaces........................ 14 3.3.3 Start-up and configuration file......................... 14 3.3.4 Evaluation.................................... 15 3.3.5 Compilation.................................... 15 3.3.6 Invocation of functions and methods...................... 15 3.3.7 Implementation of Java
    [Show full text]
  • Robot Programming with Lisp 2
    Artificial Intelligence Robot Programming with Lisp 2. Imperative Programming Gayane Kazhoyan Institute for Artificial Intelligence University of Bremen 25th October, 2018 (LISP $ Lots of Irritating Superfluous Parenthesis) Copyright: XKCD Artificial Intelligence Lisp the Language LISP $ LISt Processing language Theory Assignment Gayane Kazhoyan Robot Programming with Lisp 25th October, 2018 2 Artificial Intelligence Lisp the Language LISP $ LISt Processing language (LISP $ Lots of Irritating Superfluous Parenthesis) Copyright: XKCD Theory Assignment Gayane Kazhoyan Robot Programming with Lisp 25th October, 2018 3 • Garbage collection: first language to have an automated GC • Functions as first-class citizens (e.g. callbacks) • Anonymous functions • Side-effects are allowed, not purely functional as, e.g., Haskell • Run-time code generation • Easily-expandable through the powerful macros mechanism Artificial Intelligence Technical Characteristics • Dynamic typing: specifying the type of a variable is optional Theory Assignment Gayane Kazhoyan Robot Programming with Lisp 25th October, 2018 4 • Functions as first-class citizens (e.g. callbacks) • Anonymous functions • Side-effects are allowed, not purely functional as, e.g., Haskell • Run-time code generation • Easily-expandable through the powerful macros mechanism Artificial Intelligence Technical Characteristics • Dynamic typing: specifying the type of a variable is optional • Garbage collection: first language to have an automated GC Theory Assignment Gayane Kazhoyan Robot Programming with Lisp 25th October, 2018 5 • Anonymous functions • Side-effects are allowed, not purely functional as, e.g., Haskell • Run-time code generation • Easily-expandable through the powerful macros mechanism Artificial Intelligence Technical Characteristics • Dynamic typing: specifying the type of a variable is optional • Garbage collection: first language to have an automated GC • Functions as first-class citizens (e.g.
    [Show full text]
  • Projet De Programmation 3
    Projet de Programmation 3 Cours : Ir`ene Durand TD : Ir`ene Durand, Richard Moussa, Kaninda Musumbu (2 groupes) Semaines Cours mercredi 9h30-10h50, 2-7 9-10 Amphi A29 TD 12 s´eances de 1h20 5-7 9 10 12 1 Devoir surveill´emercredi 9h30-11h 11 Amphi A29 1 Projet surveill´e 9 `a13 Le devoir surveill´eET le projet surveill´esont obligatoires. Support de cours : transparents et exemples disponibles sur page Web http://dept-info.labri.u-bordeaux.fr/~idurand/enseignement/PP3/ 1 Bibliographie Peter Seibel Practical Common Lisp Apress Paul Graham : ANSI Common Lisp Prentice Hall Paul Graham : On Lisp Advanced Techniques for Common Lisp Prentice Hall Robert Strandh et Ir`ene Durand Trait´ede programmation en Common Lisp M´etaModulaire Sonya Keene : Object-Oriented Programming in Common Lisp A programmer’s guide to CLOS Addison Wesley Peter Norvig : Paradigms of Artificial Intelligence Programming Case Studies in Common Lisp Morgan Kaufmann 2 Autres documents The HyperSpec (la norme ANSI compl`ete de Common Lisp, en HTML) http://www.lispworks.com/documentation/HyperSpec/Front/index.htm SBCL User Manual CLX reference manual (Common Lisp X Interface) Common Lisp Interface Manager (CLIM) http://bauhh.dyndns.org:8000/clim-spec/index.html Guy Steele : Common Lisp, the Language, second edition Digital Press, (disponible sur WWW en HTML) David Lamkins : Successful Lisp (Tutorial en-ligne) 3 Objectifs et contenu Passage `al’´echelle – Appr´ehender les probl`emes relatifs `ala r´ealisation d’un vrai projet – Installation et utilisation de biblioth`eques existantes – Biblioth`eque graphique (mcclim) – Cr´eation de biblioth`eques r´eutilisables – Modularit´e, API (Application Programming Interface) ou Interface de Programmation – Utilisation de la Programmation Objet – Entr´ees/Sorties (flots, acc`es au syst`eme de fichiers) – Gestion des exceptions 4 Paquetages (Packages) Supposons qu’on veuille utiliser un syst`eme (une biblioth`eque) (la biblioth`eque graphique McCLIM par exemple).
    [Show full text]
  • The Road to Perspective Are Often Badly Covered, If at All
    Coding with Lisp Coding with Lisp Developing Lisp code on a free software platform is no mean feat, and documentation, though available, is dispersed and comparison to solid, hefty common tools such as gcc, often too concise for users new to Lisp. In the second part of gdb and associated autobuild suite. There’s a lot to get used to here, and the implementation should be an accessible guide to this fl exible language, self-confessed well bonded with an IDE such as GNU Emacs. SLIME is a contemporary solution which really does this job, Lisp newbie Martin Howse assesses practical issues and and we’ll check out some integration issues, and outline further sources of Emacs enlightenment. It’s all implementations under GNU/Linux about identifying best of breed components, outlining solutions to common problems and setting the new user on the right course, so as to promote further growth. And as users do develop, further questions inevitably crop up, questions which online documentation is poorly equipped to handle. Packages and packaging from both a user and developer The Road To perspective are often badly covered, if at all. And whereas, in the world of C, everyday libraries are easy to identify, under Common Lisp this is far from the case. Efforts such as key SBCL (Steel Bank Common Lisp) developer and all round good Lisp guy, Dan Barlow’s cirCLe project, which aimed to neatly package implementation, IDE, documentation, libraries and packagingpackaging ttools,ools, wouldwould ccertainlyertainly mmakeake llifeife eeasierasier forfor tthehe nnewbie,ewbie, bbutut Graphical Common OpenMCL all play well here, with work in Lisp IDEs are a rare unfortunatelyunfortunately progressprogress doesdoes sseemeem ttoo hhaveave slowedslowed onon thisthis ffront.ront.
    [Show full text]
  • Mcclim Manual Draft
    McCLIM User's Manual The Users Guide and API Reference Copyright c 2004,2005,2006,2007,2008,2017,2019 the McCLIM hackers. i Table of Contents Introduction ::::::::::::::::::::::::::::::::::::::::: 1 Standards ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 How CLIM Is Different :::::::::::::::::::::::::::::::::::::::::::::: 1 1 User manual ::::::::::::::::::::::::::::::::::::: 3 1.1 Building McCLIM :::::::::::::::::::::::::::::::::::::::::::::: 3 1.1.1 Examples and demos::::::::::::::::::::::::::::::::::::::: 3 1.1.2 Applications ::::::::::::::::::::::::::::::::::::::::::::::: 3 1.2 The first application :::::::::::::::::::::::::::::::::::::::::::: 4 1.2.1 A bit of terminology ::::::::::::::::::::::::::::::::::::::: 4 1.2.2 How CLIM applications produce output :::::::::::::::::::: 4 1.2.3 Panes and Gadgets :::::::::::::::::::::::::::::::::::::::: 6 1.2.4 Defining Application Frames ::::::::::::::::::::::::::::::: 6 1.2.5 A First Attempt ::::::::::::::::::::::::::::::::::::::::::: 6 1.2.6 Executing the Application ::::::::::::::::::::::::::::::::: 8 1.2.7 Adding Functionality :::::::::::::::::::::::::::::::::::::: 8 1.2.8 An application displaying a data structure :::::::::::::::: 11 1.3 Using incremental redisplay:::::::::::::::::::::::::::::::::::: 13 1.4 Using presentation types::::::::::::::::::::::::::::::::::::::: 15 1.4.1 What is a presentation type::::::::::::::::::::::::::::::: 16 1.4.2 A simple example::::::::::::::::::::::::::::::::::::::::: 16 1.5 Using views :::::::::::::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • SBCL User Manual SBCL Version 2.1.9 2021-09 This Manual Is Part of the SBCL Software System
    SBCL User Manual SBCL version 2.1.9 2021-09 This manual is part of the SBCL software system. See the README file for more information. This manual is largely derived from the manual for the CMUCL system, which was produced at Carnegie Mellon University and later released into the public domain. This manual is in the public domain and is provided with absolutely no warranty. See the COPYING and CREDITS files for more information. i Table of Contents 1 Getting Support and Reporting Bugs ::::::::::::::::::::::::::::::::::::::::: 1 1.1 Volunteer Support ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Commercial Support::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.3 Reporting Bugs:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.3.1 How to Report Bugs Effectively::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.3.2 Signal Related Bugs :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Introduction ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 ANSI Conformance :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1.1 Exceptions ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 Extensions::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.3 Idiosyncrasies:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 2.3.1 Declarations ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    [Show full text]