VIM 如何关闭某个 buffer?设想有这样的场景,你正在编辑一个配置文件,而这个配置文件引用了另一个配置文件作为指令的值,比如证书的路径。这个时候,你可以利用 VIM g-f
来跳转到这个路径下面对应的文件,如果这个路径地址是正确的话,那么你就能在 VIM 中打开了这个跳转的文件。好的,现在你已经在这个新的文件中了,而且你已经确认了文件没错。
然后,你想要返回之前的那个文件,你会怎么做呢?我想你会想到的是 :bn
或者 :bp
, 用来切换下一个buffer 或者上一个 buffer, 然而切换回来以后,这时候你又有一个新的某路径下配置文件被你打开了,渐渐的被打开的配置文件越来越多,而你切换却越来越麻烦,这时候你可能就会想我能不能关掉它们了,因为我只是临时性的查看了它们一下,而正在编辑的那个主文件才是重点。
于是,你试了试 :close
, 发现没有这个命令,或者报错说 Cannot close last window
, 然后你又试了试 :quit
想想肯定也不对,这个时候你懵了,答案究竟是什么呢?
是 :bd
, 或者 :bdelete
请注意,关闭缓冲区后,其中的文件内容将不再显示在Vim中。如果关闭的缓冲区是唯一打开的缓冲区,Vim将会退出。