This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:emacs_doc [2023/08/22 09:45] jypeter [Windows installation] more details about diffutils versions available |
other:emacs_doc [2024/02/15 13:51] jypeter [Windows launch] |
||
---|---|---|---|
Line 12: | Line 12: | ||
* Define some concepts: | * Define some concepts: | ||
* //frame//, //buffer//, //region// | * //frame//, //buffer//, //region// | ||
- | * Parts of an emacs window (aka //Frame//)) | + | * Parts of an emacs //[[https://www.emacswiki.org/emacs/Frame|Frame]]// (the graphical window or terminal screen occupied by Emacs is called //[[https://www.emacswiki.org/emacs/Frame|Frame]]//)) |
- | * [[https://www.emacswiki.org/emacs/ModeLine|Mode Line]] = information about the //Buffer// above (e.g. file name, line/column number, editing mode, ... | + | * Menu bar |
- | * //echo area// = //Interaction field// at the bottom of the window | + | * One or more //windows// displaying a //[[https://www.emacswiki.org/emacs/Buffer|Buffer]]// |
+ | * The last line of a window is the //[[https://www.emacswiki.org/emacs/ModeLine|Mode Line]]// that displays information about the //Buffer// above (e.g. file name, line/column number, editing mode, ... | ||
+ | * //[[https://www.emacswiki.org/emacs/EchoArea|Echo Area]]// or //[[https://www.emacswiki.org/emacs/MiniBuffer/|Mini Buffer]]//, at the very bottom of the frame = //Interaction field// where informative messages are displayed (//echo area//) or where you enter information when Emacs asks for it (//mini buffer//) | ||
+ | * Useful keys: | ||
+ | * C-Z: **iconify** a Frame | ||
+ | * F11: make frame **fullscreen** (toggle) | ||
* Automatic backup file | * Automatic backup file | ||
* TAB key for auto-completion when opening files... | * TAB key for auto-completion when opening files... | ||
Line 46: | Line 51: | ||
==== Windows installation ==== | ==== Windows installation ==== | ||
- | === emacs for Windows === | ||
- | This is the //light and easy// option! | + | === emacs binaries for Windows === |
- | * Use [[other:win10apps#installing_applications_with_winget|winget]] to install ''emacs'' for Windows: | + | <note warning>When installing emacs, you will need an account that can get **//elevated// (i.e. //administrator//) permissions** |
- | * Just type the folllowing, in a windows ''cmd'', ''PowerShell'' or ''Terminal'' **with //elevated// (i.e. //administrator//) permissions**:\\ ''%%winget install --id GNU.Emacs%%'' | + | |
- | * Note: if the automated installation with ''winget'' does not work, download the Windows installer from the most recent ''windows/gnu-XX'' directory of a [[https://ftpmirror.gnu.org/emacs/|gnu ftp mirror]] | + | \\ On a computer configured at LSCE, use your ''[[https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:win10config#the_available_accounts|.\admin]]'' account</note> |
+ | |||
+ | * Use ''winget'' to install ''emacs'' for Windows (optional [[other:win10apps#installing_applications_with_winget|winget]] details, for people who want to learn more): | ||
+ | * Just type the folllowing, in a windows ''cmd'', ''PowerShell'' or ''Terminal'' | ||
+ | * ''%%winget install --id GNU.Emacs%%'' | ||
+ | * 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 | ||
+ | * Go to [[https://ftpmirror.gnu.org/emacs/|gnu emacs ftp mirror]] | ||
+ | * Go to the most recent ''windows/emacs-XX/'' folder (e.g. ''windows/emacs-29/'') | ||
+ | * Download the most recent ''emacs-XX.YY-installer.exe'' file (e.g. ''emacs-29.1_2-installer.exe'') and execute it | ||
+ | |||
+ | * 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 | ||
* 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) | ||
- | * Example configuration file FIXME | + | * [[other:emacs_doc#example_configuration_file|Example configuration file]] |
+ | |||
+ | === Recommended EXTRA binaries for Windows === | ||
- | * **If** you need to **work with remote files**, ''emacs'' can automatically transfer files from your computer and remote servers, if configured properly\\ <wrap hi>**Extremely** useful</wrap> | + | * **If** you need to **work with remote files**, ''emacs'' can automatically transfer files between your local computer and remote servers, if configured properly\\ <wrap hi>**Extremely** useful</wrap> |
* [[https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:putty_conf|Install PuTTY]], and configure a PuTTY //profile// for the desired //host **and** user// combination, so that emacs can use the [[https://the.earth.li/~sgtatham/putty/0.78/htmldoc/Chapter7.html#plink|PuTTY plink]] command to connect to remote servers (and transfer files) | * [[https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:putty_conf|Install PuTTY]], and configure a PuTTY //profile// for the desired //host **and** user// combination, so that emacs can use the [[https://the.earth.li/~sgtatham/putty/0.78/htmldoc/Chapter7.html#plink|PuTTY plink]] command to connect to remote servers (and transfer files) | ||
- | * Do not use //space// characters in the predefined PuTTY profile name! | + | * **Do not use //space// characters in the predefined PuTTY profile name**! |
- | * ''mylogin_server'' (e.g. ''jyp_ssh1'') is OK | + | * ''mylogin_server'' (e.g. ''me_ssh1'') is OK |
* but ''mylogin server'' will **not** work | * but ''mylogin server'' will **not** work | ||
* Use the [[https://www.gnu.org/software/tramp/#Inline-methods|plinkx]] //method// when opening a remote file with emacs: ''/plinkx:mylogin_server:/path/to/file'' | * Use the [[https://www.gnu.org/software/tramp/#Inline-methods|plinkx]] //method// when opening a remote file with emacs: ''/plinkx:mylogin_server:/path/to/file'' | ||
- | * Use **exactly** the same profile name as an existing PuTTY profile! | + | * Use **exactly the same profile name** as an existing PuTTY profile! |
* More details in FIXME | * More details in FIXME | ||
Line 75: | Line 93: | ||
* The ''2.8.7-1'' Win32 binaries are dated //May 2004//, but **work perfectly fine**! | * The ''2.8.7-1'' Win32 binaries are dated //May 2004//, but **work perfectly fine**! | ||
- | * Extra Windows specific information (optional, read only if you need it): [[https://www.gnu.org/software/emacs/manual/html_mono/efaq-w32.html|GNU Emacs FAQ for MS Windows]] | + | === emacs for Windows technical notes === |
- | === emacs for Linux, inside WSL === | + | <note tip>These notes are only here for finding them easily, but **you probably don't need them**.\\ Just follow exactly the windows related instructions on this page!</note> |
- | This is the //overkill// option... Useful only if you really need WSL! But you should also install the [[#emacs_for_windows|emacs Windows version]]! | + | * [[https://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Microsoft-Windows|Emacs and Microsoft Windows/MS-DOS]] (//Appendix H// of the //The Emacs Editor manual//) |
- | * Install [[other:win10wsl|Windows Subsystem for Linux]] | + | * [[https://www.gnu.org/software/emacs/manual/html_mono/efaq-w32.html|GNU Emacs FAQ for MS Windows]] |
- | * Install emacs for Linux (check [[#linux_installation|Linux installation]] above) | + | |
+ | * Extra Windows specific information (optional, read only if you need it): [[https://www.gnu.org/software/emacs/manual/html_mono/efaq-w32.html|GNU Emacs FAQ for MS Windows]] | ||
===== Launching emacs ===== | ===== Launching emacs ===== | ||
Line 94: | Line 113: | ||
==== Windows launch ==== | ==== Windows launch ==== | ||
- | * ''Start'' => ''E'' => ''Emacs'' | + | * ''Start'' => ''E'' => ''Emacs-XX.Y'' => ''Emacs'' |
==== Mac launch ==== | ==== Mac launch ==== | ||
Line 174: | Line 193: | ||
==== Example configuration file ==== | ==== Example configuration file ==== | ||
- | * Recommended {{ :other:emacs_jyp_2023-08-11.txt |emacs configuration file}} | + | * Recommended {{ :other:emacs_jyp_2023-09-12.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'' | * Rename the file to ''.emacs'' | ||
Line 192: | Line 211: | ||
* ''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** | ||
* ''F12'': Repeat complex command (e.g. restart a previous query-replace operation) | * ''F12'': Repeat complex command (e.g. restart a previous query-replace operation) | ||
Line 249: | Line 269: | ||
* [[https://www.gnu.org/software/emacs/manual/html_node/emacs/|The Emacs Editor]] (the official manual) | * [[https://www.gnu.org/software/emacs/manual/html_node/emacs/|The Emacs Editor]] (the official manual) | ||
* Other official related [[https://www.gnu.org/software/emacs/manual/|GNU Emacs Manuals]] | * Other official related [[https://www.gnu.org/software/emacs/manual/|GNU Emacs Manuals]] | ||
+ | |||
+ | * [[https://github.com/rougier#emacs-hacking|Emacs hacking]] by Nicolas Rougier | ||
+ | |||
+ | ===== Updating emacs ===== | ||
+ | |||
+ | ==== Linux ==== | ||
+ | |||
+ | |||
+ | ==== Mac ==== | ||
+ | |||
+ | |||
+ | ==== Windows ==== | ||
+ | |||
+ | Using ''winget upgrade'' for updating emacs on Windows unfortunately [[https://github.com/microsoft/winget-pkgs/issues/88443#issuecomment-1688257680|does not work yet (August 2023)]]. The easiest way to update Emacs is: | ||
+ | |||
+ | * Check the version of the installed Emacs | ||
+ | * In the ''Start'' menu: ''Start'' => ''E'' => ''Emacs-**version**'' (e.g. ''Emacs 28.2'') | ||
+ | * In a running Emacs: ''Help'' menu => ''About Emacs'' | ||
+ | * Use ''winget show'' in a PowerShell to determine (all) the available versions | ||
+ | * <code>PS C:> winget show --id GNU.Emacs --versions | ||
+ | Found GNU Emacs [GNU.Emacs] | ||
+ | Version | ||
+ | ------- | ||
+ | 29.1 | ||
+ | 28.2 | ||
+ | [...]</code> | ||
+ | * If you want/need to update Emacs (after making sure it is not running) | ||
+ | * Uninstall it with: ''Start'' => ''E'' => ''Emacs-**version**'' => ''Uninstall''\\ Your emacs configuration file and other files you have installed will **not** be removed! | ||
+ | * Perform a new [[other:emacs_doc#windows_installation|Emacs for Windows installation]] | ||
/* standard page footer */ | /* standard page footer */ |