vim多文件操作

148 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情

前言

  • vim 真的很好用。之前我一直领悟不到这句话的真谛,现在终于知道了,vim的多文件操作压根不需要我们频繁进入然后cd打开其他的文件,vim file1 file2 这种不爽吗

  • 说了这么多金坛vim 来操作下窗口分屏和tab标签页等功能。

缓冲区

  • 首先我们通过vim打开的文件都会存放到缓冲区中。上述我们打开的两个文件就是在缓冲区中。我们通过:ls 可以查看当前缓冲区列表 , 当然我们也可以 :buffers :files
  • 那么如果你想切换到缓冲区其他文件你可以 :b 缓冲区编号/文件名
  • 当然除了缓冲区的选择外我们还可以在加入新的文件 :e newfile 这里的file可以相对路径也可以绝对路径。

切换缓冲区

  • 难道我要每次打开缓冲区看看我要的文件在哪然后通过:b num打开文件吗?不不不 , 我们可以通过:bnext :prev :bfirst :blast 进行tab页签跳转。

多窗口跳转

  • 了解我的都知道我的工作班底是zsh+tmux 。 在tmux中的session ,windows, panel 的概念简直是操作神奇,我们可以在windows中开启多个panel ,实际上在vim中也是可以实现相同效果的。我么你可以 :sp 打开一个新的水平切分敞口,但是不得不说丑到家了。那么开了这么多窗口我该如何切换ne? 还记得我们额hjkl 吗,只需要Ctrl+w 结合hkjl 跳转即可。

调整窗口大小

  • 如果我们的窗口太小又该如何呢?我们可以通过Ctrl+w +进行纵向扩大反之就是减少尺寸大小了。
  • 横向调整的话有点不好操作,:vertical res num进行横向调整,这种方式没有默认快捷键,我们可以在vimrc中进行快件绑定,这样我们就可以很方便的操作了。

重命名文件

  • 有的时候我们文件名称需要修改,你可能还会继续推出mv 修改名称吧,在vim中我们:f file进行修改内容。

总结

  • 上面通过:e file 打开文件时有个问题就是我可能不知道当前路径下有哪些文件。这个时候我们可以通过Ex 打开目录浏览器。我们也可以通过:Sex水平分割当前窗口。
  • 还有中情况我们vim打开文件后没有权限保存以前我就是退出然后sudo vim 打开然后再更新一遍,这种方式最蠢了,我么可以先保存到别的文件里然后sudo mv 也可以,vim实际上可以支持的,w !sudo tee %