如何确保 KDE 安装上的 VIM 具有相同的配色方案?

如何确保 KDE 安装上的 VIM 具有相同的配色方案?

每次我升级到新版本的 Debian(或任何其他 Linux 发行版)时,我最终都会调整蓝色康索尔,默认情况下太暗。以下是 Debian 11 中 Bash 脚本的一部分的屏幕截图: Debian 11 上的 Bash 脚本颜色

avconv下面是 Debian 9 中的相同代码片段(忽略要更改的部分)的屏幕ffmpeg截图,我从 2.5 年来一直使用该代码片段,并根据我的喜好进行配置: Debian 9 上的 Bash 脚本颜色

为了方便起见,在 Debian 9 和 11 上:

  • Konsole 配色方案和背景设置为黑底白字。
  • set bg=dark~/.vimrc
  • 字体为 Noto Mono,大小为 11。

请注意,蓝色太暗并且不太清晰(对我来说)。每次全新安装后,我都会手动调整 Konsole 设置并覆盖蓝色的颜色(例如#5da3ff)和强烈颜色(例如)。#5daaff但这是一个手动过程,我有点不喜欢它。

如何确保 KDE 上的 VIM 安装具有相同的配色方案?蓝色问题不仅仅与 VIM 有关。即使在终端上查看目录列表时它也存在。这里的人比我拥有更多的专业知识和对这些设置的理解。任何建议将不胜感激。

答案1

我还发现黑色上的深蓝色难以阅读,所以我的文件中有以下内容~/.vimrc

syntax on
set background=dark
hi Comment    term=bold ctermfg=DarkCyan guifg=Blue
hi PreProc    term=underline ctermfg=Cyan guifg=#ff80ff

它告诉vim我们在终端中使用 DarkCyan forCommentPreProc,这是 background=dark 通常使用深蓝色的大部分(全部?)功能。


顺便说一句,您确实应该在 shell 脚本中引用变量。大括号是不是引用的替代品(并且,除了在数组和参数扩展中使用之外,它们仅有的当您需要消除变量名称与周围文本的歧义时非常有用 - 例如,$varx是一个名为 的变量varx,而${var}x是一个名为 的变量,var后跟一个文字x字符)。

process_nokia() {
    local name
    local ofile
    for f in "$CON_INPUT_DIR"/VID_*.mp4; do
        name="${f##*/}"
        ofile="$CON_OUTPUT_DIR/$(make_output_fname "$name")"
        [ -e "$ofile" ] && continue
        avconv -i "$f" -s "$CON_VIDEO_SIZE" "$ofile"
    done
}

(感谢gocr将该图像转换为可编辑文本)

顺便说一句,如上所示,您可以而且应该在命令替换中嵌套双引号。通过命令替换运行的子 shell 也需要引用其变量。

另外顺便说一句,鉴于这process_nokia()是一个函数,您可能应该编写它,以便将目录名或文件名列表传递给它......如果未提供,则可能使用默认值。这将允许您在任何目录上重复使用相同的功能。在函数中硬编码这样的东西和/或使其使用全局变量通常不是一个好主意。如果全局变量不存在或者没有你期望的值,它可能会产生非常令人惊讶的结果 - 有时令人惊讶,有时无害,有时则是灾难性的。至少,如果您不想将参数传递给函数,则应该检查是否$CON_INPUT_DIR具有有效值。

相关内容