问题标签 [statusline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
655 浏览

vim - 除非我按下一个键,否则 Vim 状态行不会立即出现?

大约 3 周前,我刚搬到 Vim。我知道这是小问题,但我发现它以某种方式惹恼了我。每当我打开 vim 时,状态行(或状态栏?)不会立即出现(+ 光标始终位于屏幕的最后一行),除非我按下一个键(任意键)。这是我的 vimrc 供参考:

有什么问题吗?

编辑:这是我的 vim 发生的屏幕截图。 在我按键之前

0 投票
2 回答
4901 浏览

macos - Vim 状态行不工作

我在 OS X 上,我已经通过 Homebrew 安装了 Vim

我注意到每当我使用 Vim 时,底部都不会出现状态行。我想我可以通过将以下内容添加到 vimrc 来始终显示状态行来修复它:

这向我显示了状态行,但它只是标尺上方的空行。它看起来像这样: 在此处输入图像描述

我错过了什么吗?

编辑

我想将 Vim 用于 Haskell。我已经安装了haskell-vim-proto。我正在使用包含的vimrc,它应该会导致在状态行中显示语法错误等内容。当我编辑 Haskell 文件(使用vimrc)时,我的 Vim 中没有状态栏。添加set laststatus=2到 vimrc 会导致显示空白状态行。

当我遵循通过 HomeBrew 安装 Vim 的教程时(就像我一样),使用 Vim 打开文件的任何时间都会显示底部的状态行,其中包含如下内容:

我确实在遵循教程。当他用 Vim 打开 .bash_profile 时,它​​看起来像这样: 在此处输入图像描述 当我做完全相同的事情时,它看起来像这样: 在此处输入图像描述

0 投票
1 回答
279 浏览

vim - Vim 状态行:显示字符本身

有没有办法在状态行中显示光标下的字符?

我已经%b\ (0x%B)用来显示字符的十进制和十六进制值。我想在这两个之前显示字符本身。

0 投票
1 回答
419 浏览

vim - 将 vim 的模式指示器文本更改为仅航空公司中的第一个字母

我有航空公司的 vim,它告诉我我处于哪种模式。我想更改它,以便它只显示第一个字母,而不是整个单词。所以 N、I 或 V。虽然我可以找到更改模式指示器颜色的说明,但我找不到要添加到我的 .vimrc 中来更改文本的命令。我要添加什么?

0 投票
1 回答
319 浏览

vim - 在 Vim 状态行中,右填充数字

假设我set statusline+=col:%3v;在 Vim 8 中这样做。

现在,如果我在第 1 列,我的状态行看起来像col: 1;.

如何获得数字另一侧的填充?例如,如何让我的第 1 列状态行看起来像col:1 ;

0 投票
1 回答
631 浏览

vim - 如何根据状态行中的可用空白向 vim 状态行添加可变数量的字符

我已经为 vim 制作了自定义状态行,但遇到了一个问题,当我执行 :split 时,由于我设置它的方式,很难看到缓冲区之间的分隔。我现在想添加一个字符作为左侧文本与右侧文本之间的分隔边界。在左边,我有一个文件名和它的路径(长度会改变),在右边我有一些关于缓冲区号等的信息。我无法对字符进行硬编码,因为有时文件路径太长会被切断。我希望能够调用一个函数,该函数将根据状态行两端之间的空白量返回可变数量的字符。

我想了多种方法来解决这个问题,但我只是不知道该怎么做,而且我在网上找不到答案。起初,我有一个想法,只是在整个状态行下划线,但我不知道该怎么做。

现在我添加可变数量字符的想法是不同的,我想定义一个函数,它使用正则表达式来读取状态行文本并用可变数量的字符替换该行,这些字符完全适合给定的空白。

我不知道该怎么做,我将不胜感激。此外,我还想让状态栏的某个元素根据我的光标所在的缓冲区改变颜色,这样更容易找到正确的窗口,我也找不到这样做的方法和指针正确的方向将不胜感激。

0 投票
1 回答
495 浏览

vim - 检测缓冲区是否在状态行的非活动窗口中

我的 vimrc 根据它是只读的还是修改的,将状态行中的缓冲区编号设置为不同的颜色背景。

如果缓冲区不在活动窗口中,我还想设置不同的颜色(在拆分窗口模式下很有用)。

我正在使用&modand&readonly来检测已修改或只读。如何检查缓冲区是否在活动窗口中?(即如果窗口处于非活动状态,可能会将其更改为灰色)。

这是我用于只读和修改的代码:

0 投票
1 回答
68 浏览

vim - 为什么更改颜色方案后状态线缺少颜色?

我的 vimrc 贴在底部。
我没有使用任何与状态栏相关的插件。
该文件可以正常工作。
但是当我通过命令行更改颜色方案时,例如 ":colorscheme night"状态行
缺少颜色。
资源 vimrc 可以修复 bug,例如 ":source $HOME_vimrc"。
在 windows10 和 Debian 测试中也发生了同样的错误。

它是一个错误吗?

0 投票
1 回答
25 浏览

if-statement - 如果输出是数字,我怎样才能使这个有条件的返回值?

我正在为我的 vim-statusline 制作这个功能:

git checkout | grep -oP "(\M+)" -c专门制作了这个命令,只返回一些未提交的更改(这就是我使用 grep 的原因)。

所以基本上,如果我在一个 git 存储库的位置并且我在 shell 上键入命令,它会返回“0”、“1”等等,这取决于我有多少未提交的更改。

但是,如果我在不是 git 存储库的位置键入它,它会返回如下内容:

fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). 0

所以,在函数的这一行:if (uncommited == number),我需要一个条件来显示一些如果命令的输出是数字的,“else”是用于当它不是数字的时候(就像我上面放的“致命”输出) . 但我不知道如何使这个有条件。

0 投票
1 回答
33 浏览

vim - vim 状态行不会改变模式文本

我自己写了一个简单的vim状态栏插件,只是在状态栏中添加颜色和模式,完成后一切顺利,但现在状态栏不会随着我切换模式而改变。我把脚本文件放在 ~/.vim/plugin/ 中 vim 版本是 7.4 巨大的我在虚拟 mathine 中使用 centos7 操作系统执行此操作这是我的代码: