打开文件、查找内容

      打开文件

      哈,现在你已经在无意间学会了一种在 vim 中打开文件的方式,虽然这种方式并不是最常用的,但却是最
      直接的,尤其是当你的代码中 include 了某文件时,下面介绍另外两种常用的打开方式。

      在 vim 中打开文件

      • :e <filename> 打开名为 filename 的文件,若文件不存在则创建之
      • :Ex 在 vim 中打开目录树,光标选中后回车打开对应文件(提示:- 进入上级目录)

      查找

      文档内查找

      • * 向后查找光标当前所在单词
      • # 向前查找光标当前所在单词
      • /<search> 向后查找指定字符串
      • ?<search> 向前查找指定字符串
      • n 继续查找下一个
      • N 继续查找上一个

      注意: nN 是有方向性的,若你之前通过 * 查找,则 n 会继续向文档尾方向查找,N
      向文档首方向;反之,若你通过 # 查找,则 n 指向文档首,N 指向文档尾

      行内查找

      • f<X> 当前行内向行尾方向查找并定位到字符 X
      • t<X> 当前行内向行尾方向查找并定位到字符 X 之前
      • F<X> 当前行内向行首方向查找并定位到字符 X
      • T<X> 当前行内向行首方向查找并定位到字符 X 之后
      • ; 继续向当前方向查找下一个字符
      • , 向当前相反方向查找下一个字符

      当前文档中有几个 “vim” 单词,你可以尝试用 # 进行查找并感受 nN 的方向性。

      上面的 “注意” 中有几个字符 “n”,你可以在那试试行内查找并感受下 ;, 的方向性。

      匹配查找

      vim 中可以使用 %()[]{} 进行匹配查找,当光标位于其中一个
      符号上时,按下 %,光标会跳到与之匹配的另外一个符号上。

      在下列文本中的 ()[]{} 字符上按 % 看看效果,连续多按几次。

      1. (function(win, doc) {
      2. var n = ((1 + 2) (3 + 4)) / 7;
      3. var a = [1, 2, 3, 4, 5, 6, 7];
      4. var f = function(b) {
      5. if(b) {
      6. return false;
      7. } else {
      8. return true;
      9. }
      10. };
      11. })(window, document);

      下一章将介绍文档的修改,在这之前先简单介绍一下 vim 的 buffer,简单理解
      buffer 就是当前 vim session 的文件历史记录。

      现在你的 buffer 中应该已经有两个文件了,你可以用 :buffers:ls 命令查看,看到
      buffer 列表了吧,大概是这个样子的:

      1. :ls
      2. 1 #h “file-one.md” line 47
      3. 2 %a “file-two.md” line 1
      4. Press ENTER or type command to continue

      接下来你可以尝试通过以下命令在文件缓存中进行跳转了

      • :bn 打开缓存中下一个文件
      • :bp 打开缓存中上一个文件
      • :b<N> 打开缓存中第 N 个文件

      你也可以使用 :bdelete<N> 来删除所要关闭的缓冲区,缩写 :bd<N>

      当然你也可以使用 :Ex 命令,选择 file-three.md 并打开,进入第三章