The Absolute Beginner's Guide to Emacs

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

This video is intended for people who have used other code editors or IDEs before and are curious to try out Emacs! The goal is to teach you everything you need to know to get started with Emacs and use it for basic editing tasks. Once you get comfortable with the basics, check out the other Emacs video series that I've created to learn a whole lot more!

Check out the show notes here: https://github.com/daviwil/emacs-from-scratch/blob/master/show-notes/Emacs-Beginners-01.org

👍︎︎ 6 👤︎︎ u/daviwil 📅︎︎ Mar 08 2021 🗫︎ replies

laughs in vim /s

👍︎︎ 19 👤︎︎ u/VirginPhoenix 📅︎︎ Mar 08 2021 🗫︎ replies

I think the length of the video summarises why Emacs has always intimidated me :)

Bookmarked and will watch, thank you for sharing.

👍︎︎ 6 👤︎︎ u/Jestar342 📅︎︎ Mar 08 2021 🗫︎ replies

Why would new people want to learn this? Genuine question. There's so many great editors out there were you don't need a course just to open a file.

👍︎︎ 3 👤︎︎ u/Sweetpipe 📅︎︎ Mar 09 2021 🗫︎ replies
Captions
[Music] what's up everybody welcome to system crafters i'm david wilson and this is the absolute beginner's guide to emacs so if you've never been to this channel before i'd like to first of all say welcome uh this channel is basically about crafting your system configuration using free and open source tools like gnu emacs gnu geeks and more like basically any of the nice sort of uh off the beaten path tools that you might find in the uh the gnu linux world so i've made about 50 videos on emacs for this channel but the one thing that i haven't done yet is create a video that's explicitly for those who have never used emacs before or those who've only used it very little so in this video i'm going to give you exactly what you need to get starting using emacs and to understand the basic concepts and key bindings of the editor i know this video might actually seem pretty long i'm not sure how long it's going to be yet let's just see how it goes when we record it here but i'm going to put chapter markers in the timeline below so that you can skip ahead to various topics that you're interested in learning about and also you can return to it as a as a reference and also the the notes that we're looking at on the screen right now this is actually an org mode file and i'm going to commit this to a github repository so then you can go look at it and see exactly what i'm reading to you right now whenever you go and want to study this yourself so let's get started so first of all we can talk about uh installing emacs because that's the first thing you'll have to do before you can actually use it so emacs can be installed on gnu linux mac os and windows the latest stable version of emacs is 27.1 so it's best to try to find that version for your operating system uh the things we covered today uh obviously will be related to 27.1 but they also should work in the more recent stable versions like 25 and 26. um those have existed for a few years now so you should be able to find those on your linux distribution if you happen to have an older version but if you can definitely try to get emacs 27.1 because it is the most recent release and it has lots of uh improvements upon those uh previous releases all right so for gnu linux definitely gnu linux is the easiest os for installing and using emacs by far uh it's available in pretty much every linux distributions package manager so however you normally install packages in gnu linux you can use that to install emacs typically the name of the package is emacs or something containing emacs so it's pretty easy to find just keep in mind like i said before that your distribution may actually have an older version of emacs like i think in ubuntu 2004 they have emacs 26 so just keep in mind that there may be an older version but it's not really a big deal if you don't have a newer version there are ways to find newer versions as well so just search for your distribution and look to see if there's a way to install that if you really care about having the latest version uh one other question to to be asked i guess about using emacs on gnu linux and also on mac os as well possibly windows i'm not sure if it works on windows is whether you want to use it in the graphical user interface mode or in the terminal mode so you have options for both obviously right now i'm using emacs in graphical mode because i have you know different font sizes and different font colors and all this stuff going on however you can also use it in the terminal which can be very useful for various reasons especially if you want to like ssh into another computer and use emacs remotely etc those kinds of things so if you're very partial to using things in the terminal it is absolutely possible to use emacs in the terminal and pretty much all the same functionality is available except for having different font face or different font families i guess for different text and also different font sizes so those are the only limitations you technically should have by doing that but for the purpose of these demonstrations we're just going to show the graphical version of emacs since that's probably the one most people will use so on mac os you can install emacs pretty easily using homebrew a lot of people use homebrew for installing packages on mac os so there's a default recipe called emacs which can be installed using this command that we have here on the screen there's also a an alternative recipe called emacs plus which i've heard about recently which has some extra options that enable certain behavior that might be interesting to you so if you want to have some more control over the emacs build that you get installed on your machine definitely check out the emx plus package you can also download a dot app file for emacs from the site emacs for macos.com if you just want to download something and just copy it over to your computer easily that's also a possibility uh for windows you can download emacs directly from the new website this link that i have here just takes you directly to the installer download so you can click that if you look at the show notes also if you use msys2 which i would guess is probably not so many of you you can use pacman in msys2 to install emacs and then you can run that as a program in windows and also if you use chocolatey which is probably more likely you can use choco install emax to install the latest version of emacs on windows so that's pretty useful okay so now that we've got emacs installed i assume you've stopped the video and gone and installed emacs by now let's talk about the basic concepts of emacs so you kind of understand what you're looking at whenever you start the editor and also how to sort of find your way around so the user interface so emacs has a toolbar and a menu bar like many conventional graphical programs and they can be very useful at first to learn what functionality is available in emacs uh however i don't think you're going to need them for very long once you actually um get comfortable using emacs and know how to find things yourself you won't really need to use the menu bar very much however let's actually take a look at it and see what that looks like so i'm going to jump over to another screen here where i have a very plain configuration of emacs to use for demonstration purposes now this is not the basic in the box configuration you can see that i have a dark theme turned on mainly because i don't want to blind you whenever i'm changing back and forth between the demo emacs and my personal emacs so uh the only thing that's things that i've done to the basic in the box configuration here is that i have set the font size to be a little bit bigger and i've changed the theme to be a dark thing so everything else is just stock emacs what we're looking at right now and as you can see as i mentioned before there is a menu bar up here at the top of the window and there's also a toolbar that has some buttons these icons look a little bit small because i'm using kind of a high dpi screen but on a normal dpi screen these these things will be pretty much normal size like you would expect so the menus are typical to what you would see in other programs you have a file menu for dealing with files you can see that there's you know actions for opening files opening directories saving files save as close the file uh and then also there's some window control uh commands here which we'll talk about a little bit later uh quit etc uh the interesting thing to note here is that each uh or many of the menu entries have the actual key binding that is associated with the action that this menu item performs so this can be a very good way at first to get acquainted with the common key bindings that you will want to use in emax because emacs is best used as a keyboard driven interface you don't really really want to use a mouse so much in emacs so learning the key bindings by looking at these different menus can be a really helpful way to get started fast learning those bindings so um the the other thing to mention is that there are some of these menus that are here all the time and then there's some that get uh displayed whenever you're used looking at a certain type of buffer so in this case we're looking at a lisp buffer so we get this lisp interaction mode uh information but if i were to open up another file like let's say an org file or mode file you'll see that now we have this table menu we have the org menu we have the text menu and those give you the um the mode specific actions that you might want to use for that mode we'll talk about modes in a minute and as usual whenever you go to see all the actions here you can see the key bindings that you might want to learn for those actions so like i said for for any type of file that you're editing that has its own functionality it's definitely good to check out take a look at the menu items for that to see what the the possible actions are how they're organized and also the key bindings that you might be able to use with those so the toolbar itself i find it to be not super helpful just because it has you know common stuff you might want to do i think the toolbar does change contextually based on things that you're doing but i literally have never used it i always turn it off and that's the nice thing to know about both the menu bar and the toolbar they can be disabled pretty easily if you look at the series of videos i do called emacs from scratch i go through in basically the first video how to turn the stuff off so you have a more minimalistic view into emacs sort of like what you see right now in my configuration so once you're ready to uh to dispense with all of the extraneous ui elements you can easily do that so another interesting thing to note is that in the terminal version of emacs the menu bar actually is still there and let's let's see if i can do this without breaking anything so i'm going to try to run emacs inside of a terminal right now so emacs dash q nw so uh we're running terminal mode emacs inside of graphical emacs sounds a little bit crazy but that's what's happening right now and then you see there is a menu bar up here and i think the key is f10 so if i press f10 it actually shows the menu for the terminal mode of emacs i don't know all the key bindings to navigate through these i think there's like control n control p's things like that to move back and forth but you do have all that same information still available to you the same way as you have in the graphical interface so if you want to use terminal mode emacs then you still may have the ability to learn some things from the menu which is pretty pretty cool i think um so one last thing uh i'm i'm kind of doing this a video coming from the perspective of someone who might be using some other editors or ides uh so i'm gonna try to relate things to what you might be expecting from those ides and one thing that you probably have seen a lot that you don't see right now on my screen or in this other demo emacs is there's no file tree on the left hand side of the window and it's just something that emax doesn't have by default emacs predates that sort of ui paradigm of having a file tree on the left side so it's something that you don't see however you can easily add that using community packages and there's other ways to do file management file browsing in emacs that in my opinion are better than having that file tree always visible so we'll talk about those in in other videos but just know that even though you don't see it right now it's very easy to add that if it's something that you're uh that you're used to having and you want to have all right so uh also uh in all these sections usually i'm uh adding links to the emacs manual in case you want to get some extra context about the things that i'm talking about so definitely check out the links to the emacs manual whenever you see those in case you do need some more information okay so a very important concept in emacs that's different than what you might know from typical graphical interface paradigms or desktop environments is windows and frames so the concept of a window is different in emacs than what you know in modern desktop environments usually a window is a a window for a program that is managed by the desktop environment and not by the program itself so usually it's a window that has like an x button a minimize button etc and usually when you run a program it launches a window that you see however in emacs a window is not a desktop window it's actually a pane inside of the the current emacs window that you're looking at right now uh so let me actually just demonstrate that for you i'm going to do a uh is it a horizontal split or vertical but let's see it's a vertical split i think so basically i'm splitting that one window you're looking at into two so now i have two windows visible side by side i can also do a horizontal split and have another split top and bottom here on this side so these are windows in in the concept of emacs um and the interesting thing about windows is that as you can see here they all are showing the the same buffer right now that obviously they can show different buffers but we're all looking at the same buffer uh all the windows have their own location scrolling inside that buffer so it's a way that you can see the same size files side by side maybe looking at different different parts of it or looking at two different files and comparing them whatever you want to do so it's a very useful way to maximize the use of your screen real estate inside of emacs and that is windows now what you think of as a window is called a frame in emacs so this whole screen that you see right now this is one emacs frame and it's possible to create multiple frames in emacs so if we go to our demo emacs here what i'm gonna do is um split this so that you can actually see and this is my personal configuration that is loaded up right now so you can see whenever i create the second frame so i'm going to use the the file menu here and click new frame it's going to create a new frame then i'll go and open the old frame on this side so now we have basically two what you might consider windows on the desktop environment but these are actually two frames for emacs they all have their own um file menus and toolbars etc that's how you can tell they're independent however they're not really independent in the sense that they share information from the same emacs process so as you see here the same file is open in both if i were to go looking for the scratch buffer or even this demo file that i've got set up for the configuration for this uh these these buffers are available in both of these frames so whenever you try to switch to one of those you're going to see it in both of the frames which it might be a little bit different to you if you're used to having an editor or ide that sort of is focused on loading one project per desktop window in emacs you're gonna have the same stuff in both windows so that might take a little bit of getting used to and you might think that oh well i've got all these files open how am i gonna deal with like you know keeping them separate there are ways to deal with that which we can talk about in another video but um it is kind of helpful in some ways so for instance if you want to like have one frame open on one screen if you have like multiple monitors you can have a frame open on another screen and then you can share buffers between them you can show the same buffer different buffers you have a lot more options in your workflow so you're not really so limited by uh which frame opened which file or which buffer etc so this is one thing to know whenever you start to use emacs is that you do have this a possibility to use multiple frames so in my case i don't really use multiple frames in the in the traditional sense i'm actually using multiple frames here because emacs is my desktop environment but that's like way out of scope for this discussion so let's just focus on the fact that uh in most cases you'll probably use only a single frame unless you'd like to have multiple frames as part of your workflow and as usual we have uh some links here to more manual information okay so buffers are also a very important concept to understand in emacs uh what we're looking at right now actually is a buffer a buffer is basically just um an object in emacs that holds text and other information to be displayed by a window also buffers can be used for things that aren't being displayed that could be used for communicating with external processes or storing other information writing out logs etc so it may not actually be something that gets displayed in a window but in most cases a buffer is going to be displayed in a window so that you can see it and interact with it the most obvious example of a buffer is one that contains the contents of a file that you've opened so that you can edit it and then save it back to that file but there are many other types of special buffers in emacs that are used only for displaying temporary information or for even creating a full user interface so for instance the magit package is a really excellent git interface the git source control system interface for emacs and it does a custom buffer interface so that you can manage your code repository let me actually just show you an example of that i'm going to open up the repository for my dot files and now this is a buffer that has some information about the git repository for my dot files but if i go and move my cursor around and start pressing tab on these sections it actually expands them and you can see the diff of some of the files that i've been changing in my dot files folder and you can also press other buttons like let's say ll to open up the the history of changes in my repository so basically in emacs a buffer is not just something for editing files it could be for creating a fully custom user interface to do some kind of tasks that you need to do and many of the community packages that you'll find or even stuff that's built into emacs will have these custom buffers that you will be looking at and this this is a normal buffer like anything else and i can switch to that previous buffer that i was in which is this presentation so these things are all sort of on the same level playing field text files and user interface buffers can be switched between like like anything else basically so um this is actually one of the more confusing aspects of emacs to beginners it was very confusing to me at first because on the screen right now you can't really see which buffers are actually open in emacs you have to actually list the buffers before you find them so it could be a little bit jarring at first because you're like i don't know where all my files are i don't know what's open currently normally in an editor an ide you would probably have like file tabs at the top that would show you which files are open now you can actually get that in emacs there is a command you can run called i think i think this is in earlier versions but it may only be an emax 27 so just keep this in mind there is the global tab line mode and then it will actually give you tabs that you can click on they don't look so nice as they do in other programs however this is something that is built into emacs that you can use if you want that tab interface however i don't necessarily recommend that unless you really want it it's better to get used to the buffer management commands and key bindings in emacs so for instance control xb which we'll talk about in a little bit uh we'll bring up a buffer list was that the right one ctrl x b okay yeah control x b will give you the ability to switch between buffers by completing them so we'll talk about that in a minute but basically there are ways in emacs to get to all the buffers that are currently open very conveniently so don't let it sort of uh discourage you if you don't really understand how buffers work at the outset whenever you start so let's talk about a couple of important buffers that you will definitely see whenever you use emacs these are buffers that are at least the first two will be open every time you use emacs and the last one is something that might show up when you're using it the first one is the scratch buffer and uh let me just switch back to it really quickly so the scratch buffer is basically i mean the name scratch kind of gives you a hint but it's basically like a a blank page of paper that you can use for writing down notes or just anything temporary that you need to copy and paste somewhere i often use it for copying some text or writing down something that i don't really need to save to a file but i just need to kind of write it down for a moment so i can use it some at some other point so it's good for little notes it's also already set up as a emacs lisp interaction mode so that you can write some simple emax lisp code maybe if you're like trying out how to do something or maybe you're trying to run a command a certain way you can just use this as a temporary buffer for for doing that so it has some utility in that in that way there's also the messages buffer which is very useful because what it does is has a log of all the messages that have been written out for the user to see in emacs so there's this line down at the bottom of the screen which we'll talk about in a moment where messages get written and if i were to try to scroll up in the screen right now you'll see that there's a beginning of buffer message that gets written basically saying i can't scroll up anymore but the same message is being written to this message log so if you ever see a string get written to the bottom of the screen you can always go to this messages buffer to see the history of things that are written to the screen in case you missed it uh or maybe you just want to go back and check to see what happens so it can be very useful for that definitely take a look at the messages buffer sometimes just to see what kind of information is in there and lastly there is the warnings buffer which is basically a buffer that shows you like potential errors that have been encountered while running emacs i don't know if i have one right now yeah i do so basically i have some some errors here or warnings here basically that are being written from a package and you might see this buffer pop up if there is any kind of error like that uh it usually is pretty intrusive because they want you to see what's happening so if it does pop up don't worry because it doesn't necessarily mean anything catastrophic is happening but it's something to keep in mind if you do see it so now let's talk about the mode line this is not really something that the name the name is not very obvious whenever you first hear it but it's something that will remind you of something that you're used to from other editors so in many editors or ides what you'll see is there's a status bar at the bottom of the screen which basically gives you the current status of the editor maybe information about the line and column where your cursor is in the currently open file maybe what type of file it is that sort of thing well emacs has something like that and they call it the mode line so if you look down at the bottom of the screen here you can see that we are currently in the messages buffer i can click on this actually and it will switch the buffer so that's another way to switch buffers but like i said i don't recommend using the mouse very heavily in emacs you also have information about like where you are in the buffer right now it says all because we um are looking at a buffer where uh you can see everything at once however if you start scrolling in a buffer that's long you'll see that we're like eight percent ahead in the buffer we're also currently on line 85 um and then uh some packages will actually show you information like basically we're seeing that we're in a git repository we're on the master branch that can be pretty helpful this is something that also is pretty common in uh ides and then you see what type of file we're in so this is an org mode file um if you haven't used emacs before and you haven't heard of org mode it's basically like markdown files where you have a file with markup but it's a lot more than that so definitely check out my videos on org mode if you haven't heard of orgmo before because it can do many many things however this is basically just saying that we are in an org mode file you can actually click on this to get the same menus down here that you get for the mode up here in the menu bar so if you've turned off the menu bar in the future but you still want to see those menus for this mode you can still click on the mode here to see those menus which is kind of helpful so let's see what else uh yes so one major difference between the mode line and the status bar compared to other ides is that you actually get one mode line per window inside of emac so like i was saying before windows are like panes inside of emacs and when you split the window you'll actually get one mode line per window that's split so in this case i'm going to try to do a couple splits and we can see that this window below has its own mode line and this one has its own mode line that only extends to the point where this window is visible and this one also has its own mode line and they all mention which file they have open so i can basically switch to scratch buffer here i can switch to the demo.el here and you can see that we have all the mode lines have the name of the buffer visible on each of them basically and all that same information visible at the same time so this is kind of good for being able to get information about what windows you have open at a glance and also there could be windows specific information that can be helpful for like jumping to different windows maybe if you have a package for that so it's kind of useful even though it maybe it does seem like it weighs some screen space but i find it to be pretty useful it's a nice way to sort of delineate what's happening on the screen so also the last thing to mention is that the mode line is fully customizable and can be made to look very nice through your own configuration or from community packages so um all of this text here you can change all of it you can change the format of how the information is displayed you can change whether it's aligned to the right or to the left you can change the color you can add icons you can do basically anything you want to do with this line as you can see here i have a much more minimal and nice looking line that has different colors colors of text it has sort of more well presented information has icons and this comes from a package called doom mode line so um definitely take a look at the different mode line packages that are available in the emacs community on one of the videos of emacs from scratch maybe video number two or three i think um i show how to set up this mode line so if you want to learn how to configure this to do that definitely check out that series but just keep in mind that um even though the initial look of emacs is kind of like old looking and maybe not so attractive you can change all of that and make it look really nice without a whole lot of work all right so the echo area and the mini buffer these are also very important and i sort of pointed to that before so the echo area is this line at the very bottom of the screen where messages get written whenever things happen in emacs so like if i try to scroll up in this buffer when it's already at the top it will write out beginning of the buffer here in the echo area so this is the place where you're going to get a lot of information from packages like maybe if you're using an ide package and you put your cursor on a particular function name it might give you the documentation for that function down in the bottom it's just a very useful place for showing transient information that might be helpful to you at any given moment however that same area gets used for something else called the mini buffer and the mini buffer is basically another temporary interaction space for the user where you can be prompted for information or selections or anything like that so for instance if i try to open a file with the uh find file key binding you can see now that in the echo area we now have a prompt for find file and it gives me the current directory to start from and once i start moving my my cursor around you can see that i'm actually typing in this mini buffer at the bottom of the screen uh now this mini buffer actually can have multiple lines not just that single line so if you look at my buffer switching command the one that i use in my configuration this has multiple lines and i can actually move my cursor through them to select the different buffers so um basically this mini buffer area actually is very useful and a lot of your interaction with emacs is going to happen through commands that use the mini buffer so very useful thing to understand also it's not very hard to understand it's just a place at the bottom of the screen where things tend to happen so check out these two entries in the emacs manual if you want to learn more about those all right so commands commands are a very important part of emacs because this is where a lot of the useful functionality in emacs comes from so command emax is basically a function that has some special information attached to it so that it gets treated as a user-facing command something that the user might actually want to execute so a lot of this is like editing behavior like if you want to delete a line or insert some text or whatever those can all be done through commands however a lot of other useful things can be done through commands as well which i'll show some examples for in a second so in emacs to run a command you you can either bind a command to a key binding which is already done in a lot of cases for built-in functionality but you can run any command by name by using the alt x key binding so if i go over to the demo here hit alt x now you see in the echo area i get a prompt for the mx which i'll explain in a minute to basically type in the name of a command now this prompt can be completed with all the names of the commands that are in emacs so if i press tab to do completion you're going to get a listing of all possible commands in emacs at this moment a lot of these commands come from emacs built in but any commands any third party packages or community packages you install will also add their own commands and you can write your own commands too which show up in this list so basically anything that's possible to do by the user in emacs will show up here and one thing you might notice is that many of these commands have prefixes with a particular concept like mouse drag etc this actually makes it very easy to do completions only for a certain subset of the command so if i wanted to type in mouse dash drag and press tab it will complete to all of the mouse drag commands so this is a very nice way to look for commands that are related to a specific concept so uh another one you could do is like find dash to fight do all the basically the file visiting commands um etc so this is a very useful way to find things that you can do in emacs uh so basically like i said not all of them are for editing there's things that you can do for showing different different behavior in emacs or different interfaces basically so i want to show you a couple of these really quickly um so there's one called deered and like i mentioned before there are better ways to do file listings in emacs than just having a tree open dear ed is one example of this it's basically a directory browser inside of emacs so if i use alt x and type in dear red press enter it's going to ask me which directory that i want to open in d-red i'm just going to leave it to be the one that i'm currently in and press enter now we get this buffer that basically shows us all the files and directories that are inside of that directory and all the information like which user owns the file which group owns the file the permissions the file change date etc basically it looks like the output of ls on linux which is true because it actually does come from ls effectively but you can navigate through this listing of files and press enter on any file to open it and you can also navigate through directories so this org files as a directory if i press enter it goes into that directory and i can open any of those files in this subdirectory so uh you can even press enter on the dot dot to go up one level as well so it's kind of uh useful to be able to have this kind of browsing functionality built into emacs you can also do things like copying files moving files etc so many of these commands will do extra things that are not just for editing files they're going to be for useful behavior that you might want to see so let's see what else do i have so calendar so you can actually show a calendar run alt x type calendar and it will give you this nice calendar view at the bottom of the screen and this is a special little buffer here that you have key bindings in so if you see there's this uh right angle bracket you can click that but you can also type that character on the keyboard and go back and forward in your calendar to look at different days which is pretty awesome uh there's also a built-in shell in emac so if i run uh alt x and type in e shell you see it at the bottom of the screen hopefully you notice that i press enter and now we get this embedded shell in emacs and the interesting thing about this shell is that it actually is written in emax lisp and it emulates bash so this shell works on gnu linux it works on mac os and it works on windows all the same way because it's written in emacs lisp so you have basically a normal shell environment that you can use anywhere all the same way so as you can see through the power of commands in emacs and also through the abilities that buffers provide uh you can have all kinds of interactive experiences inside of these windows so you just basically have to go look for all the commands that you might want to use for that and i'll give you one last one just for the sake of amusement if you get bored one day and you want to play a game just type in hit alt x and type in tetris and then we can just go ahead and play a little game of tetris here in emacs i know it's probably kind of weird to to think that a tetris game comes bundled with emacs but you would actually be surprised how many more games are actually included uh with emacs among other things so uh this is just something that to keep in mind for uh just sort of proving to yourself that there's a lot of things that you can do with emacs with the built-in functionality so as i mentioned before you can install new commands into emacs using community packages and you can also write your own we'll cover both these things in another video so major and minor modes another really important concept in emacs so in other editors there's usually functionality that gets enabled for files with a particular extension so for instance maybe you get python programming functionality for pyth dot pi files that you open so emacs also has this this functionality is provided through something called a major mode so a major mode provides the functionality uh needed for a particular buffer and it's usually activated based on the extension of a file that you open in that buffer so like i said if you open a dot pi file it would load the python mode etc sometimes this doesn't happen by default maybe you install a package from the community for a particular language you may have to do a little bit of configuration before it will open for that file format but a lot of the stuff that's built into emacs like el files for emacs lisp etc will open up a specific mode and a lot of times what these modes do for file formats is they turn on syntax highlighting so that when you open a file you actually get colorization of all the symbols in the file which i'm sure you're used to from other editors or ides however there can be other functionality that gets enabled for uh custom modes so like we saw before with that magit uh buffer that shows the get status of my directory uh sorry of my repository that actually comes from a major mode that gets enabled whenever i run that magic status command so major modes are what basically provide the core functionality for a specific buffer um now major modes often are are activated using commands so even if it is a mode that gets activated using a file extension is still going to activate a mode using its commands so if we were to type in let's say org mode so for any file that ends with the dot org extension there's probably going to be some mapping in emacs that says you need to run the org mode command which turns on the major mode for org for org for org files basically so org mode so basically any buffer is going to have some mode that gets loaded some major mode that's loaded and if there's nothing that's specified for a particular mode it might get sorry for a particular type of buffer it might get loaded up in what's called the fundamental mode which is basically just means there's really no special functionality added uh the last important thing to mention about major modes is that there can only be one major mode active in the buffer at any given time so if you try to to start a major mode in a buffer actually let's uh let's go to an example of that so i'll load up emacs.org me close this really quickly whoops i'm i'm not using my normal key binding so i'm a little bit lost sometimes in this configuration all right so right now we're in org mode right so you can see down here that this is org i think if i hover over it does it say org mode no but um what if i changed it to another mode like let's say i run a command to change it to some other mode so there's like a python mode let's just run python mode and see what happens i'm going to press enter and what's going to happen is all the syntax highlighting in this buffer changes uh the mode down here in the mode line also changes and that's because we changed to python mode even though this is not a python file so you can basically do whatever you want you can start any mode at any time it just may not have the right results so it that just goes to show that emacs doesn't really have a specific understanding other than what's put into the configuration about what mode is possible for any file you can activate whatever mode at any time so i'm just going to go back to org mode here run that command again to put it back into org mode and now we're back to it so that also demonstrates that there can only ever be one major mode at any given time i was able to change the major mode but there was only one active so there's a different type of mode that can be active where many are active at the same time both in the single buffer that you're looking at and globally across emacs and that's called a minor mode so minor modes typically provide helpful functionality that isn't specific to the major mode of the current buffer but they're usually things that you might need to customize your workflow or even change the way that things are displayed in emacs so uh many things that come from third party or community packages are going to provide minor modes because they're sort of like extra functionality that are really helpful there's plenty of minor modes that are built into emacs and we're about to look at one of them all right so there is a mode called hl line mode which will cause the current line that your cursor is on in the file to be highlighted so what i'm going to do is in the in the mini buffer i'm going to press alt x to pull up the command prompt basically and i'm going to type in hl dash line dash mode press enter and now you can see that we have a nasty yellow color highlighting the current line where my where my cursor is and that's because i turned on the hl line mode to highlight the current line however if we switch to another buffer you'll see that the current line is not actually being highlighted let me find a better one that demonstrates this a little bit more clearly and now this one does not actually have the highlighting turned on and that's because i only turned on that highlighting for the other buffer so that means that a minor mode can be turned on only in one buffer however some minor modes provide a global version of the minor mode so that they get turned on in all uh all buffers so now if i were to run the global hl line mode by using alt x and press enter it turns it on in this buffer but then if we go to the messages buffer you can see that it's also on there as well so uh minor modes can be turned on locally or globally and you can have many minor modes turned on at the same time either locally or globally so minor modes are a way to sort of add additional functionality in wherever you want it to be at any time you can also turn them on and off conditionally for various buffers you have a lot of flexibility in what you can do with that which is a lot different than other editors that you might know of usually when you install an extension in a particular editor it's always on or always off depending on what you set it for so in emacs you have a lot more flexibility on how you deal with that all right so now that we've covered the basic concepts of emacs and sort of the high level things that you're going to want to know to use it effectively let's talk about the key bindings that you can use to do things that you would normally want to do on a daily basis so as i mentioned before emacs is definitely the most efficient and productive when you focus on keyboard based control the key binding system frankly is one of the most flexible and customizable i've ever seen and once you start like really getting into learning how to customize your key bindings in emacs you're going to realize how limited other programs are by comparison because it's just so good so today i'm just going to cover some basic key bindings that you're going to want to learn for basic everyday use and in future videos i'm going to go much more in depth about the different areas of emac of emacs and show you what the key bindings are to use those effectively so basically you can make your text editing and your general workflow a lot more efficient uh but before we start talking about all those key bindings let's first understand how key bindings are represented in emacs so you're often going to see people write out key bindings in a very specific format whenever they're trying to tell you what keys to press especially in emacs itself if you go look into the menu bar you're gonna see that these strings here have a very specific syntax to tell you what keys are being pressed and i'm gonna explain to you what those things mean right now so when you see a character like uh capital c and a hyphen and then another character after it that basically means you need to hold ctrl and then press the letter that follows so in this case it's ctrl c because we have the capital c for control dash lowercase c for lowercase c so basically hold the control key and press the letter c and which is what i just did so now it basically uh waits for the next part of a key binding that starts with control c now you will also see key bindings where there will be a pair of things like c x c s what this means is that you hold ctrl press x and then you either release control and then press it again and then press s or you just keep holding control then you press x and then s while holding control i prefer the latter option i'm sure that many emacs user prefer that because it's way more efficient and easier on the fingers to not just like be control x control s you know like lifting your finger every time it's going to really tire you out and make your fingers hurt if you do that so when you see a sequence of keys like this where they're they all start with the same letter just keep holding that letter and while you press the other letters in the sequence so hold ctrl press x then s for this key binding now there's a little bit of a difference in the next one where the first one has control attached to it for control x but then the second letter is by itself it doesn't have anything else with a hyphen in front of it what this means is hold ctrl press x then release control then press the letter b by itself so there's many cases where you will see bindings that have a control character used for the first letter and then no control characters used for the second letter so definitely keep that in mind that one those ones can be a little bit harder to hit sometimes because you have to release your your pinky off the charac the control key at the right time but you'll get used to it and then you have things like uh mx so this is actually the alt x binding that we've been talking about before and if you look at this little table down here or this little list of things here what i'm basically telling you is that c stands for control and m stands for alt but that's because um emacs predates keyboards that have the alt key uh emacs was written for a system that has a different set of keys all together and one of them was called meta so in this case m stands for meta but really in modern keyboards this is uh represented by alt so anytime you see the capital m think of the alt key similarly the capital s is for shift and the lowercase s is for the super key which is also one of those keys from those old keyboards and this one actually is the windows key on conventional keyboards these days or maybe if you have a linux specific computer that's the the linux penguin key or maybe if you have a mac that's going to be the option keep i think is what it turns out to be it could also be um command i'm not i don't remember which one it shows up as on mac os keyboards but usually on normal external keyboards it would be the windows key okay so uh so basically the meta x is the one we were talking about before however you can have very funky key bindings that have a combination of modifier keys that are being used in the sequence so in this case we have alt g and then control s and those are actually pressed in sequence so you would hold alt press g release alt then hold ctrl press s you don't see these quite as often because they're a little bit harder to press but usually they're provided in places where you this an action you wouldn't do frequently and it's just there in case you want to keep binding to do that action um if you have to for some reason if you don't want to have to like go look for the command in the command list so just keep in mind that if you see a binding that has this kind of different differing modifiers that is an actual key binding it's just you have to do the the modifiers separately okay so uh you can also combine things like you can have control alt and then a letter press at the same time so here we have an example of uh cms which would be control and alt held down and press s at the same time you could do like alt shift d etc so these modifier keys can be combined in a lot of different ways to have more key bindings that get created but most often you'll see these sequences instead where you have like a control x control s or something like that because in emacs there's sort of a meme about how emacs basically you have all these crazy key bindings where you hold control and hit like five letters it is kind of like that but that's just because once you start getting into the usage flow of emacs you realize that it actually is a lot more efficient using key bindings like this than it is to like go clicking around in menus all right so the last important thing to mention about uh key bindings in emacs is that there are two prefixes that are very commonly seen that you should understand now a prefix is basically any uh key sequence that has a another key press after it so when we saw this control x control s control x in this case is actually a prefix so if i press control x right now uh emacs will be waiting for the next key in the sequence because it knows that all other key bindings with control that start with control x they have some other thing that needs to come after it so this is now considered to be a prefix and uh now basically it's waiting for me to press the next uh key in the sequence so if i press ctrl s then it tells me no changes need to be saved because that's actually the key binding for saving a file uh so it waits as long as it needs to for you to actually press the next key so don't worry if you have these sort of key sequences you don't have to press them really fast you can press them at your own speed until you get more comfortable using them so back to the point control x is the prefix for all of emac's primary key bindings for like opening files saving files changing the window configurations in emacs creating windows uh creating frames all that kind of stuff if you press control x there's a lot of bindings that show up under that you can actually see all these here using the which key package which i have installed this is not actually something that uh comes by default in emacs if you were to go into uh this this emacs here the demo emacs press control s x you can see down in the echo area it's basically just waiting for you to press something else and it doesn't tell you what the possibilities are so there are definitely packages that make this a lot easier check out the e-max from scratch series i think the first one or two videos i show how to set that up if you're interested also control c is another very common key prefix where if you press control c you will get the key bindings for the current major mode that's active and maybe some other minor modes that are active and usually those are supposed to have control keys bound to the things that come next in the sequence so that you don't um pollute the the the key map but uh usually this control c is also meant for user key binding so usually you would be able to go in your configuration and set up key bindings under the control c prefix for things that you want to do for your own workflow so just keep in mind that this prefix control c is shared between modes and the user configuration so you may have some overlap there sometimes you'll have to watch out for okay so very important thing how to open and save files um to open a file in emacs you can press control x and then control f for the find file command so if i use control x you can see down here in the echo area is waiting for the next character so then i'll press ctrl f and now the mini buffer is asking me for what file to load so i can type in init.el this actually will do completion if you press tab so if i press tab just at the directory path just press it twice and it will give you all the files that are available under that path uh you can even uh complete the directory names as well press tab there it will complete that file if i type in i n which i know there's a file that starts with that in this folder press tab it will complete to init.el then you press enter and it will load the file so that's how you open a file in emacs to be edited control x control f to run the find file command now um if you want to make some changes to a file and then save it you need to know how to save the file and the binding for that is control x control s so in this um buffer i can go and change something so let's just say i add a little comment here hello i can use control x and then ctrl s and then you can see here in the echo area it says it wrote that file out that path and like i mentioned before you can go to the messages buffer if you want to control x control b uh messages and then you can see that it wrote out saving file the file path and then it says that it completed saving that file so anytime you save a file it's actually going to write that out to the messages log so you can see that there whenever it happened and also another thing you might want to do in certain editors is uh use a save as command to save the current file to another the current buffer to another location maybe it's one file that you're editing but you want to duplicate it to another file you can use control x control w for the write file command which will allow you to save it to another buffer so i'm here in this init.el file right now if i use control x control w it will ask me what file i want to write this to then i can say uh dim not demo let's see test.el press enter now it has saved this file buffer to the file test.el and now you can see that the buffer name has also changed along with that because now it's going to treat this as that new file going forward as you're editing it however the old file still does exist and you can get back to it if you want to so those are the very basic file operations that you would want to know about uh one yeah i'll cover that in a minute all right so uh now let's talk about switching buffers uh so as i mentioned before you can have a bunch of buffers open in emacs at the same time but you might not actually know which ones are there so to switch buffers you can use the control x b binding now keep in mind that this is the control x and then the single letter b binding and not like the uh holding control for each one of them before so i'm gonna use control x and i'm gonna release control and i'm going to press b and then i press the wrong key at that moment ctrl x b now it gives me a prompt in the mini buffer in the echo area saying switch to buffer so you can press tab to get a list of all the buffers that are available and if you click on any of these it will automatically switch to the the buff the buffer that you clicked on but you can also press d or t basically press t and then hit tab to complete anything that has t e in it and then press t s press enter and then we are now into the test.el buffer so that's one way to quickly search to a switch to a buffer if you know the name of the buffer but sometimes maybe you don't remember what the name of the buffer is or you don't really remember which buffers you have open so there is a way to list those buffers if you use control x control b so instead of just using the the single letter b by itself actually use control this time control x control b and that will give you this buffer list view where you can see all the buffers that are open you can see which file they correspond to you can see what the major mode is you can see the size etc then you can also click on a file to open it you can also use your mouse sorry your keyboard and press enter on a file to open that as well so that's just another way to see all those buffers and keep in mind you can still click buffers in the menu up here and see all those buffers here as well to switch between them those two key bindings that i mentioned to you just now are both represented here as well control x b and control x control b so you can see those easily also one a couple things i did not mention in the notes here but there's a previous buffer and next buffer if you want to just quickly switch between them control x left arrow control x right arrow so if i use control x right arrow i can sort of cycle through the buffers that are available so control x left control x left so basically you can just get through all them really easy so basically if you want to go back and forth between uh one buffer and another control x right arrow ctrl x left arrow basically so you're just sort of cycling through that that chain of buffers basically i should add that to the the notes here let me actually make a note for myself uh to do next preview buffer okay let's see if i remember to do that if you see this in the show notes afterward you'll you'll realize i failed myself okay cutting and copying text a very common thing you might want to do inside of your editor however this is an area that always confuses new emacs users because the concepts here are different than what you expect so many programs across linux windows and mac os well let's just say linux and windows because that's the ones that do this the most use control c to copy text and control x to copy the current text and then delete it which is a cut operation this is not the case in emacs so as we mentioned before control c and control x actually have special meaning in emacs so they can't be used for cut and copy um so they have a different strategy for doing this and i think this is actually because uh cut and copy and paste in emax predates the common cut and paste uh metaphors in ui so emacs's has its own idea for it because it came before all those things happen so in emacs to kill text means that you're going to cut it basically i don't know why they use the word kill for that but that's what it's called so that's what we're going to use so it basically copies the text and then deletes it the most thing common thing you're going to do is to kill a region which is basically a selection of text that you've made either just to delete it or to cut it to be pasted somewhere else so to kill a region first you need to to select some text to make a region to be killed and you can begin you can make one by marking the region using control space so in this buffer i'm going to hit control space and then i'm going to start moving my arrow keys around and it you can see how the text is being highlighted now so that basically creates a selection or a region in emacs terminology i think you can also hold shift okay that actually doesn't work in this mode but um just just keep in mind you can use ctrl space and then use the arrow keys to start selecting a region there are other commands for marking text based on words or sentences etc we'll go into that in a different video for now just know that control space will start the selection wherever you want it to be um let's see did i actually put the binding in here for yeah i didn't okay so ctrl w is what you would use once you make the um the selection to actually cut the text so i'm going to use ctrl space and then i'm going to start making a selection here then i'm going to press ctrl w and that will delete that text but actually copied it at the same time so it could be inserted somewhere else so now we have some text that has been copied to something called the kill ring which is basically a list of things that have been copied before and we can now paste it which i'll show you in the next section the last thing i want to mention to you is that this kill ring actually has some interesting functionality and we're going to talk about it in a future episode whenever i have some time to to do that so to paste that text that we copied you can use control y to yank i don't know why yank is the terminology that's being used for paste in emacs but that's what it is so if you ever see something talking about yanking text in emacs that's basically pasting text so in this buffer i'm going to move my cursor down i'm going to press ctrl y for yank and that's going to paste back in that text that i had previously cut from this buffer so it just just goes to show you that there is cut and paste or yeah cut and paste but it just has different terminology in emacs which is a little bit confusing and different key binding so once again uh ctrl space to select text ctrl w to cut it ctrl y to paste it all right so if you are so um tied to the old uh cut copy paste key bindings that are used all the time in emacs and or sorry in windows and linux you can actually turn those on using something called cua mode um i don't remember what cu h actually stands for but basically what it does is it makes it so that when you select text it actually makes control c control x actually you do cut and copy and it makes control v do paste the way that you expect so uh the way that you can turn that on very easily is to go to the options menu in emacs and then click this use cua keys and once i do that i can go and uh select some text using control space and then use control c to copy and then go somewhere else and then press ctrl v to paste so it does what you expect it to do it acts exactly like you expect from a more sort of conventional desktop editor so uh you could also i think use shift and the arrow keys well it was working for me earlier i don't know what caused it to work but it seemed like there was a shift arrow keys functionality that would do shift selection but it may be because i'm in an org mode buffer and it doesn't work that way but just know that if you want that functionality you can easily turn it on using the cua keys now you can also use the kua mode command in the command list if you press enter you see me typing down here in the echo area uh press enter here it turns on cool mode in the way that you expect so that's another way to turn on the same functionality okay undo and redo another very important thing for editing text in a text editor uh it's also another thing that's different than what you might be used to so the uh the undo key binding by default is control underscore but you can also use control uh whichever slash this is i can never remember whether it's forward or backslash but just use that slash character that is on the same key as the question mark uh on the us keyboard and you can undo a change that you made so let's uh let's try to write some text here so i'm gonna say uh hello and then another test so now what i'm gonna do is press uh control underscore and it's gonna undo that edit press control underscore again it's gonna undo that edit press control underscore again it's going to undo that edit and i can keep undoing until i go back to the state of the file whenever it was saved last so you probably want to know how to do redo well this is a little bit weird because what you actually have to do is press control g first which will then reset the undo state and change the undo direction so now if i was to press control underscore it's going to redo the things that i just undid as you can see and then as soon as uh i get back to the place where i was at the the the the i if i've reversed the undo history all the way back to where it was and start pressing on control under store again it starts going undo again so it goes back in the other direction again so it's a very different model of undo and it's kind of confusing to people there are ways to install different undo methods in in emacs that you can use we'll go into that in a different episode but just try to learn this one for now and see how it goes for you before you go try to find another one so let's see okay so another thing that is actually kind of useful that you might need to know that it's not very obvious at first is how to cancel an operation so sometimes you're going to run a command that um you're going to want to cancel it before it completes either it's going to do some long-running operation in the background or it's going to have a prompt that comes up that you no longer want you're going to want to get rid of that somehow for this you can press control g this is basically the quit command in the keyboard quick command in emacs and it interrupts any active command and brings you back to a normal state in emacs so let's say i use control x control f to use find file you can see we have the prompt down here in the echo area if i press ctrl g it cancels the prompt and i go back to editing in the normal way also if you run anything that seems to be taking a long time or maybe it hangs emacs like if you see emacs freeze and you can't actually click on anything or press any keys just try to keep pressing ctrl g because sometimes that will actually kick out whatever hang is happening in emacs and make it so that you can continue your work so don't don't don't freak out if emacs ever hangs just keep spamming control g just hit ctrl g until something happens and then if you hit control g like 10 times and nothing happens then you could probably kill emacs but control g control g can get you out of a jam in a lot of cases um so just one last thing learning more key bindings in the editor there's a lot of ways to do that as we talked about before looking at the menu bar and seeing what keys are represented there is a great way to figure out what kinds of key bindings are available as well as what kind of operations are available there's also the command describe bindings so if you go into the demo here use alt x to get the command list type in describe dash bindings press enter it's going to give you a listing of all of the active bindings currently in emacs for this buffer basically so globally and in the buffer and there is a lot of key bindings here and there's a lot of commands that are bound so a lot of these that are like single control plus letter keys are actually movement keys or editing keys inside of the buffer so these are very useful to look at to see like what things you could do so like for instance ctrl n if i put my cursor here and use ctrl n it takes me to the next line if you look here there's ctrl p for previous lines so you can use control p for previous lines so that's actually a way to navigate through the file without having to move your hand to the arrow keys so once you start looking at this list you might learn a lot of things that might save you a lot of time whenever you're editing in emac so this is a great way to learn a lot of things that you don't know about already in emacs um there's also a describe key so for instance if you um if you've heard about a particular key binding or maybe like there's a you press something by accident you don't know what it did you can use a describe key the describe key command and what it will do is prompt you for a key to to look up you can put give it whatever key binding you want and then it will tell you what command is bound to that key so let me just do that right now i'm going to use alt x type in describe dash key press enter now i'm going to type in control x control f and then it gives me this documentation page it says that this key is bound to find file and we give you all the documentation about the find file command so in emacs there's all this help information that's built in and this is one thing you can do you can you can find out what command a key is bound to it's very helpful so uh keep that in mind in case you want to know what a particular key does and uh since we've already mentioned it let's just mention it a little bit more the help system in emacs is fantastic the entire emacs manual is built into emags you can read it inside of emacs to navigate around it you can find out all kinds of information about emacs there and then there's more functions that start with the word described like we saw before that will tell you about all the functions and variables in emacs packages everything else you could possibly want to know about something that's defined in emacs there's all these described functions that will help you with that if you go to the help menu all these functions are here so all the described functions you might want to know about are listed here there's also the um read the emacs manual uh items if you click that it gives you the entire emacs manual here you can click all the different links for the different topics there's also a frequently asked questions and there's a tutorial you might want to check out that can help you learn how to edit things in emacs or like the basic key bindings so there's a lot of great stuff in this menu that you should check out to learn more about emacs built in you don't have to go to the internet to find this stuff it's just right here with you anywhere you go without internet okay so the last topic for today is how do you configure emacs uh well we're not gonna go very in-depth here because i go really in-depth in other videos about this but i'm gonna tell you the main two ways that you would configure emacs so that you know about them first of all there is the customization ui and this is a full user interface for customizing any option in emacs and the interesting thing here is that it not only shows you the options that are built into emacs it shows you the options for any external package you install too so any any community package you install all the options are going to show up here in the same user interface so to get to that use alt x and type in customize press enter and now you get this interface which basically tells you about all the different types of settings that are available in emacs you can click on those to jump into them and uh learn more about all the settings they all have descriptions so like the cool mode settings are here in this kua mode group but you can also search for a setting so say for instance you want to know how to set your tab width for indentation you can type in tab width and press enter here in this box and then you can see there's a tab width setting and here you can edit this value and set it to two or something and then click apply for it to be applied for the current session i believe uh there's a way to save it for all sessions here as well but i don't see it at the moment we're gonna go more in detail about how to use this ui in the future now personally i don't use this ui because i prefer to use the other option for emacs which is the init.el file this file could have other names but most commonly people know it as the init.el file and basically what this is is actual emacs lisp code that is used to configure your editors that means you're setting all the configuration variables using code and you're loading packages using code and you're also you could define your own functions that connect to these packages using code in this file uh in my opinion this is the best way to configure emacs because you can then check in your configuration to source control and share it between machines or at least you know have it saved somewhere so that you don't lose it so i have an entire video series called emacs from scratch that will tell you how to do this uh if you want to learn more about how to configure emacs and get a modern looking setup like i have on the screen right now using the community packages and the stuff that's built into emacs by editing your init.el file and just to show you an example of that we actually did open an init.el file before so let's just see if we can go back to that oh i think i renamed it to test.el but it's still the same file basically it's just a file containing a bunch of code that is doing the configuration for emacs now i know that people say oh it's lisp it's kind of weird it has all these parentheses well when you start getting used to writing emacs lists for the purpose of configuration you realize it's not that complicated so don't let that be something that stops you from trying to learn how to do this because you're going to get a lot of joy from learning how to configure emacs properly and setting it up setting it up exactly the way that you like it so you're going to have a file that's going to have a lot of lines a configuration and it's all going to be yours so that's one of the the best things about emacs in my opinion okay so what's next uh well i think this video should give you uh very much of what you need to know to get started using emacs and to be productive with it on a daily basis however we weren't able to cover many things in depth because we were just trying to scratch the surface and get you get you started so i'm going to start making more videos in a new series called emacs essentials which will cover many of these topics at a deeper level so you can go from being a beginner to emacs to an advanced user by the end of all the videos that we cover these topics and i've already like i mentioned been making a ton of other videos about emacs on this channel so you should definitely check out the other playlist if you want to learn a lot more while i'm building out the emax essentials series so as i mentioned before excuse me the emacs from scratch series is all about configuring emacs from the ground up using the init.el file there's also the emacs tips series which are like independent videos about various packages you might want to try out things you might want to do there's emacs desktop environment which is a very fun series where we turn emacs into a complete desktop environment so you can do your window management and basically live in emacs full time which is basically what i do now if you're used to using ides integrated development environments for various programming languages check out the emacs ide series there's not many various videos there at the moment but the the idea is that i'm going to continue making more videos showing specific configurations for different languages so that you can use emacs as an ide for those languages there's a lot of great packages that make this possible so you should definitely check that out there's also the emacs mail package where i talk about how to basically do your email in emacs so that may sound kind of weird but it's possible so definitely check that out too and then if you want to learn more about the language for configuring and extending emacs called emax lisp i'm currently working on a series called learning emacs list that will teach you about that language and how to use it and lastly if you want to know a little bit more about what emacs is capable of capable of check out the video i did at the beginning of this year called five reasons to learn emacs in 2021 where i give a little bit of a demo of some of the other cool things that you can do with emacs it might be interesting for you to see that so um definitely check out the show notes for this episode i know we covered a lot of things but i'm going to have all the stuff here in the show excuse me in the show notes for you to check out and definitely subscribe to the channel click the bell uh to be notified whenever we post new videos and when i go live every friday so we do a live stream every friday where the community of system crafters gets together and talks about emacs and basically other interesting topics that have come up that week so it's a very fun uh environment so you should definitely go come check that out also i'm sorry i'm losing my voice from the long video here check out the link to the discord below if you want to get some help getting started with emacs join the discord we're all there hanging out there's about 700 people there now and we're all you know enthusiasts of emacs we all love using emacs so definitely come check that out and and join us there it's a lot of fun okay before my voice goes completely let me just uh say thank you to my sponsors so these amazing people have decided to sponsor the work that i'm doing making these videos about emacs the new geeks and everything else that we talk about on this channel i'm very thankful to them for doing this because it gives me a lot of motivation to keep going and it just makes me feel like people actually appreciate what i'm doing so i'm very thankful to all of them so if you are interested in becoming a sponsor of this channel definitely check out the two links that i have below one for github sponsors and one for patreon uh you can do whichever one you choose also i have a link to paypal if you want to do one-time donations anything you choose to do is fine otherwise this content is free and definitely come and check it out be a part of the community and it costs you nothing so anyway uh thanks a lot for watching i hope this video was helpful for you to get started with emacs definitely let me know in the comments if you have any further questions of things that i could cover in future videos and until next time thanks a lot for watching happy hacking you
Info
Channel: System Crafters
Views: 48,690
Rating: 4.958209 out of 5
Keywords: emacs, learning emacs, emacs tutorial, beginners, emacs beginner, emacs how to open a file, how to save a file, tutorial
Id: 48JlgiBpw_I
Channel Id: undefined
Length: 71min 55sec (4315 seconds)
Published: Mon Mar 08 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.