Splitting the docs

This commit is contained in:
Jose 2022-04-27 17:09:34 -03:00
parent 276f001edc
commit 6421e01c53
18 changed files with 788 additions and 3 deletions

View File

@ -1,3 +0,0 @@
# emacs_tutorial
Some hints to use GNU-emacs

46
README.org Normal file
View File

@ -0,0 +1,46 @@
* Emacs tutorial
Some hints to use GNU-emacs
Emacs is a modular and extensible text editor. Users can customize and use only the
specific packages that are needed for their tasks.
Emacs is free software project with many years of development and a very active
community.
This editor can be used for multiple purposes, for instance:
- Edit files from different programming languages or any plain text
- Access a shell and execute tasks in a machine
- Write, edit and export text in multiple formats (html, odt, pdf...)
- Read texts (pdf, epub, html...)
- Create slides/presentations
- Build diagrams
- Browse the internet
- Explore and edit a computer file system
- Keep track of tasks using agenda, daily, contact list, "to-do" list...
- Arrange and track multiple projects and tasks
- Use your email
- Listen music and watch videos
* Contents
* [[./doc/init_emacs.org][Initialize emacs]]
* [[./doc/help.org][Manuals and help about using emacs]]
* [[./doc/movement.org][Movement and text edition]]
* Using emacs commands
* [[./doc/using_meta.org][Using 'meta' (M-x)]]
* [[./doc/using_alt.org][Using 'Alt' (M)]]
* [[./doc/using_ctrl_x.org][Using 'CTRL + x']]
* [[./doc/using_ctrl.org][Using 'CTRL']]
* [[./doc/ddbb_use.org][Using ddbd to keep your contacts]]
* [[./doc/org_intro.org][Introduction to emacs org-mode]]
* [[./doc/dired.org][How to use 'dired']]
* [[./doc/packages.org][Dealing with packages in emacs]]
* [[./doc/R_in_emacs.org][Using R in emacs]]
* [[./doc/links_emacs.org][Links to learn more about emacs]]
* To-do list
** TODO [#A] Read about 'info' package :read:
** TODO [#A] Read this https://plantarum.ca/ :read:

67
doc/R_in_emacs.org Normal file
View File

@ -0,0 +1,67 @@
#+DATE: 2021
* Using R within emacs
** Open R manuals in Emacs-ess
The function ~?help.start()~ from ~utils~ package doesn't open the R manuals
in R vanilla
#+begin_src R
?help.start()
#+end_src
#+RESULTS:
To find the help files with rutils in Emacs-ess, use:
: M-x ess-rutils-html-docs
To open the help documents in browser, check the value of variable
and set the browser
#+begin_src R
test <- options()
head(test)
#+end_src
#+RESULTS:
| TRUE | cairo | iceweasel | FALSE | FALSE | FALSE |
#+begin_src R
test <- options()
names(test[1:10])
#+end_src
#+RESULTS:
| add.smooth |
| bitmapType |
| browser |
| browserNLdisabled |
| CBoundsCheck |
| check.bounds |
| citation.bibtex.max |
| continue |
| contrasts |
| defaultPackages |
: > option(browser = "iceweasel") # setting a browser
The manuals can also be accessed using 'info' program in emacs, e.g.
: C-h i
Then use 'ALT' + 'm' and write the initial words of the manual you
are looking for:
: M m R
All the R manual can be accesed. From ~$ man R~. Typing in terminal 'info -f' followed
by the name of each section:
* info -f R-intro
* info -f R-data
* info -f R-exts
* info -f R-FAQ
* info -f R-lang
* info -f R-ints

72
doc/ddbb_use.org Normal file
View File

@ -0,0 +1,72 @@
#+DATE: 2021
* Using bbdb in emacs
BBDB is the "Big Brothers Insidious Database". It can be used as
email/phone contacts address book.
** How to install
Install bbdb
: M-x package-install bbdb
Install "bbdb-vcard" to extract vcard information
: M-x package-install bbdb-vcard
Install helm-bbdb to query the database using ~helm~ package
: M-x package-install helm-bbdb
** How to create a new record
: M-x bbdb-create
Or use helm
: M-x helm-bbdb
Then, write the name of the new record. If it is not in the list, ~helm~ will ask
if it should be included.
** Importing records from vcard (phone or email)
: M-x bbdb-vcard-import-file
: M-x bbdb-save
** Edit records
Open bbdb and press "e" on the line to be edited in bbdb buffer. Or use:
: M-x bbdb-edit-field
** Display records
: M-x bbdb-display-records
: M-x bbdb-display-all-records
: M-x helm-bbdb
** Add birthdays to agenda
Include this code in one of the agenda files:
#+begin_example
* Anniversaries
:PROPERTIES:
:CATEGORY: Anniv
:END:
%%(org-bbdb-anniversaries-future)
#+end_example
This includes a reminder 7 days before the birthday in the agenda.
Then go to bbdb and add a new field
: M-x bbdb-insert-field
Now you can write the new field name "anniversary" and include a date for this
field.

46
doc/dired.org Normal file
View File

@ -0,0 +1,46 @@
#+DATE: 2021
* Dired
Dired is a directory manager. You can find, open copy, move, delete query and
manipulate files and directories.
** Open a directory with dired and initialize mark regxexp:
: %m
Then, use regex to mark the files.
This will mark all the html files in directory
: \.html$
This includes all temporary files in dired
: $~
This marks all files beginning with "_78"
: ^_78
** Delete, copy, move files or directories
- To delete, first flag the files ("d"). Then, use "x" to execute delete.
- To compare two files, mark the first file, then go to the other file and press "="
- To rename or move files first flag the file, then use "R"
- Mark all files within a directory (except '.' or '..'): ~*s~
- Unmark all marked files in directory: ~U~
- To copy files use "C" over the file you want to copy
- Convert files or directories to lower (~%l~) or upper case (~%u~)
* Tips
* 'f11' toggle full screen mode the current frame
* ibuffer kill multiple buffers
* After open a list of buffers "M-x ibuffer" mark itens with "m"
and kill with "D"
* Avoid ido auto complete to rename a file with similar name to those in directory
* Once you've typed the filename you want, hit C-j instead of RET.
* You can temporarily switch back to the "normal" minibuffer behaviour by hitting C-f. Then you can tab-complete the old filename, and edit it as needed.
* From [[https://stackoverflow.com/questions/23741014/how-to-stop-auto-complete-from-overwriting-a-file-that-is-similarly-named][Stackoverflow]]
* To use ~nano~ editor within emacs use 'CTRL+shift+x' instead of 'CTRL+X'

44
doc/help.org Normal file
View File

@ -0,0 +1,44 @@
#+DATE: 2021
#+OPTIONS: num:nil toc:2
* Find manuals, info or help within emacs
** info
The info files are located in '/usr/share/'. Check the number of files
in terminal:
#+begin_src sh
ls /usr/share/info/*info*gz | wc -l
#+end_src
#+RESULTS:
: 231
Within emacs, 'info' can be visited with 'CTRL-h i'. This opens a file with all
the manuals.
: C-h i
To search for files within the manuals, you can use 'ALT' then 'm' (menu) and
then 'some words you need to find'.
To search 'awk' manual within info manuals:
: M m awk
** man
Using the 'man' program to find available manuals
: M-x man
Then search for the desired manual within the options.
** woman
Using the 'woman' program to find available manuals
: M-x woman
Using the 'man' program to find available manuals

28
doc/init_emacs.org Normal file
View File

@ -0,0 +1,28 @@
#+DATE: 2021
#+OPTIONS: num:nil toc:2
* How to initialize emacs
** Open a session from graphic interface
Check you application lists and open emacs.
** Initializing emacs with specific arguments from a shell
To open emacs without user configurations, i.e., open a new vanila emacs session open a terminal emulator and write:
#+begin_example bash
emacs -Q
#+end_example
Debug when init:
#+begin_example bash
emacs --debug-init
#+end_example
Open emacs withtout using X windows:
#+begin_example bash
emacs -nw
#+end_example

26
doc/links_emacs.org Normal file
View File

@ -0,0 +1,26 @@
#+DATE: 2021
* Links to learn about Emacs
** Emacs conference:
* https://emacsconf.org/
** Tutorial spacemacs
* https://www.brodrigues.co/blog/2019-05-19-spacemacs/
* https://github.com/ntop/n2n
* https://orgmode.org/
* https://github.com/ch11ng/exwm/wiki
* https://writequit.org/denver-emacs/presentations/2017-04-11-time-clocking-with-org.html
* [[https://org-babel.readthedocs.io/en/][Org Babel reference card]]
** Org
* https://orgmode.org/Changes.html
** Other links
* https://odysee.com/@SystemCrafters:e
* https://wiki.systemcrafters.cc/
* https://protesilaos.com/politics/

15
doc/movement.org Normal file
View File

@ -0,0 +1,15 @@
#+DATE: 2021
* Movement and text edition
Deleting words or characters
| Keybinding | Action |
|------------+----------------------------------------------|
| <DEL> | Delete the character just before the cursor |
| C-d | Delete the next character after the cursor |
| M-<DEL> | Kill the word immediately before the cursor |
| M-d | Kill the next word after the cursor |
| C-k | Kill from the cursor position to end of line |
| M-k | Kill to the end of the current sentence |
|------------+----------------------------------------------|

64
doc/org_intro.org Normal file
View File

@ -0,0 +1,64 @@
#+DATE: 2021
* org mode
To opemn the org manual:
: M-x org-info
** Create task list and include date and time
Save a ".org" file. Then write your tasks using "*" to show hierarchy or nesting
structure in tasks.
** Using Pomodoro in org mode
- Install pomodoro
: M-x [RET] package-install org-pomodoro
- Initialize a clock in a task
: M-x [RET] org-clock-in
- Initialize pomodoro
: M-x [RET] org-pomodoro
** org-babel
Reference for header arguments:
https://org-babel.readthedocs.io/en/latest/header-args/
** Org babel does not embedd R plot
org version 9.3
https://orgmode.org/Changes_old.html
:file header argument no longer assume "file" :results
The "file" :results value is now mandatory for a code block returning a link to a file.
The :file or :file-ext header arguments no longer imply a "file" result is expected.
[[https://emacs.stackexchange.com/questions/54695/no-graphic-output-for-matlab-src-block-in-org-mode?newreg=dc27c692d7d949989ba432459d370995][Answer in stackexchange]]
** Include templates in org babel
Use:
: M-x org-insert-structure-template
Or keybinding
: C-c C,
Then choose an option (src, example, center, comment)
Or use org-tempo. To include a src code block in the document:
: <s TAB
Change the letter for each option that you need (a, C, c, E, e... for "export ascii",
"comment", "example"...)

40
doc/packages.org Normal file
View File

@ -0,0 +1,40 @@
#+DATE: 2021
* How to organize, update and deal with 'packages' in emacs
** How to update packages:
Open emacs and then:
- Go to package's list using
: Mx - package-list-packages
- Within the 'packages' buffer use "U" to mark the packages to be upgraded
- Use "x" to execute the upgrade
- To delete old versions of packages use "autoremove"
: M-x package-autoremove
Or:
: M-x p-a
** Package management with helm
"Helm" is an alternative package to deal with packages in emacs.
: M-x helm-list-elisp-packages
| Keys | Description |
|-------+-----------------------------------|
| M-A | Show all packages. |
| M-I | Show installed packages only. |
| M-O | Show non-installed packages only. |
| M-U | Show upgradable packages only. |
| M-B | Show built-in packages only. |
| C-c i | Install package(s). |
| C-c r | Reinstall package(s). |
| C-c d | Uninstall package(s). |
| C-c u | Upgrade package(s). |
| C-c U | Upgrade all packages. |
| C-c @ | Visit package homepage. |

131
doc/porque_usar_emacs.org Normal file
View File

@ -0,0 +1,131 @@
* Emacs
Emacs es un editor de texto modular y extensible, lo que permite que cada usuario
pueda personalizar el editor según sus preferencias y usar los módulos ("paquetes")
que desee para realizar tareas específicas. Es un proyecto de software libre con
muchos años de desarrollo y cuenta con una comunidad activa.
El editor puede ser usado para múltiples tareas. Entre ellas:
- Editar archivos en diferentes lenguajes de programación
- Acceder a un terminal y ejecutar tareas en una máquina
- Escribir y editar textos y exportar en diferentes formatos (html, odt, pdf...)
- Leer textos en diferentes formatos (pdf, epub, html...)
- Elaborar presentaciones
- Construir diagramas
- Navegar en internet
- Explorar el sistema de archivos de un computador
- Elaborar y manejar una agenda, diario, lista de contactos, lista de tareas...
- Organizar y manejar tareas o proyectos
- Enviar correos electrónicos
- Escuchar música y ver vídeos
* Por qué usar emacs?
Emacs es una herramienta flexible, liviana y que permite realizar múltiples tareas
desde una sesión.
Al escribir texto plano en emacs, las personas pueden enfocarse en el contenido y
luego pensar en el formato de dicho texto, haciendo de la escritura una prioridad
y separando esos dos momentos de la elaboración de textos.
Textos planos son más livianos que otro tipo de texto, ocupan menos espacio y son
simples para compartir y editar.
Tal vez una de las grandes ventajas de usar emacs es que dicha herramienta
es una manera didáctica para aprender sobre el funcionamiento de los computadores,
sobre el sistema de archivos y sobre cómo elaborar tareas de manera sistemática y
programática. Es una buena puerta de entrada para aprender, compartir y conocer
el mundo del software libre.
* Algunos paquetes interesantes para utilizar en emacs
Emacs es un editor modular. Esto es: está compuesto por múltiples paquetes
que pueden ser instalados para extender las funcionalidades del editor.
** org mode
Son un conjunto de herramientas para elaborar textos, tomar notas,
realizar programación literaria y organizar tareas
https://orgmode.org/
** bbdb
BBDB: "The Insidious Big Brother Database". Es un paquete que permite
elaborar y manejar una agenda con contactos que pueden ser utilizados
por servicios de correo electrónico.
https://www.emacswiki.org/emacs/BbdbMode
** vterm (Emacs-libvterm)
Es un emulador de terminal para emacs.
https://github.com/emacsmirror/vterm
** pdf-tools
Permite visualizar documentos en pdf en emacs.
https://github.com/politza/pdf-tools
** nov
Permite lectura de textos en formato epub
https://depp.brause.cc/nov.el/
** bongo
Paquete para escuchar música en emacs
https://github.com/dbrock/bongo
** elpy
Ambiente de desarrollo para python
https://elpy.readthedocs.io/en/latest/index.html
** emacs-ess
emacs-ess o "emacs speaks statistics" es un paquete que permite
editar scripts e interactuar con diferentes programas de estadística
como R, SAS, Stata, OpenBUGS.
https://ess.r-project.org/
** magit
Es una interface para el sistema de control de versiones "git".
https://github.com/magit/magit
** helm
Herramienta de búsqueda de archivos.
https://github.com/emacs-helm/helm
** treemacs
Un layout para navegar en los archivos de un computador desde
emacs.
https://github.com/Alexander-Miller/treemacs
** polymode
Permite usar múltiples "modos" en un único buffer en emacs. Usando polymode,
puede ser utilizado en el mismo documento tanto código de python como
de SQL, o código de R junto a Rmarkdown. Esto facilita la ejecución de
tareas que requieren de múltiples herramientas.
https://github.com/polymode
** org-pomodoro
Controlar el tiempo de trabajo usando la técnica "pomodoro" cuando
se trabaja en documentos usando el modo org en emacs.
https://github.com/marcinkoziej/org-pomodoro

BIN
doc/references.odt Normal file

Binary file not shown.

25
doc/references.org Normal file
View File

@ -0,0 +1,25 @@
#+title: How to include references in Emacs org-mode
#+bibliography: ~/Documentos/bib/lepto-ref.bib
https://blog.tecosaur.com/tmio/2021-07-31-citations.html#org367f817
* Insert citations
Use 'org-cite-insert' (C-c C-x @)
[cite:/s/v/@bernard_leptospirosis_1993]
* References
org-ref
https://github.com/jkitchin/org-ref
org-cite
https://blog.tecosaur.com/tmio/2021-07-31-citations.html#fn.3
#+print_bibliography:

30
doc/using_alt.org Normal file
View File

@ -0,0 +1,30 @@
#+DATE: 2021
* Commands
Use the following keybindings to edit in emacs
* CTRL (C)
* ALT (~M~)
* CTRL + x (~C-x~)
* ALT + x (~M-x~)
** Using 'Alt' (M)
#+Caption: Use meta 'M' (ALT key) in emacs
| Keystroke | Keystroke | Action |
|-----------+-----------+-----------------------------------|
| M | w | Copy text |
| | v | Move view to begginning of buffer |
| | a | Move to beginning of lines |
| | e | Move to the end of lines |
| | < | Move to beginning of buffer |
| | > | Move to end of buffer |
| | % | Query replace |
| | Shift +$ | Spell-checking region [fn:1] |
| | | |
* Footnotes
[fn:1] Should select the region to be checked before run the keystroke

54
doc/using_ctrl.org Normal file
View File

@ -0,0 +1,54 @@
#+DATE: 2021
* Commands
Use CTRL (C), ALT (M), Ctrl + x (C-x) or ALT + x ( M-x) to edit
#+Caption: Some examples on how to use 'Ctrl' in emacs
| Keystroke | Keystroke | Action |
|-----------+--------------------------+-----------------------------------------------------------|
| C | tab | Changing tab view |
| | y | Yanking or paste |
| | space | Marking text to select |
| | w | Killing text |
| | k | Killing text |
| | shift/ | Undo |
| | "/" | Undo |
| | _ | Undo. Also Redo after an "undo" |
| | v | Move to the end of buffer |
| | l | Move view around cursor |
| | p | Move to previous screen view |
| | n | Move to next screen view |
| | b | Move backwards screen view |
| | f | Move forwards screen view |
| | a | Move to beginning of sentence |
| | e | Move to the end of sentence |
| | s | Search forward for strings |
| | s and then <DEL> | Search retreats |
| | r | Search backward for strings |
| | M-v ("ALT-v") | Scroll bottom frame |
| | h | Help |
| | h with - c - a "command" | Help for commands |
| | h m | Display info on minor modes |
| | c-C-j | Switch to line in Term mode |
| | c-C-k | Swith to character in Term mode |
| | h r | Opens the manual |
| | c C-s | Scheduling a task in Todo list |
| | c C-d | Including a deadline in Todo list |
| | c C-x C-i | org-clock-in |
| | c C-x C-o | org-clock-out |
| | c C-c | Used to access markdown options |
| | c [ | org-agenda-file-to-front |
| | c ] | org-remove-file (from list agenda) |
| | \ | Enable or disable input method |
| | c-C-, | org-insert-structure-template |
| | <s TAB | Insert structure template (src code) |
| | u 'number' 'command' | Repeat command or character with 'number' of times [fn:2] |
| | | |
| | | |
* Footnotes
[fn:2] Use a number to inform the number of times the command or character should be repeated

39
doc/using_ctrl_x.org Normal file
View File

@ -0,0 +1,39 @@
#+DATE: 2021
* Commands
Use CTRL (C), ALT (M), Ctrl + x (C-x) or ALT + x ( M-x) to edit
** Using "CTRL + x"
#+Caption: Some examples about how to use 'C-x' in emacs
| Keystroke | Keystroke | Action |
|-----------+-----------+--------------------------------------|
| C-x | k | Kill a buffer |
| | b | Search a buffer |
| | C-f | Find/open a file |
| | C-b | List all buffers |
| | C-c | Exit from emacs |
| | C-s | Save a file |
| | s | Save changes in buffers |
| | u | Undo |
| | o | Change to other frame |
| | h | Select all text in buffer |
| | C-q | Enter writable mode in dired |
| | C-s | Saves after edit dired |
| | d | Initialize dired |
| | c-\ | Select input method |
| | C-h | Keybindings for "C-x |
| | t 2 | New tab |
| | t b | Select buffer name in other tab |
| | r m | Set a bookmark in a file at point |
| | r l | List all bookmarks |
| | r b | Visit bookmarks list |
| | x-w | Write a file |
| | r t | string-rectangle: include characters |
| | i | insert a file within the actual file |
| | C- | Reduce buffer text size |
| | C+ | Increase buffer text size |

61
doc/using_meta.org Normal file
View File

@ -0,0 +1,61 @@
#+DATE: 2021
* Commands
Use the following keybindings to edit in emacs
* CTRL (C)
* ALT (~M~)
* CTRL + x (~C-x~)
* ALT + x (~M-x~)
** Using 'meta' "M-x"
#+Caption: Some examples on how to use se 'M-x' in emacs
| Keystroke | Command | Action |
|-----------+----------------------------------+-----------------------------------------|
| M-x | tab-new | New tab |
| | tab-rename | Rename tab |
| | menu- | Modifying menu |
| | menu-bar-mode | Including a menu bar |
| | ido-mode | Work with "ido-mode" |
| | org-mode | Work with "org-mode" |
| | eww | Browse the web |
| | browse-url | Browse the web |
| | term | Open a terminal |
| | shell | Open shell |
| | rename-uniquely | Rename an open terminal |
| | dired | Acess directory system |
| | appt-activate | Appointment reminders activated |
| | appt-add | Add an appointment |
| | appt-delete | Delete an appointment |
| | customize | Customize Emacs |
| | customize-themes | Customize themes |
| | rename-file | Renaming a file |
| | diary | Open diary |
| | ispell-change-dictionary | Change dictionary for session |
| | flyspell-mode | Using flyspell |
| | nov-mode | Open nov epub reader |
| | org-odt-convert | convert from odt to multiple formats |
| | org-clock-report | Creates a clocktable |
| | f10 | maximize current frame |
| | set-input-method | Change keyboard layout |
| | dired | Initialize dired |
| | delete-trailing-whitespace | Delete unnecessary space in text |
| | imenu | Interactive menu |
| | helm-imenu | Interactive menu with helm |
| | ibuffer | Open interactive list of buffers |
| | helm-buffers-list | Open interactive list of buffers |
| | find-name-dired | Search for a word recursively |
| | find-grep-dired | Search grep in dired |
| | helm-find | Search for a word in file recursively |
| | helm-list-elisp-packages | Show package list with multiple options |
| | visual-line-mode | Wrap text to screen width |
| | revert-buffer-with-coding-system | Change encoding for this buffer |
| | org-insert-structure-template | Insert template in org files |
| | org-insert-link | Insert a link |
| | org-store-link | Store a link in org mode |
| | treemacs-resize-icons | Resize icons in treemacs (default 22 |
| | describe-mode | Describes ative minor mode |
| | comment-region | comment the region |