124 lines
3.3 KiB
Org Mode
124 lines
3.3 KiB
Org Mode
#+title: Emacs
|
||
#+date: [2023-09-02 Sat]
|
||
#+startup: indent
|
||
|
||
* Org mode shortcuts
|
||
** Dates:
|
||
- active timestamps :: C-c .
|
||
creates an entry in the agenda
|
||
- inactive timestamps :: C-c !
|
||
doesn´t create an entry in the agenda
|
||
- link :: [[https://orgmode.org/orgguide.html#Timestamps][timestamps]]
|
||
|
||
** Links:
|
||
- create link :: C-c C-l
|
||
- link :: [[https://orgmode.org/orgguide.html#Hyperlinks][hyperlinks]]
|
||
|
||
** Tables
|
||
- display cells references :: C-c }
|
||
- display ref for that cell :: C-c ?
|
||
references are =@ROW$COLUMN=
|
||
- link :: [[https://orgmode.org/manual/References.html][table references]]
|
||
- formula :: =@I..II=
|
||
select all the rows between horizontal lines (hline) 1 and 2 =vmean(@I..II);EN= column range mean, treats empty values as null (0)
|
||
|
||
* Config
|
||
In your ~init~ file
|
||
|
||
** Listing buffers
|
||
- List buffer :: =C-x C-b=
|
||
Classic version
|
||
- List Buffer Better :: =M-x ibuffer=
|
||
Way better
|
||
|
||
|
||
To overwrite the classic shortcut with the better version:
|
||
#+begin_src elisp
|
||
(global-set-key [remap list-buffers] 'ibuffer)
|
||
#+end_src
|
||
|
||
|
||
* Info Manual
|
||
- C-h i
|
||
|
||
** Shortcuts and Keys
|
||
- [, ] :: Previous and Next *node*
|
||
- l, r :: Back and Forward in *history*
|
||
- n, p :: Previous and Next *sibling node*
|
||
- u :: Up one level to a *parent node*
|
||
- SPC :: Scroll (browse) one screen at a time, natural reading
|
||
- TAB :: Cycles through cross-references and links
|
||
- RET :: Opens the active link
|
||
- m :: Search, Prompts for a menu item name and opens it
|
||
- q :: Closes the info browser
|
||
|
||
** TODO Do the tutorial
|
||
- C-h i
|
||
- getting started
|
||
|
||
** TODO Do the EINTR
|
||
- C-h R :: Open a manual
|
||
- ~eintr~ An Introduction to Programming in Emacs Lisp
|
||
|
||
|
||
* File-local variables
|
||
|
||
** Format
|
||
Looks like this
|
||
#+name: file-local variables *header*
|
||
#+begin_src org
|
||
-*- mode: mode-name-here; my-variable: value -*-
|
||
#+end_src
|
||
|
||
#+name: file-local variables *footer*
|
||
#+begin_src org
|
||
Local Variables:
|
||
mode: mode-name
|
||
my-variables: value
|
||
End:
|
||
#+end_src
|
||
|
||
** Shortcut
|
||
Doesn't seem to have any shortcuts.
|
||
The commands are:
|
||
- ~M-x add-file-local-variable-prop-line~
|
||
- ~M-x add-file-local-variable~
|
||
|
||
** Shebangs (Program loader)
|
||
Classic shell shebangs also sets the major mode
|
||
as long as it's listed in ~interpreter-mode-alist~
|
||
|
||
** Magic mode
|
||
Using the variable in the beginning of the file
|
||
#+begin_src org
|
||
#+magic-mode-alist: mode-name
|
||
#+end_src
|
||
|
||
* Other Window command shortcuts
|
||
The *other* window is the next window that will be on focus with ~C-x o~
|
||
You can execute command in that window instead of the one that has the current focus.
|
||
The shorcuts start with ~C-x 4~ and mirror the commands applied to the current window ~C-x~
|
||
- ~C-x 4 C-f~ :: Finds a file in the other window
|
||
- ~C-x 4 d~ :: Opens ~dired-mode~ in the other window
|
||
- ~C-x 4 C-o~ :: Displays a buffer in the other window
|
||
- ~C-x 4 b~ :: Switches the buffer in the other window
|
||
and make it the active window
|
||
- ~C-x 4 0~ :: Kills the buffer *and* window
|
||
- ~C-x 4 p~ :: Run project command in the other window
|
||
|
||
|
||
The same commands work in an other *frame* using ~5~ instead of ~4~
|
||
|
||
* Bookmark tab
|
||
You can bookmark *windown configurations* equivalent to a *workspace* in some
|
||
other editors.
|
||
|
||
** Shortcuts
|
||
- ~C-x t 2~ :: Create a new tab
|
||
- ~C-x t r~ :: Rename current tab
|
||
- ~C-<TAB>~ :: Cicle through the tabs
|
||
- ~C-x t RET~ :: Select tab by name
|
||
- ~C-x t 0~ :: Close current tab
|
||
- ~C-x t d~ :: Open dired mode in another tab
|