diff --git a/ch2/[252-478]CHN_review_GNAQ.txt b/ch2/[252-478]CHN_review_GNAQ.txt deleted file mode 100644 index 0d9c4e1..0000000 --- a/ch2/[252-478]CHN_review_GNAQ.txt +++ /dev/null @@ -1,447 +0,0 @@ -【252】vim 的核心思想之一,模式编辑 - -我们可以先讲一些基础 - -像如何打开这个文本编辑器 - -如何打开文件,保存文件 - -等等的操作 - -所以,这是一个基于命令行的编辑器 - -尽管它有一些图像化变体 - -启动这个程序的方式是键入 `vim` - -【260】你可能会注意到 - -在我的屏幕左下角 - -你能看到我键入的内容 - -这在这节课的后面会很有用 - -当我在输入 vim 命令时 - -【265】我会说我正在写什么 - -你们也会在屏幕上相应地看到 - -所以当我按下 `^C` - -屏幕也会显示 `^C` - -文本大到都能看见吗?很好 - -【270】所以我们要打开 vim - -只需要在命令行中键入 `vim` - -大多数系统已经预装好了 vim - -如果你没有的话 - -也可以用包管理器装一个 - -【275】`vim` 也可以接收参数 - -即当我们想用它直接编辑特定的文件 - -而不是先打开程序再打开文件 - -例如,我在这个目录里有一个文件 - -【280】这个文件事实上是这节课的笔记 - -我可以键入 `vim editors.md [ENTER]` - -砰的一下,编辑开始 - -在本课中 - -我不是完全在 Exton 默认配置中运行 vim [*] -*一个基于 Ubuntu 的操作系统 - -【285】我已经额外做了一些小配置 - -使它在默认条件下更加美观 - -比如左边有行号 - -再比如底部有更多的状态信息 - -【290】如果你也想要这些设置 - -我在笔记里放了个链接 - -可以让你有一个 - -更稍稍合理的设置 - -当你打开 vim,你该怎么做? - -【295】像我之前说的,vim 以 normal 模式启动 - -所以如果我直接开始键入 - -键入 `x`,它没有被输入到缓冲区 - -你可以看到左上方的光标 - -事实上我删掉了一个字符 - -【300】这是因为我在 normal 模式 - -而不是 insert 模式 - -insert 模式基本上是你以前惯用的 - -所有其它的文本编辑器 - -比如某处有一个光标 - -【305】你键入字符 - -它进入缓冲区 - -而在 vim 的 normal 模式中 - -你可以键入 `i` 进入 insert 模式 - -所以看,我键入了 `i` - -【310】之后底部的通知显示 `--INSERT--` - -左下总会显示你所在的模式 - -但 normal 模式除外 - -normal 模式下它是空白的 - -现在是 insert 模式,如果我键入 `x` - -【315】它就会插入到文本缓冲区 - -我可以键入 `Backsapce` 或者其它的字符 - -现在我的编辑器可以表现得 - -和你想的其它编辑器一样 - -【320】现在如果我要结束插入字符 - -如何退回 normal 模式呢 - -对,没错 - -我按一下 `Esc` 键 - -这个就是我击键显示工具 - -表示 `Esc` 键的图标 - -【325】要意识到这一点 - -vim 有一个观点,使用鼠标是低效的 - -当你的手正在键盘上 - -再去移到鼠标上其实浪费时间 - -对吧 - -【330】当你编程的时候 - -你就不想浪费这点时间 - -就比如你写什么写到一半沉醉其中 - -取而代之的是,vim 的所有功能 - -都可以仅通过键盘调用 - -【335】所有你可能习惯了的操作 - -像打开文件什么的操作 - -比如打开文件,保存文件之类 - -我会用键盘实现它们 - -是怎么做到的? - -【340】这是通过 vim 的其它模式 - -模式在那边的黑板上,实现的 - -尤其是通过命令行(command line)模式 - -在 normal 模式下,如果你键入 `:` - -你会发现光标 - -【345】——我想我的显示工具现在挡住了 - -好在它已经没了 - -光标跳转到了底部,左下方 - -它显示了我刚刚键入的 : - -现在我可以输入命令 - -【350】你可以认为它很像命令行 Shell - -我们之前几天所讲的 - -不过这是 vim 的命令行 Shell - -你在这里输入 vim 命令 - -【355】而不是 Shell 命令 - -这里有很多内置命令 - -可以搞定你惯常做的所有事 - -例如,你可能很想知道一个命令 - -那就是如何退出编辑器 - -【360】你会发现如果在 normal 模式下 - -我可以键入 `Esc` - -从命令行模式返回 normal 模式 - -我键入 `^C` - -不像很多其它程序,vim 不会退出 - -【365】那我如何退出 vim? - -我可以键入 `:`,进入命令行模式 - -我就可以键入命令 `quit` - -Q-U-I-T,你会看到 - -——嘿,我得把这个破玩意移到中间去 - -【370】看,显示 `:quit` - -按一下 `Enter`,vim 就会退出 - -我可以再打开 vim - -事实上这个命令有简写,`:q ` - -效果是一样的 - -【375】这里还有一堆类似的命令 - -其它比较方便的命令,需要知道的是 - -如何保存文件? - -假设我做些编辑,像 `hello world` - -键入 `i` 进入 insert 模式 - -【380】——让我重按一下 - -我键入 `i` 进入 insert 模式 - -现在,我可以用下箭头 - -——我想我好像翻车了 - -jon,你能搞定它吗? - -啊,别介意 - -【385】假设我下到这行 - -键入 `i` 进入 insert 模式 - -输入一些文本, - -之后键入 `Esc` 回到 normal 模式 - -我该如何保存这个文件? - -【390】这个要用别的命令完成 - -键入 `:` 进入命令行模式 - -之后键入 `w` ,键入 `Enter` - -`w` 代表写(Write) - -底部会随之出现 `editors.md` - -啥啥啥的已写入 - -【395】这样就保存文件了 - -如果我键入 `:q` 退出再重新打开文件 - -你会看到修改被保存了 - -还有一些其它的 - -——实际上有非常多的 vim 命令 - -【400】适用于各种情况 - -我现在只多介绍一点儿 - -一个很有用的命令是 `help` - -`:help` - -键入 `:help`,之后输入 - -【405】特定键或特定命令 - -来获得他们的说明 - -比如我想知道 `:w` 的作用 - -我可以键入 `:help :w`,之后就会显示 - -【410】`:w` 或 `:write` 的文档 - -如果我键入 :q,会关闭这个窗口 - -并且返回之前的状态 - -注意到 `:help :w` 与 `:help w` 不同 - -因为后者的 `w` 代表 - -【415】你在 normal 模式下按 `w` 键 - -只是这里的 `w` 键 - -没有 `:` - -如果我查看 `:w` 的帮助 - -这是 `w` 这条「命令」的资料[*] -*请注意区分命令行模式下的命令和 normal 下的按键 - -【420】现在你们掌握了一些使用的基础 - -对吧?你可以打开编辑器 - -用它编辑一个特定文件 - -键入 `i` 进入 insert 模式 - -输入一些文本,键入 `Esc` 返回 - -【425】normal 模式,键入 `:w` 保存文件 - -`:q` 退出,所以 - -你们已经会了必要的基本原理 - -用于使用 `vim` 编辑文件,尽管效率有些低下 - -目前为止有问题吗? - -【430】是的后面这位,所以问题是 - -normal 模式的优越性是什么? - -我会讲更多细节的 - -再等 5 分钟就好 - -简而言之,insert 模式仅仅用于输入文本 - -【435】我在 insert 模式 - -我可以输入文本,但是 - -我在编程时实际上花费很多时间 - -在我的文件中移动,做一些小修改 - -我移到这里 - -【440】比如我可能想把这个 https 链接 - -修改为 http - -我可以做一些小修改,比如这 - -在 normal 模式下 - -之后五分钟我们会看到更多相关内容 - -【445】好问题! - -还有其它问题吗?好的,那就继续 - -另一个有必要知道的是 - -我认为是一些高阶的关于 - -【450】vim 缓冲区,窗口与选项卡的模型 - -很可能是这种情况,就是 - -无论你之前在用什么程序 - -像 Sublime Text 或者 VS Code 之类的 - -你都可以在其中打开多个文件 - -【455】是的,你可能 - -打开很多选项卡 - -并且有多个编辑器,窗口 - -vim 也有这些东西的概念 - -但是,它的模型 - -【460】和大多数其它程序有些不同 - -vim 维护一组打开的缓冲区 - -这是它对打开的文件的描述 - -也就是它有一些打开的文件 - -除此之外,你可以有很多选项卡 - -【465】选项卡可以有窗口 - -一种奇怪的机制使得vim - -相较于你以前用的程序 - -有些许不同 - -就是它不一定有一个 - -【470】缓冲区与窗口的一一对应关系 - -比如我现在可以做一件事 - -后面我会展示按键组合之类的 - -但是你可以做的一件事是 - -【475】创建两个不同的窗口 - -所以我在上边有个窗口,下边儿又一个窗口 - -注意,两个窗口打开了同一个文件 - -如果我在这里做一些编辑 \ No newline at end of file