A. vim打开多个文件时,如何像UltraEdit那样在同一个窗口上的多标签形式打开
启动vim的时候可宽斗以加参数。比如x0dx0agvim -p
B. Vim文件差异比较工具vimdiff和vim -d命令详细
vimdiff命令是Vim提供的文件差异比较工具,其功能与使用-d启动参数等价,即vimdiff file1 file2与vim -d file1 file2实现相同效果。本文以vimdiff工具为例,详细阐述Vim在文件差异比较方面的功能。
启动Vim diff模式时,默认为垂直分割窗口,若希望使用水平分割显示结果,可输入vimdiff -o file1 file2。关于Vim多窗口操作的切换等,更多详情请参考Vim窗口分割方法。如果某个文件更改后重新进行diff操作,Vim会自动刷新结果。未启动Vim时,可使用Vim命令行窗口的:diffupdate指令手动刷新。
已启动Vim后,通过命令行命令:diffsplit、:diffthis或:diffpatch也可进入diff模式。打开Vim的diff窗口后,可使用:qa退出所有窗口,了解详细退出方式,推荐阅读14种退出Vim的方法及区别。
默认情况下,vimdiff中连续相同行被折叠,不同文件中存在行分别以蓝色和绿色显示,差异文本则以粉色背景突出,文字以红色显示。通过Vim命令行模式或配置文件使用:highlight命令,可个性化设置vimdiff的配色方案,如设置新增行颜色、差异文本颜色等。xterm支持256种颜色,可通过数字引用特定颜色,实现个性化设置。
在某个窗口移动光标时,另一侧屏幕同步滚动。使用]c命令可正向跳转至下一个差异点,[c命令反向跳转至前一个差异点。通过指定次数,可重复执行跳转命令,快速跳过多个差异点。例如,当前位于第1个差异点,执行2]c命令将跳至第3个差异点。
默认上下文行数为6行,可通过diffopt=context选项调整,如:set diffopt=context:10将上下文行数设为10。使用zo展开折叠文本,zc命令进行折叠关闭,za命令可同时打开或关闭Vim折叠。更多关于Vim代码折叠的介绍,请参考相关文章。
对文件进行diff后通常会进行合并。针对当前光标所在差异点,使用dp命令将当前文件内容复制到另一个文件(dp为diff put),do命令将另一文件内容复制到当前行(do为diff get)。Vim配置文件.vimrc可针对diff模式进行个性化设置,详细配置结构可见相关链接。