User Tools

Site Tools


other:emacs_doc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
other:emacs_doc [2024/02/15 14:38]
jypeter [Windows installation] Improved the diffutils section
other:emacs_doc [2024/05/08 10:10]
jypeter [Example configuration file] Improved the (Windows) fonts section
Line 33: Line 33:
 ==== Linux installation ==== ==== Linux installation ====
  
-Install the ''​emacs'' ​packageif it is not already available+  * Check **if ''​emacs'' ​is already installed** on the Linux computer or servers you are usinge.g with the ''​[[other:​newppl:​starting#​which_program_am_i_using|which]]''​ command. There is a good chance that ''​emacs'' ​is already available ​on shared servers! 
 +    * <​code>​$ which \emacs 
 +/​usr/​bin/​emacs</​code>​
  
-<​code>​$ sudo apt install emacs+  * **If ''​emacs''​ is not available**:​ 
 +    * On shared server: ask your local system administrators 
 +    *  On your Linux desktop/​laptop:​ install the ''​emacs''​ package the following way 
 +      * <​code>​$ sudo apt install emacs
 [sudo] password for your_login: [sudo] password for your_login:
 Reading package lists... Done Reading package lists... Done
Line 63: Line 68:
       * if your Windows terminal does not have //​elevated//​ (i.e. //​administrator//​) permissions,​ a pop-up window will open and ask for confirmation       * if your Windows terminal does not have //​elevated//​ (i.e. //​administrator//​) permissions,​ a pop-up window will open and ask for confirmation
   * IF the automated installation with ''​winget''​ does not work, download the most recent Windows installer from a gnu //ftp// mirror   * IF the automated installation with ''​winget''​ does not work, download the most recent Windows installer from a gnu //ftp// mirror
-    * Go to [[https://​ftpmirror.gnu.org/​emacs/​|gnu emacs ftp mirror]] +    * Go to [[https://​ftpmirror.gnu.org/​emacs/windows/|gnu emacs for windows ​ftp mirror]] 
-    * Go to the most recent ''​windows/emacs-XX/''​ folder (e.g. ''​windows/emacs-29/''​) +    * Go to the most recent ''​emacs-XX/''​ folder (e.g. ''​emacs-29/'' ​as of February 2024
-    * Download the most recent ''​emacs-XX.YY-installer.exe''​ file (e.g. ''​emacs-29.1_2-installer.exe''​) and execute it+    * Download the most recent ''​emacs-XX.YY-installer.exe''​ file (e.g. ''​emacs-29.2_1-installer.exe'' ​as of February 2024) and execute it
  
   * If everything went well, you should have a new ''​Start''​=>''​Emacs-XX''​ menu that you can use to start ''​emacs''​   * If everything went well, you should have a new ''​Start''​=>''​Emacs-XX''​ menu that you can use to start ''​emacs''​
-    * If that'​s ​not the case, ask JYP and remind him to finish this section FIXME+    * If the menu shortcuts have **not** been installed:​ 
 +      * Go to the emacs binaries directory: ''​C:​\\Program Files\\Emacs\\emacs-XX.YY\\bin''​ 
 +      * Click on the ''​addpm.exe''​ program ​to (re-)run the program that will create the shortcuts ([[https://​www.gnu.org/​software/​emacs/​manual/​html_node/​efaq-w32/​Installing-binaries.html|official page]])
  
   * You can work with the default ''​emacs''​ settings, but it is highly recommended to start with a nice existing emacs configuration file (if available)   * You can work with the default ''​emacs''​ settings, but it is highly recommended to start with a nice existing emacs configuration file (if available)
Line 86: Line 93:
   * **If** you need to use the **emacs //ediff// mode to compare text files**\\ <wrap hi>Very useful</​wrap>​   * **If** you need to use the **emacs //ediff// mode to compare text files**\\ <wrap hi>Very useful</​wrap>​
     * Install the Windows version of [[https://​www.gnu.org/​software/​diffutils/​diffutils.html|Gnu diffutils]]     * Install the Windows version of [[https://​www.gnu.org/​software/​diffutils/​diffutils.html|Gnu diffutils]]
-      * Download the //Complete package, except sources ​installer// (''​diffutils-2.8.7-1.exe''​ as of February ​2024) from [[https://​gnuwin32.sourceforge.net/​packages/​diffutils.htm|]] and execute the installer+      * Download the //Complete package, except sources// ​''​Setup''​ installer ​(''​diffutils-2.8.7-1.exe''​ as of May 2024) from [[https://​gnuwin32.sourceforge.net/​packages/​diffutils.htm|]] and execute the installer
         * This will install the required binaries and reources in ''​C:​\Program Files (x86)\GnuWin32\''​         * This will install the required binaries and reources in ''​C:​\Program Files (x86)\GnuWin32\''​
-      * If you use the recommended ''​.emacs''​ configuration file, it should already ​have a section telling emacs where to find the ''​diffutils''​ binaries it needs for comparing text files+      * If you use the recommended ''​.emacs''​ configuration file, it should already ​include the following ​section telling ​''​emacs'' ​where to find the ''​diffutils''​ binaries it needs for comparing text files
         * <​code>​(when (eq window-system 'w32)         * <​code>​(when (eq window-system 'w32)
   (setq exec-path (append exec-path '​("​C:​\\Program Files (x86)\\GnuWin32\\bin"​)))   (setq exec-path (append exec-path '​("​C:​\\Program Files (x86)\\GnuWin32\\bin"​)))
Line 171: Line 178:
 ===== emacs configuration file ===== ===== emacs configuration file =====
  
-  * The **configuration file** is officially known as the //​[[https://​www.gnu.org/​software/​emacs/​manual/​html_node/​emacs/​Init-File.html|Emacs Initialization File]]//+  * The **configuration file** is officially known as the //​[[https://​www.gnu.org/​software/​emacs/​manual/​html_node/​emacs/​Init-File.html|Emacs Initialization File]]// ​(or just //init file//)
  
   * The configuration file (and most of the emacs //​Packages//​) is written in **//Emacs Lisp//**   * The configuration file (and most of the emacs //​Packages//​) is written in **//Emacs Lisp//**
     * You can perfectly survive without knowing anything about lisp! Just **don'​t forget opening and closing parentheses** (''​(''​ and ''​)''​) when copy/​pasting settings you find on the web, and remember that comments start with a '';''​ character     * You can perfectly survive without knowing anything about lisp! Just **don'​t forget opening and closing parentheses** (''​(''​ and ''​)''​) when copy/​pasting settings you find on the web, and remember that comments start with a '';''​ character
     * The settings changed with the ''​Options''​ menu appear at the end of the configuration file     * The settings changed with the ''​Options''​ menu appear at the end of the configuration file
 +      * Setting are defined in the ''​custom-set-XXXX''​ variables, if you don't forget to select ''​Options''​=>''​Save Options''​
  
   * The easiest way to take changes into account is to restart emacs   * The easiest way to take changes into account is to restart emacs
Line 196: Line 204:
 ==== Example configuration file ==== ==== Example configuration file ====
  
-  * Recommended {{ :other:emacs_jyp_2023-09-12.txt |emacs configuration file}}+  * Recommended {{ :other:emacs_jyp_2024-05-07.txt |emacs configuration file}}
     * Download this ''​emacs_jyp_yyyy-mm-dd.txt''​ file to the [[other:​emacs_doc#​location_of_the_configuration_file|appropriate configuration directory (for your system)]]     * Download this ''​emacs_jyp_yyyy-mm-dd.txt''​ file to the [[other:​emacs_doc#​location_of_the_configuration_file|appropriate configuration directory (for your system)]]
-    * Rename ​the file to ''​.emacs''​ +    * Copy the ''​emacs_jyp_yyyy-mm-dd.txt'' ​file to ''​.emacs''​ 
-    * Edit the file (with ''​emacs''​ or another editor) ​and search ​//Microsoft// to (un)comment ​MS Windows specific ​sections of the configuration file +    * You can possibly edit the ''​.emacs'' ​file (with ''​emacs''​ or another editor) ​to make some changes, but it should theoretically work //as is// 
-    * (re)start ''​emacs''​ to take this configuration ​file into account +      * MS Windows specific ​section should automatically be executed only on Windows computer, and you don't have to comment them out by hand. You can find them by looking for the following strings: ''​Microsoft'',​ ''​MS'',​ ''​w32''​ 
-      * If ''​emacs''​ displays the following error message, just create the ''​server''​ directory (''​c:/​Users/​your_login/​AppData/​Roaming/​.emacs.d/​server''​) by hand and restart ''​emacs''​\\ <​code>​Warning (initialization):​ An error occurred while loading ‘c:/​Users/​your_login/​AppData/​Roaming/​.emacs’:​+    * (re)start ''​emacs''​ to take changes made to the ''​.emacs'' ​file into account 
 +      * On MS Windows: if ''​emacs''​ displays the following error message, just create the ''​server''​ directory (''​c:/​Users/​your_login/​AppData/​Roaming/​.emacs.d/​server''​) by hand and restart ''​emacs''​\\ <​code>​Warning (initialization):​ An error occurred while loading ‘c:/​Users/​your_login/​AppData/​Roaming/​.emacs’:​
  
 File is missing: Opening output file, No such file or directory, c:/​Users/​your_login/​AppData/​Roaming/​.emacs.d/​server/​server</​code>​ File is missing: Opening output file, No such file or directory, c:/​Users/​your_login/​AppData/​Roaming/​.emacs.d/​server/​server</​code>​
 +    * You may want to **change the default font** defined in the recommended configuration file, depending on the fonts available on the computer/​server where ''​emacs''​ is running, the size of your screen, etc...
 +      * The recommended configuration file will probably use the ''​Consolas''​ or ''​Cascadia Code''​ fonts, with size ''​12'',​ available on Windows.
 +      * Changing the default font:
 +        * ''​Options''​=>''​Set Default Font...''​
 +        * Select a font and size
 +          * Linux: ''​DejaVu Sans Mono'',​ size 12
 +          * Windows: ''​Consolas''​+''​Normal''​ size ''​12''​ or ''​Cascadia Code''​+''​Regular''​ size ''​10''​
 +            * Note: the ''​Cascadia Code''​ font is only available after installing [[other:​win10apps#​windows_terminal|Windows Terminal]]
 +          * Mac: FIXME
 +        * ''​Options''​=>''​Save Options''​
  
   * **Keyboard shortcuts** defined by the example configuration file   * **Keyboard shortcuts** defined by the example configuration file
Line 210: Line 229:
     * ''​Shift Up_Arrow''​ and ''​Shift Down_Arrow'':​ go to the beginning/​end of the buffer     * ''​Shift Up_Arrow''​ and ''​Shift Down_Arrow'':​ go to the beginning/​end of the buffer
     * //​Function//​ keys     * //​Function//​ keys
-      * ''​F1'':​ Undo (lots of undos!!) +      * ''​F1'': ​**Undo** (lots of undos!!) 
-      * ''​F2'':​ Search and Replace+      * ''​F2'': ​**Search and Replace**
         * Look for ''​Query Replace''​ in the [[https://​www.gnu.org/​software/​emacs/​refcards/​pdf/​refcard.pdf|Reference Card]] to determine what you can do when a match is found         * Look for ''​Query Replace''​ in the [[https://​www.gnu.org/​software/​emacs/​refcards/​pdf/​refcard.pdf|Reference Card]] to determine what you can do when a match is found
         * ...or read [[https://​www.gnu.org/​software/​emacs/​manual/​html_node/​emacs/​Query-Replace.html|Query Replace]] page         * ...or read [[https://​www.gnu.org/​software/​emacs/​manual/​html_node/​emacs/​Query-Replace.html|Query Replace]] page
       * ''​F3'':​ fill-paragraph (i.e. automatically re-indent text or comments)       * ''​F3'':​ fill-paragraph (i.e. automatically re-indent text or comments)
       * ''​F4'':​ indent the selected region (if indenting makes sense for the current buffer mode)       * ''​F4'':​ indent the selected region (if indenting makes sense for the current buffer mode)
-      * ''​F5'':​ comment out the selected region (comment style depends on the current buffer mode)+      * ''​F5'': ​**comment out the selected region** (comment style depends on the current buffer mode)
         * ''​M-;''​ can be used for commenting **and un-commenting**         * ''​M-;''​ can be used for commenting **and un-commenting**
       * ''​F12'':​ Repeat complex command (e.g. restart a previous query-replace operation)       * ''​F12'':​ Repeat complex command (e.g. restart a previous query-replace operation)
other/emacs_doc.txt · Last modified: 2024/05/22 08:48 by jypeter