Êíèãè àâòîðà: Learning GNU Emacs, 3rd Edition
/ Êíèãè àâòîðà: Learning GNU Emacs, 3rd Edition
/ Êíèãè àâòîðà: Learning GNU Emacs, 3rd Edition
/ Êíèãè àâòîðà: Learning GNU Emacs, 3rd Edition
Èñêóññòâî ïðîãðàììèðîâàíèÿ äëÿ UnixThe Art of Unix Programming
/ Êíèãè àâòîðà: Learning GNU Emacs, 3rd Edition
Êíèãà: Learning GNU Emacs, 3rd Edition
Îãëàâëåíèå êíèãè
- Preface
- Why Read This Book?
- Which Emacs Is Which?
- What's New in This Edition?
- GNU Emacs and the Free Software Foundation
- An Approach to Learning Emacs
- What We Haven't Included
- The Meta Key
- Conventions Used in This Book
- How to Contact Us
- Acknowledgments
- Chapter 1. Emacs Basics
- 1.1 Introducing Emacs!
- 1.2 Understanding Files and Buffers
- 1.3 A Word About Modes
- 1.4 Starting Emacs
- 1.5 About the Emacs Display
- 1.6 Emacs Commands
- 1.7 Opening a File
- 1.7.1 If You Read the Wrong File
- 1.7.2 Letting Emacs Fill in the Blanks
- 1.7.3 Inserting and Appending Files
- 1.7.4 How Emacs Chooses a Default Directory
- 1.8 Saving Files
- 1.9 Leaving Emacs
- 1.10 Getting Help
- 1.11 Summary
- Chapter 2. Editing
- 2.1 Moving the Cursor
- 2.1.1 Other Ways to Move the Cursor
- 2.1.2 Moving a Screen (or More) at a Time
- 2.1.3 Repeating Commands
- 2.1.4 Centering the Display
- 2.1.5 Emacs Commands and Your Keyboard
- 2.2 Deleting Text
- 2.3 Marking Text to Delete, Move, or Copy
- 2.4 Emacs and the Clipboard
- 2.5 Editing Tricks and Shortcuts
- 2.6 Canceling Commands and Undoing Changes
- 2.6.1 Canceling Commands
- 2.6.2 Undoing Changes
- 2.6.3 Reverting a Buffer from a File
- 2.6.4 Going Back to a Previous Version: Backup Files
- 2.6.5 Recovering Lost Changes
- 2.7 Making Emacs Work the Way You Want
- Chapter 3. Search and Replace
- 3.1 Different Kinds of Searches
- 3.2 Search and Replace
- 3.2.1 Simple Search and Replace Operations
- 3.2.2 Query-Replace
- 3.2.3 Repeating Query-Replaces (and Other Complex Commands)
- 3.2.4 Recursive Editing
- 3.2.5 Are Emacs Searches Case-Sensitive?
- 3.2.6 Regular Expressions for Search and Replacement Operations
- 3.3 Checking Spelling Using Ispell
- 3.3.1 Checking a Buffer
- 3.3.2 Checking a Single Word
- 3.3.3 Completing a Word
- 3.3.4 Spellchecking on the Fly with Flyspell
- 3.4 Word Abbreviations
- 3.4.1 Dynamic Abbreviations
- 3.4.2 Word Abbreviation Mode
- 3.4.2.1 Trying word abbreviations for one session
- 3.4.2.2 Making word abbreviations part of your startup
- 3.4.2.3 Deleting a word abbreviation
- 3.4.2.4 Disabling word abbreviations
- 3.4.2.5 Abbreviations and capitalization
- 3.4.3 Problems You May Encounter
- Chapter 4. Using Buffers, Windows, and Frames
- 4.1 Understanding Buffers, Windows, and Frames
- 4.1.1 Windows Versus Frames
- 4.1.2 Buffers: Independent of Windows and Frames
- 4.1.3 More About Buffers
- 4.2 Working with Multiple Buffers
- 4.3 Working with Windows
- 4.4 Working with Frames
- 4.5 More About Buffers
- 4.5.1 Saving Multiple Buffers
- 4.5.2 Renaming Buffers
- 4.5.3 Read-Only Buffers
- 4.5.4 Getting a List of Buffers
- 4.5.5 Working with the Buffer List
- 4.6 More About Windows
- 4.6.1 Creating Vertical or Side-by-Side Windows
- 4.6.2 Navigating Windows
- 4.6.3 Enlarging and Shrinking Windows
- 4.6.4 Limits on Window Size
- 4.6.5 Comparing Files Between Windows
- 4.7 Holding Your Place with Bookmarks
- Chapter 5. Emacs as a Work Environment
- 5.1 Executing Commands in Shell Buffers
- 5.2 Using Dired, the Directory Editor
- Warning
- 5.2.1 Viewing and Editing Files
- 5.2.2 Deleting, Copying, and Renaming Files
- 5.2.3 Compressing and Uncompressing Files
- 5.2.4 Comparing Files
- 5.2.5 Running Shell Commands on Files
- 5.2.6 Working with Groups of Files
- 5.2.6.1 Selecting files
- 5.2.6.2 Selecting likely candidates for deletion
- 5.2.6.3 Selecting files by type
- 5.2.6.4 Using regular expressions to choose files
- 5.2.6.5 Operating on groups of files
- 5.2.7 Navigating Directories
- 5.3 Printing from Emacs
- 5.4 Reading Manpages in Emacs
- 5.5 Using Time Management Tools
- Chapter 6. Writing Macros
- A Macro Revolution
- 6.1 Defining a Macro
- 6.2 Tips for Creating Good Macros
- 6.3 A More Complicated Macro Example
- 6.4 Editing a Macro
- 6.5 The Macro Ring
- 6.6 Binding Your Macro to a Key
- 6.7 Naming, Saving, and Executing Your Macros
- 6.8 Building More Complicated Macros
- 6.9 Executing Macros on a Region
- 6.10 Beyond Macros
- Chapter 7. Simple Text Formatting and Specialized Editing
- 7.1 Using Tabs
- 7.1.1 How Emacs 21 Handles Tabs by Default
- 7.1.2 Changing Tab Stops
- 7.1.3 What if You Want Literal Tabs?
- 7.1.4 Changing Tab Width
- 7.1.5 Tabs and Spaces
- 7.1.6 Changing Tabs to Spaces (and Vice Versa)
- 7.2 Indenting Text
- 7.2.1 Indenting Paragraphs
- 7.2.2 Indenting the First Line of a Paragraph
- 7.2.3 Filling Indented Paragraphs
- 7.2.4 Changing Margins
- 7.2.5 Using Fill Prefixes
- 7.3 Centering Text
- 7.4 Using Outline Mode
- 7.4.1 Entering Outline Mode
- 7.4.2 Hiding and Showing Text
- 7.4.3 Editing While Text Is Hidden
- 7.4.4 Marking Sections of the Outline
- 7.4.5 Promoting and Demoting Sections
- 7.4.6 Using Outline Minor Mode
- 7.5 Rectangle Editing
- 7.6 Making Simple Drawings
- Chapter 8. Markup Language Support
- 8.1 Comments
- 8.2 Font-Lock Mode
- 8.3 Writing HTML
- 8.4 Writing XML
- 8.4.1 Writing XML with SGML Mode
- 8.4.2 TEI Emacs: XML Authoring for Linux and Windows
- 8.4.3 Writing XHTML Using nxml Mode
- 8.4.4 Using psgml Mode
- 8.5 Marking up Text for TEX and LATEX
- Chapter 9. Computer Language Support
- 9.1 Emacs as an IDE
- 9.2 Writing Code
- 9.3 C and C++ Support
- 9.3.1 Motion Commands
- 9.3.2 Customizing Code Indentation Style
- 9.3.3 Additional C and C++ Mode Features
- 9.3.4 C++ Mode Differences
- 9.4 Java Support
- 9.5 The Java Development Environment for Emacs (JDEE)
- 9.5.1 Getting Started
- 9.5.2 Installing CEDET
- 9.5.3 Installing the ELisp Library
- 9.5.4 Installing the JDEE
- 9.5.5 Registering Your Java Tools
- 9.5.6 Editing with the JDEE
- 9.5.7 Compiling and Running with the JDEE
- 9.5.8 Debugging with the JDEE
- 9.5.9 Learning More about the JDEE
- 9.6 Perl Support
- 9.7 SQL Support
- 9.8 The Lisp Modes
- Chapter 10. Customizing Emacs
- 10.1 Using Custom
- 10.1.1 Navigating Custom
- 10.1.2 Common Options
- 10.1.3 Customizing with Custom
- 10.1.4 An Abbrev Mode Example
- 10.1.5 The Options Menu
- 10.1.6 A Dired Example
- 10.1.7 But Where Is the Variable I Want?
- 10.2 Modifying the .emacs File Directly
- 10.3 Modifying Fonts and Colors
- 10.3.1 Changing Fonts Interactively
- 10.3.2 Automatic Highlighting and Coloring
- 10.3.3 Customizing Fonts Through Custom
- 10.3.4 Changing Colors
- 10.3.5 Saving Font- and Color-Enriched Text
- 10.4 Customizing Your Key Bindings
- 10.5 Setting Emacs Variables
- 10.6 Finding Emacs Lisp Packages
- 10.7 Starting Modes via Auto-Mode Customization
- 10.8 Making Emacs Work the Way You Think It Should
- Chapter 11. Emacs Lisp Programming
- 11.1 Introduction to Lisp
- 11.1.1 Basic Lisp Entities
- 11.1.2 Defining Functions
- 11.1.3 Turning Lisp Functions into Emacs Commands
- 11.2 Lisp Primitive Functions
- 11.3 Useful Built-in Emacs Functions
- 11.3.1 Buffers, Text, and Regions
- 11.3.2 Regular Expressions
- 11.3.2.1 Basic operators
- 11.3.2.2 Grouping and alternation
- 11.3.2.3 Context
- 11.3.2.4 Retrieving portions of matches
- 11.3.2.5 Regular expression operator summary
- 11.3.3 A Treasure Trove of Examples
- 11.3.4 Functions That Use Regular Expressions
- 11.3.5 Finding Other Built-in Functions
- 11.4 Building an Automatic Template System
- 11.5 Programming a Major Mode
- 11.5.1 Components of a Major Mode
- 11.5.2 More Lisp Basics: Lists
- 11.5.3 The Calculator Mode
- 11.5.4 Lisp Code for the Calculator Mode
- 11.6 Customizing Existing Modes
- 11.7 Building Your Own Lisp Library
- Chapter 12. Version Control
- 12.1 The Uses of Version Control
- 12.2 Version Control Concepts
- 12.3 How VC Helps with Basic Operations
- 12.4 Editing Comment Buffers
- 12.5 VC Command Summary
- 12.6 VC Mode Indicators
- 12.7 Which Version Control System?
- 12.8 Individual VC Commands
- 12.8.1 Working with Groups and Subtrees of Files
- 12.8.2 Difference Reports
- 12.8.3 Retrieving Old Revisions
- 12.8.4 Viewing Change Histories
- 12.8.5 Registering a File
- 12.8.6 Inserting Version Control Headers
- 12.8.7 Making and Retrieving Snapshots
- 12.8.8 Updating ChangeLog Files
- 12.8.9 Renaming Version-Controlled Files
- 12.8.10 When VC Gets Confused
- 12.9 Customizing VC
- 12.10 Extending VC
- 12.11 What VC Is Not
- 12.12 Using VC Effectively
- 12.13 Comparing with Ediff
- Chapter 13. Platform-Specific Considerations
- 13.1 Emacs and Unix
- 13.1.1 Where to Get Emacs?
- 13.1.2 Where to Put Emacs?
- 13.1.3 Uncompressing and Unpacking
- 13.1.4 Downloading Emacs from CVS
- 13.1.5 Building Emacs
- 13.2 Emacs and Mac OS X
- 13.2.1 "But I Already Have Emacs"
- 13.2.2 Installing Prebuilt Emacs on Mac OS X
- 13.2.3 Building Emacs from Source on Mac OS X
- 13.2.4 Starting Emacs from the Command Line on Mac OS X
- 13.2.5 Mac OS X and the Meta Key
- 13.2.6 Installing Ispell
- 13.3 Emacs and Windows
- Chapter 14. The Help System
- 14.1 Using the Tutorial
- 14.2 Help Commands
- 14.3 Help with Complex Emacs Commands
- 14.4 Navigating Emacs Documentation
- 14.5 Completion
- Appendix A. Emacs Variables
- Table A-1. Backups, auto-save, and versioning
- Table A-2. Searching and replacing
- Table A-3. Display
- Table A-4. Modes
- Table A-5. Text editing
- Table A-6. Programming
- Table A-7. Completion
- Table A-8. Miscellaneous
- Appendix B. Emacs Lisp Packages
- Table B-1. Support for Java, C, and C++ programming
- Table B-2. Support for Lisp programming
- Table B-3. Support for other programming tasks and languages
- Table B-4. Support for Text Processing
- Table B-5. Emulations for other editors
- Table B-6. Interfaces to operating system utilities
- Table B-7. Networking support
- Table B-8. Games and amusements
- * * *
- Appendix C. Bugs and Bug Fixes
- Appendix D. Online Resources
- Table D-1. Emacs web sites
- Table D-2. Platform and accessibility-related web sites
- Table D-3. Text-related sites
- Table D-4. Programming languages, version control, and customization sites
- Table D-5. Markup language-related sites
- Appendix E. Quick Reference
- Table E-1. File-handling commands
- Table E-2. Cursor movement commands
- Table E-3. Deleting, yanking, region, and clipboard commands
- Table E-4. Text filling and reformatting commands
- Table E-5. Stopping and undoing commands
- Table E-6. Search and replace commands
- Table E-7. Regular expression search commands
- Table E-8. Spell-checking commands
- Table E-9. Buffer commands
- Table E-10. Windows and frames
- Table E-11. Shell mode commands
- Table E-12. Dired commands
- Table E-13. Macro commands
- Table E-14. Outline mode commands
- Table E-15. Compilation mode commands
- Table E-16. Basic indentation commands
- Table E-17. C motion commands
- Table E-18. SQL mode commands
- Table E-19. Lisp commands
- Table E-20. VC commands
- Table E-21. Ediff commands
- Table E-22. CUA mode commands
- Table E-23. Help commands
- Table E-24. Documentation help commands
- Table E-25. Important modes
- Colophon
- Ñíîñêè èç êíèãè
- Ñîäåðæàíèå êíèãè
- Ïîïóëÿðíûå ñòðàíèöû
Îãëàâëåíèå ñòàòüè/êíèãè
- Preface
- Chapter 1. Emacs Basics
- Chapter 2. Editing
- Chapter 3. Search and Replace
- Chapter 4. Using Buffers, Windows, and Frames
- Chapter 5. Emacs as a Work Environment
- Chapter 6. Writing Macros
- Chapter 7. Simple Text Formatting and Specialized Editing
- Chapter 8. Markup Language Support
- Chapter 9. Computer Language Support
- Chapter 10. Customizing Emacs
- Chapter 11. Emacs Lisp Programming
- Chapter 12. Version Control
- Chapter 13. Platform-Specific Considerations
- Chapter 14. The Help System
- Appendix A. Emacs Variables
- Appendix B. Emacs Lisp Packages
- Appendix C. Bugs and Bug Fixes
- Appendix D. Online Resources
- Appendix E. Quick Reference
- Colophon
- Ñíîñêè èç êíèãè
- Ñîäåðæàíèå êíèãè
- Ïîïóëÿðíûå ñòðàíèöû
Ïîõîæèå ñòðàíèöû
- 13.1.1 Where to Get Emacs?
- 13.1.4 Downloading Emacs from CVS
- Learning GNU Emacs, 3rd Edition
- Appendix H. GNU Free Documentation License
- Appendix I. GNU General Public License
- 10.2 Modifying the .emacs File Directly
- 1.3. Àâòîìàòèçàöèÿ ïðîöåññà ñ ïîìîùüþ GNU-óòèëèòû make
- Working with emacs
- The GNU Image Manipulation Program
- The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
- 8.5. Îáõîä äåðåâà ôàéëîâ: GNU du
- GNU Emacs and the Free Software Foundation