软链接vimdiff是如何实现的

问题描述 投票:0回答:1

我发现

vimdiff
实用程序只是 vim 的软链接。两者都位于我的 Suse11 框中的
/usr/bin/
下。
vimdfiff
是 vim 的软链接。有趣的是,
vimdiff file1 file2
实际上相当于
vim -d file1 file2
,所以在 感觉,
-d
选项会自动嵌入到软链接中,所以我的问题很简单 怎么办?

linux vim
1个回答
11
投票

Vim 在其

main()
函数中使用
argv[0]
来区分其可执行文件名称
vim
vimdiff

链接到 vim main.c,执行此检查以区分

rvim
rview
gvim
gview
vimdiff
gvimdiff
ex
exim

/*
 * Check for: [r][e][g][vi|vim|view][diff][ex[im]]
 * If the next character is "e" we run in Easy mode.
 * If the next character is "g" we run the GUI version.
 * If the next characters are "view" we start in readonly mode.
 * If the next characters are "diff" or "vimdiff" we start in diff mode.
 * If the next characters are "ex" we start in Ex mode.  If it's followed
 * by "im" use improved Ex mode.
 */
© www.soinside.com 2019 - 2024. All rights reserved.