add new readme
This commit is contained in:
parent
2dc3efa3f6
commit
f761a6b557
124
README.org
124
README.org
@ -1,7 +1,123 @@
|
|||||||
#+title: Emacs config and other niceties
|
#+title: Emacs
|
||||||
#+date: [2024-01-16 Tue]
|
#+date: [2023-09-02 Sat]
|
||||||
#+startup: indent
|
#+startup: indent
|
||||||
|
|
||||||
* emacs
|
* 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]]
|
||||||
|
|
||||||
Emacs config
|
** 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
|
||||||
|
10
init.el
10
init.el
@ -155,6 +155,13 @@
|
|||||||
(require 'ocp-indent)
|
(require 'ocp-indent)
|
||||||
|
|
||||||
;; GPTel with Llamafile config
|
;; GPTel with Llamafile config
|
||||||
|
;; Llama.cpp offers an OpenAI compatible API
|
||||||
|
(gptel-make-openai "openai"
|
||||||
|
:stream t
|
||||||
|
:header (lambda () `(("Authorization" . ,(concat "Bearer " (gptel--get-api-key)))))
|
||||||
|
:key 'gptel-api-key
|
||||||
|
:models '("gpt-3.5-turbo"))
|
||||||
|
|
||||||
;; Llama.cpp offers an OpenAI compatible API
|
;; Llama.cpp offers an OpenAI compatible API
|
||||||
;; (gptel-make-openai "llama-cpp" ;Any name
|
;; (gptel-make-openai "llama-cpp" ;Any name
|
||||||
;; :stream t ;Stream responses
|
;; :stream t ;Stream responses
|
||||||
@ -162,9 +169,8 @@
|
|||||||
;; :host "127.0.0.1:8000" ;Llama.cpp server location
|
;; :host "127.0.0.1:8000" ;Llama.cpp server location
|
||||||
;; :models '("local")) ;Any names, doesn't matter for Llama
|
;; :models '("local")) ;Any names, doesn't matter for Llama
|
||||||
;; And now set it as the default backend
|
;; And now set it as the default backend
|
||||||
;; OPTIONAL configuration
|
|
||||||
(setq gptel-default-mode 'org-mode)
|
(setq gptel-default-mode 'org-mode)
|
||||||
(setq-default gptel-backend (gptel-make-openai "llama-cpp"
|
(setq-default gptel-backend (gptel-make-openai "Llamafile"
|
||||||
:stream t
|
:stream t
|
||||||
:host "127.0.0.1:8080"
|
:host "127.0.0.1:8080"
|
||||||
:protocol "http"
|
:protocol "http"
|
||||||
|
Loading…
Reference in New Issue
Block a user