前言
假设一个例子,你想要将刚才我们的hosts内的IP复制到你的/etc/hosts这个文件去,那么该如何编辑?我们知道在vi内可以使用:”r filename”来读取某个文件的内容,不过,这样毕竟是将整个文件读入。如果我只是想要部分内容呢?这个时候多文件的编辑就很有用了。我们可以使用vim后面同时接好几个文件来同时打开。
按键
按键 | 意义 |
---|---|
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:files | 列出目前这个vim的打开的所有文件 |
在过去,鸟哥想要将A文件内的10条消息“移动”到B文件去,通常要开两个VIM窗口来复制,偏偏每个VIM都是独立的,因此并没有办法在A文件执行”nyy”再跑到B文件去执行”p”。在这种情况下最常用的方法就是通过鼠标圈选,复制后粘贴。不过这样一来还是有问题,因为鸟哥超级喜欢使用[TAB]按键进行编排对齐操作,通过鼠标却会将[TAB]转成空格键,这样内容就不一样了。此时这个多文件编辑就派上用场了。
举例
现在你可以做一下练习。假设你要将刚才笔者提供的hosts内的前四行IP数据复制到你的/etc/hosts文件内,那可以怎么进行呢?可以这样:
- 通过”vim hosts /etc/hosts” 命令来使用一个vim打开两个文件
- 在vim中先使用”:files”查看一下编辑的文件数据有什么
- 在第一行输入”4yy”复制四行
- 在vim的环境下输入”:n”会来到第二个编辑的文件,即/etc/hosts内
- 在/etc/hosts下按“G”到最后一行,再输入”p”粘贴
- 按下多次的”u”来还原原本的文件数据
- 最终按下”:q”来离开vim的多文件编辑
总结
利用多文件编辑的功能,可以让你很快就将需要的数据复制到正确的文件内。当然这个功能可以利用窗口界面来达到。
参考文献
《鸟哥的私房菜-基础学习篇》