summary refs log tree commit diff stats
path: root/personal/phlog/23-07-18-emacs.txt
diff options
context:
space:
mode:
authormounderfod <mounderfod@gmail.com>2023-07-19 14:40:29 +0200
committermounderfod <mounderfod@gmail.com>2023-07-19 14:40:29 +0200
commit328f2998b27ef189dac893d081d3626854fc20d4 (patch)
tree921f13ceb69f5bdadc9645326b2b924167be08f9 /personal/phlog/23-07-18-emacs.txt
downloadgopherhole-328f2998b27ef189dac893d081d3626854fc20d4.tar.gz
Initial commit
Diffstat (limited to 'personal/phlog/23-07-18-emacs.txt')
-rw-r--r--personal/phlog/23-07-18-emacs.txt60
1 files changed, 60 insertions, 0 deletions
diff --git a/personal/phlog/23-07-18-emacs.txt b/personal/phlog/23-07-18-emacs.txt
new file mode 100644
index 0000000..f59db3f
--- /dev/null
+++ b/personal/phlog/23-07-18-emacs.txt
@@ -0,0 +1,60 @@
+Using Emacs
+===========
+18 July 2023 | https://www.mounderfod.online/2023/07/18/using-emacs.html
+
+This post is being written in Emacs :) 
+
+What? 
+-----
+Emacs is, according to its own website: 
+
+"An extensible, customizable, free/libre text editor and more." 
+
+Basically, its one of the oldest text editors to exist, is (technically) entirely keyboard-based, and manages to combine simplicity with 
+power. In short, its great and Im going to talk about it now. 
+
+Why? 
+----
+Why am I using Emacs? Well, theres a few reasons: 
+
+- Id heard of it before and it sounded cool 
+- Its complex enough that it would present an interesting learning curve, but not so difficult as to discourage me 
+- Its useful for editing posts and HTML like this 
+- It ships with Tetris built in (need I say more?)
+
+How? 
+----
+I went to the website and downloaded it. My laptop currently uses Windows, and Emacs is made by GNU so as 
+expected I was berated for my choice of OS: 
+
+"To improve the use of proprietary systems is a misguided goal. Our aim, rather, is to eliminate them." 
+
+But I wasnt going to concern myself with GNUs plans for world domination; thats a problem for another day. The install was fairly simple, like any other
+application, and upon running the program I am greeted with a pleasant menu screen. 
+
+Now it was time for me to learn how to use Emacs. Emacs is primarily keyboard-based, as it was developed at a time where not all computers had GUIs at all, 
+let alone mice to interact with them. As such, and also due to its age, it has its own set of keybinding patterns which are overall very different to that 
+of most applications. For example, saving a file in MS Word is Ctrl-S, while in Emacs it is C-x C-s, which means Ctrl-x followed by Ctrl-S. Youll notice that in 
+this example, two keybindings need to be pressed to perform one action. This is common in Emacs, as there are lots of commands and not many keys, 
+and there are even some commands that dont have keybindings and must be invoked by pressing M-x (M meaning Alt) and then typing the command name out. 
+
+This was all a bit complex for me to understand at first, but I quickly got the hang of it (as I had done with the more standard keybinding patterns that existed 
+elsewhere in the computing world). 
+
+Customising Emacs 
+-----------------
+Now that I had gotten the grips of Emacs' basic usage, I needed to tailor it to my own needs. My plan was to use Emacs for editing Markdown posts (such as this one) 
+or HTML files, and my website is hosted on GitHub, so I needed something to cover both bases. 
+
+For the latter, there was already Emacs VersionControl, but this was a generic version control tool 
+and wasnt tailored to the specifics of Git. Therefore, I did some googling and came across Magit. A few more googles educated me in how to add the package 
+repository it was in and how to then install the package (M-x package-install RET magit RET), and I was quickly able to clone, commit, and push to the website 
+repository. Perfect! Now I needed to improve my Markdown editing experience. .md files are text, and so I could edit them as normal in Emacs, but then I wouldnt 
+be able to enjoy things such as syntax highlighting and easy access to various formatting options without typing them out manually. Again, a quick google found 
+markdown-mode, and within moments it was installed. The package adds a major mode to Emacs - Emacs is mode-based, meaning that there are modes of editing which 
+result in different functionality of the editor for different purposes - in this case, the markdown mode (enabled with M-x markdown-mode) provides syntax 
+highlighting and commands to automatically paste in the syntax for links, etc. 
+
+And that was it! 
+I had installed, learned to use, and configured Emacs and could now use it to edit blog posts for this very website (or Gopher phlog, if youre reading it on that 
+mirror). Next I shall get it set up for developing my Python/Java projects - Ill keep you posted!