presentations:introduction_to_emacs
Presentation
Planning
Goals
Aiming for 30 minutes, so these have to fit within that.
- elisp/emacs primer
- setq, types (t, nil), quote/unquote
- major/minor modes, hooks
- Semi-comfortable
- Good colorschemes
- Annoyances handled
- Code indentation
- Aware of basic keysequences and commands with pointers to learn more and practice.
- Aware of how to use the built-in help facilities to learn about the editor and remind themselves.
- Help, Info, describe-*, …
- Aware of how to install/configure additional packages.
- Configs for particular languages
- ??? Cover configuring the basics/general aspects of configuring the editor for a new language.
- Have basic configs for popular languages, or at least mention the recommended packages for popular languages.
- Target languages should be those taught in the CS courses
- Java, C/C++, Rust, Racket, Python, OCaml, Ruby, Markdown, JS
- Compare and contrast to other editors audience may be familiar with.
- Should probably compare to VS Code
- Big ideas
- Everything is a buffer
- Everything uses the same keybinds.
- ??? Literate programming. We may be using a literate Org file for the config. Not an Emacs-specific idea so maybe don't go into too much detail.
- ??? Interacting with REPLs? SLIME-style REPLs?
- ??? Everything in Emacs. Maybe at least mention the possibilities, while emphasizing that it is not necessary to have a good experience.
- Email
Inspiration
Ideas for configs to cover
Might not cover all of them verbally, but should be in supplementary materials.
- setting indentation settings. Changing them per-mode. e.g. c-basic-offset variable. tab-width variable. indent-tabs-mode?
- custom-file variable? Storing config made through the customizations system in a different file than init.el?
- delete-by-moving-to-trash variable
- Backup files. I think the default is FILENAME~, which can be annoying.
- global-display-line-numbers-mode
- sentence-end-double-space variable
- Interactions with system clipboard.
- winner-mode?
- font configuration
- colorscheme
- Have 2-6 good colorschemes configured by default in the sample config.
- Prot's themes have gotten lots of attention recently due to their detail and accessibility:
- ef-themes
- modus-themes
- standard-themes
Ideas for concepts to cover
- Managing, storing, version controlling, backing up configs and dotfiles?
- Maybe out of scope but should at least mention it.
- Customization system
- Help system, info system, other docs.
- Built-in tutorial
- Recommended external information resources.
- Defining your own keybindings
- Installing and configuring packages.
Ideas for packages to cover
- use-package
- which-key
- Some search/completion package like Vertico and friends?
- magit
- org-mode
- evil-mode
- cua-mode
- eglot / LSP stuff (requires installing LSPs separately)
- tab-completion (corfu / company)
- tree-sitter (requires installing tree-sitter binaries separately)
- built-ins: eww, dired, tramp, games
Miscellaneous ideas
- Mention Wayland stuff in case people have blurriness? Linux users are rare but Ubuntu has Wayland as default so some might face this issue.
- solution is to use PGTK build in emacs 29+
- Make sure instructions work or at least are likely to work for Windows and macOS.
- TODO: Where are Emacs configs stored on Windows?
presentations/introduction_to_emacs.txt · Last modified: 2024/08/25 21:24 by admin