It's just a bunch of text from chapter two of all the programming.
You probably read most of this in your readings in course one.
So one of the things I might want to do is search.
If I hit Ctrl+S, you'll see at the bottom of my xterm it say isearch.
Emacs has incremental search which means as I type a search term,
it will start searching for whatever I have typed so far.
So if I type i, for example, it goes to the first instance of i and
highlights all the other ones.
If I type im, afterwards it's going to refine that and
start showing me things like important and sometimes and simple.
If I were to type e, it comes down here to sometimes and refining that further.
This is really nice when you're programming because you want to search for
a function name or something.
You hit Ctrl+S, you just start typing a little bit.
You'll quickly get to what you want and
you generally don't have to type out the whole thing.
If I hit backspace, it goes back to im.
I might want important, but not this one so if I hit Ctrl+S again,
it will search forward for the next instance of im and I can keep doing that.
And at this point it needs to scroll down.
In a normal x term this wouldn't happen.
X term JS has a little bit of a weird bug where it doesn't always redisplay
the screen correctly.
If that happens just hit Ctrl+L, and
that'll make Emacs redraw the screen completely.
So then I can just resume by hitting Ctrl+S again and searching some more.
That bug's a little annoying, but xterm.js isn't my thing.
Okay, so that's searching.
You can also search backwards.
If I hit Ctrl+R, it will say I search backwards.
And I can search backwards and it will go backwards.
And I can change between these with Ctrl+S, Ctrl+R to move forwards and
backwards through my searches.
All right, so that's searching.
What else might we want to do in our editor?
We might want to undo things.
So if I type some stuff, for example, and
then realize I didn't want it I can hit Ctrl+XU and it'll undo that change.
All right, now that's pretty normal.
Let's just suppose for a second that I made a bunch of changes.
So I do some changes here, blah, blah, blah, some other stuff.
And then I go and do some really important stuff.
Really important complicated stuff I want to keep.
Now I realize all that other stuff I just did I want to undo it.
Maybe this happens in programming.
I might make some changes in one function and go work on some other piece of code,
and somehow realize that I messed up that function.
If I hit Ctrl+space, it's going to say mark set and start highlighting a region.
And once I've highlighted a region and selected it, I can undo in that region.
So if I undo Ctrl+XU, it will undo in region and
it will start only undoing the changes in that area of this file and
not the later changes that I did somewhere else.
Which is really nice when you're programming or
even editing other things in general.
I'm going to come down here.
So sometimes I want to move to beginning of a line.
Ctrl+A will do that.
Ctrl+E will go to end of the line.
going to to take out this line of text.
So Ctrl-K cuts an entire line.
If I wanted to paste it somewhere else,
Ctrl+Y pastes the previous thing that i cut.
If I want to copy or cut a region, I can select it, Ctrl+space,
begin selecting and then Ctrl+W will cut, Ctrl+Y will paste.
If I wanted to copy instead of cutting, I can hit Esc+W and then paste.
Now one of the other really cool features about Emacs is after you paste,
you can change back through previous things you have pasted.
So immediately after pasting, if I hit Esc+Y,
it will un-paste what I pasted and paste in the previous thing.
And I can do that again and
get back to previous things that I have copied and pasted.
So sometimes you copy and paste things and
you want to paste not the most recent thing, that's really cool.
Okay, I'm just going to revert, actually I'm just going to save that,
it doesn't matter.