【Linux】【Vim】多文件编辑与分屏

多文件编辑


|---|
| |

编辑另一个文件


除了为每一个要编辑的文件运行一次 Vim 之外,还可以在当前 Vim 中开始编辑另一个文件。

bash 复制代码
:edit foo.txt

Vim 会关闭当前正在编辑的文件打开指定的新文件进行编辑。如果当前文件还有未存盘的内容,Vim 会给出提示信息同时也

不会打开另一个文件。


|---|
| |

文件列表


在启动 Vim 时就可以指定要编辑多个文件:

shell 复制代码
vim one.c two.c three.c

该命令启动 Vim 并告诉它你要编辑 3 个文件。Vim 将在启动后只显示第一个文件。完成该文件的编辑后,可是使用下述命令切换到下一个文件:

shell 复制代码
:next
# or 保存并切换
:wnext

|---|
| |

分屏


vim 可以在启动的时候分屏,也可以在使用阶段分屏,具体方法如下所述。

启动时分屏

左右分屏:vim -On file1 file2 ... filen

上下分屏:vim -on file1 file2 ... filen

其中,-on 中的 n 表示的是分几个屏,可以缺省不写,vim 会按照文件数量进行分屏。

编辑中分屏

上下分割当前文件:crtl+w s

上下分割,并打开新的文件:sp filename 【sp 和 s 就是 split,vim 默认是上下分屏】

左右分割当前打开的文件:ctrl+w v

左右分割,并打开一个新的文件:vsp filename 【v 指的是vertical,垂直分割】

【先按 crtl+w,松开后再按 s 或者 v

切换窗口

针对所有窗口的操作命令

qall、wall、wqall、qall!

这些命令会作用于所有的窗口。【本质上,这些命令只会作用于修改过的窗口】


|---|
| |

vimdiff


vimdiff 命令可以分屏打开两个文件,并高亮显示两个文件的不同之处。


|---|
| |

文件跳转


vim 文件中有时候会包含一些其他文件的路径。

当光标位于某一文件的绝对路径或者相对路径时,在 normal 模式下,可以通过下述方式进行文件之间的跳转:

快捷键 作用
gf 在当前窗口中打开该文件
crtl+o / :bd / :bf 退回至原文件
crtl+i 再次在当前窗口打开之前跳转的文件
ctrl+w f 以分屏模式打开该文件(水平分屏)
ctrl+w gf 在新的tab中打开该文件
:tabc 关闭当前tab

如下所示,光标只需要位于路径的字符串上即可,不需要选中路径。

相关推荐
wdfk_prog21 分钟前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
x-cmd2 小时前
Mac 涨价后,本地 AI 还能千元入门吗?
linux·人工智能·macos·ai·agent·amd·本地ai入门
摇滚侠8 小时前
Linux 零基础教程 09、11、77
linux·运维·服务器
Soari10 小时前
【突发暴更】Claude Code v2.1.208 :无障碍辅助模式正式上线、Vim 连击热键出逃、大修内存泄漏与跨域 AWS SSO 登录崩溃!
编辑器·vim·aws·claude code
嵌入式学习和实践11 小时前
嵌入式 Linux 调闭源 SDK 怕崩?用 dlopen 把第三方动态库库“隔离“起来
linux·三方库
小樱花的樱花11 小时前
Linux 多线程编程:互斥锁(Mutex)详解
linux·c语言·开发语言
麦兜和小可的舅舅11 小时前
从原理到实战:Linux 系统性能诊断核心指标全解析及生产系统故障分析复盘
大数据·linux·运维
mounter62512 小时前
质检员与超能引擎的碰撞:KASAN 护航 eBPF JIT 的技术演进与安全抉择
linux·ebpf·linux kernel·kernel·kasan
风123456789~12 小时前
【Linux专栏】history常用命令
linux·运维·服务器
熬夜苦读学习13 小时前
基于websocket的多用户五子棋网页游戏
linux·服务器·网络·websocket·网络协议·游戏·五子棋