假设一个例子,你想要将刚刚我们的 hosts 内的 IP 复制到你的 /etc/hosts 这个文件去, 那么该如何编辑?我们知道在 vi 内可以使用 :r filename 来读入某个文件的内容, 不过,这样毕竟是将整个文件读入啊!如果我只是想要部分内容呢?呵呵!这个时候多文件同时编辑就很有用了。 我们可以使用 vim 后面同时接好几个文件来同时打开喔!相关的按键有:

多文件编辑的按键
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个 vim 的打开的所有文件

在过去,鸟哥想要将 A 文件内的十条消息“移动”到 B 文件去,通常要开两个 vim 窗口来复制, 偏偏每个 vim 都是独立的,因此并没有办法在 A 文件下达“ nyy ”再跑到 B 文件去“ p ”啦! 在这种情况下最常用的方法就是通过鼠标圈选, 复制后贴上。不过这样一来还是有问题,因为鸟哥超级喜欢使用 [Tab] 按键进行编排对齐动作, 通过鼠标却会将 [Tab] 转成空白键,这样内容就不一样了!此时这个多文件编辑就派上用场了!

现在你可以做一下练习看看说!假设你要将刚刚鸟哥提供的 hosts 内的前四列 IP 数据复制到你的 /etc/hosts 文件内,那可以怎么进行呢?可以这样啊:

  1. 通过“ vim hosts /etc/hosts ”指令来使用一个 vim 打开两个文件;
  2. 在 vim 中先使用“ :files ”察看一下编辑的文件数据有啥?结果如下所示。 至于下图的最后一列显示的是“按下任意键”就会回到 vim 的一般指令模式中!

    图9.3.6、vim 的多文件编辑中,查看同时编辑的文件数据

  3. 在第一列输入“ 4yy ”复制四列;

  4. 在 vim 的环境下输入“ :n ”会来到第二个编辑的文件,亦即 /etc/hosts 内;
  5. 在 /etc/hosts 下按“ G ”到最后一列,再输入“ p ”贴上;
  6. 按下多次的“ u ”来还原原本的文件数据;
  7. 最终按下“ :q ”来离开 vim 的多文件编辑吧!

看到了吧?利用多文件编辑的功能,可以让你很快速的就将需要的数据复制到正确的文件内。 当然啰,这个功能也可以利用窗口接口来达到,那就是下面要提到的多窗口功能。

results matching ""

    No results matching ""