问题标签 [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 回答
3577 浏览

vim - Vim: 状态栏 '%V' 是如何工作的?

这是一个我无法找到答案的 Vim 问题。statusline 变量有什么作用%V

我检查了我能找到的文档,但不是很清楚,我知道它显示了虚拟列,但是前面的数字/字母-是什么意思?

例如,以下各项的含义是什么?

等等。在我能管理的范围内,同时找到这些例子。之前的数字-是最后一个实心列,换句话说就是实列。这个对吗?

谢谢你的帮助!

0 投票
1 回答
4938 浏览

vim - Vim:如何检测用户所处的模式,用于状态行?

我需要一种简单(或复杂)的方法来确定用户所处的模式。我需要知道用户是否处于正常、插入、可视、替换、更改等状态。

我知道这个mode()函数,但是我不知道如何让它输出一个完整的字符串而不是一个字符。

mode()我的计划是创建一个函数,根据返回的字符串动态更改状态行的背景和前景色。基本上是一个带有一堆 ifs 和 elseifs 的函数,可以为我做这件事。但是这种方法有一个缺陷,我不知道默认情况下主题设置是哪种颜色。

所以基本上,我需要一些关于如何制作执行以下功能的提示/帮助:

  • 知道用户处于哪种模式。每次更改时,其余功能都会做出不同的反应。
  • fg使用和值设置一些变量,这些变量bg反映了当前主题为它们设置的内容。
  • 根据这些值更改状态行的前景和背景。

我试过这样做,但这是一种非常粗暴的做法,根本不起作用。它只设置了一次颜色,之后每次更改时它都没有反应。

谢谢你的帮助!:)

编辑:

很确定我之前尝试过的没有奏效是这样的:

在状态行中,我输入了以下内容:

编辑2:

我发现基本上我需要做的是找到一种方法来获取主题之前使用的任何颜色。那就是如果我使用这个解决方案:http ://www.reddit.com/r/vim/comments/gexi6/a_smarter_statusline_code_in_comments/c1n2oo5

然而,这个解决方案在我的标准中并不理想,因为它不干净,或者因为它造成了很多混乱,所以尽可能干净。:/

0 投票
2 回答
1495 浏览

vim - 如何找出当前颜色方案用于某些东西的某个颜色值?

我需要这个来完成我正在制作的插件,以便根据模式更改状态行的颜色。

但是我遇到了一个明显的问题,我怎么知道用户正在使用什么主题?即使我知道我不能为每个主题制作特定的颜色。

因此,例如,如何知道当前主题用于状态行的前景色和背景色。

编辑1:

如果我不清楚,我正在寻找一种方法来找出某些东西的ctermfg/bgguifg/ bg。现在是状态栏。:)

编辑2:

显然,如果我这样做:hi StatusLine了,我会得到我需要的东西,但是我需要对其进行改进以仅获得价值,而不是全部。猜猜我将不得不使用一些正则表达式来找出价值。如果有人知道更简单的方法,请分享它(或者如果你已经用正则表达式弄清楚了)。谢谢!

0 投票
2 回答
2765 浏览

vim - 如何在终端 Vim 中获得透明状态行?

我在 Ubuntu 的默认终端中使用Vim。我想让状态行背景颜色透明,即成为 Ubuntu 终端背景的颜色。

我尝试将其添加到我的 vimrc 中:

也试过:

两者都没有任何效果。但是,如果我尝试任何命名颜色,例如red,它可以工作。

有什么方法可以使终端 Vim 中的状态行背景透明?

0 投票
1 回答
1029 浏览

vim - 如何合并vim命令行和状态行

在 vim 中,命令行总是在底部。以上是状态行(如果显示)。

状态行可以形成强大的。这很酷,但浪费了一条线。

所以,这是我的问题:我可以将状态行合并到命令行(不使用标尺):

  • 正常模式。显示状态行
  • 命令键入。替换为(或切换到)命令行和标尺显示。
0 投票
1 回答
732 浏览

vim - 如何从右侧截断 Vim 'statusline' 字段?

我正在尝试设置这样的快速修复窗口的“状态线”选项:

setlocal statusline=%t%.66{'\ '.w:quickfix_title}%=\ %11.(%c,%l/%L\ %P%)

但当字段%.66{'\ '.w:quickfix_title}长度超过 66 个字符时,其左侧默认被截断。我希望它被正确截断,以便我可以看到该字段的开头。

(我注意到 Vim%<也提供了从左手截断的功能。但是没有%>对应的。)

0 投票
1 回答
669 浏览

vim - 在状态行显示当前列

如何在状态行显示当前列?

阅读后:h statusline我发现%c它看起来很有希望,但它计算的是字节而不是字符。我想用字符分隔列,而不是字节。%v如果没有使用标签,则可以使用。这里有一个例子:

我想显示第一行中指示的数字。以下适用于第一列到第三列,直到选项卡发挥作用。

以下仅适用于第一行,但不适用于第二行。

鉴于上述示例 vim 显示5光标是否位于第一行的数字5上,这就是我想要的。如果我向下移动一行,使光标位于µ我也想显示的位置上5,则%c 显示9%v取决于tabstop.

0 投票
1 回答
938 浏览

vim - 隐藏 MiniBufExplorer 的灯光线

有没有办法不显示某些窗口的状态行(我正在使用lightline) - MiniBufExplorer 或 NERDTree ?

MiniBufExplorer 的状态行

0 投票
2 回答
580 浏览

vim - Vim 的 InsertLeave 滞后

我有这些行.vimrc来更改 Vim 插入模式的状态行颜色。StatusLine 对InsertEnter. 然而,对于InsertLeave,有大约。StatusLine的消失--INSERT--和颜色变化之间有 1 秒的延迟。我可以在这方面得到一些帮助吗?

我试过:au Insertleave了,只显示一个命令:

任何帮助表示赞赏。

谢谢

0 投票
1 回答
126 浏览

vim - 如果当前文件没有 utf8 文件编码,如何更改状态行的颜色?

如果文件没有 utf8编码,我想在状态行中实现不同的颜色。

这是我现在使用的:

这就是我想要实现的:

为什么这不起作用?