我有一个简单的要求:我想显示我正在编辑的缓冲区的编号.我不想输入:buffers
(或等效)但是这个号码会显示在我的状态栏中,还有文件名,当前列信息等.
有没有办法做到这一点?在这一点上,内置帮助并不是很有启发性.
我正在使用Vim和MiniBufExplorer.
如何隐藏MBE窗口的状态行?我已经尝试了设置laststatus(0,1,2)的每个排列,但我得到的最好的是状态行消失在gVim窗口的底部,但仍然在MiniBufExplorer窗口下面的顶部附近.
我希望状态行仅存在于gVim窗口底部附近.
有帮助吗?谢谢!
大约一年前我已经从Textmate切换到Vim,所以我沉浸在关于Vim的书籍,截屏和论坛中,以及人们如何定制他们.vimrc
的.
我不再是初学者了,但是我绝不是一个高级或中级用户,当我觉得以有效的方式使用Vim时我很舒服.
这是一个问题:
如何获取vim状态栏以显示正在使用哪个Javascript库/框架?显然最流行的有jQuery,Prototype,YUI2/3,Dojo等.
也许这只是一个微不足道的事情,有些人可能会认为通过查看代码,您可能能够找到正在使用的库.但是,出于同样的原因,人们有git
,hg
,rvm
,tags
,cwd
在他们的状态行显示,我希望看到我的状态行.
这是一个我无法找到答案的Vim问题.什么是%V
状态行变量呢?
我检查了我可以找到的文档,但它不是很清楚,我知道它显示了虚拟列,但是这些数字/字母在-
均值之前是什么?
例如,以下各项是什么意思?
0-1
17-18
Run Code Online (Sandbox Code Playgroud)
从我可以管理的内容中,找到这些例子.前面的数字-
是最后一个实心列,换句话说就是真实列.它是否正确?
谢谢你的帮助!
我一直这样做:
编辑一个文件,回到终端并执行我正在写的脚本......只是意识到我还没有把它写到磁盘上.
我怎么做到这样,只要文件不成文,vim就会在我的眼睛里大喊大叫?那个微小的[+]还不够好.理想情况下,我想增加显示的红色加号的数量,或者更激烈的东西.
对于实例,我正在使用powerline(纯粹是为了试图获得更明显的'文件已被修改'通知程序).我认为,如果文件尚未保存,条形图底部的主要颜色会发生变化,这将非常棒.
有任何想法吗?
我需要一种简单(或复杂)的方法来确定用户所处的模式.我需要知道用户是否处于Normal,Insert,Visual,Replace,Change等.
我知道这个mode()
功能,但我无法弄清楚如何输出一个完整的字符串而不是一个字符.
我的计划是创建一个函数,根据mode()
返回的字符串动态更改状态行的背景和前景颜色.基本上是一个函数与一堆ifs和elseifs,它会为我做.但是这种方法存在一个缺陷,我无法知道默认情况下主题设置的颜色.
所以基本上,我需要一些关于如何创建执行以下功能的提示/帮助:
fg
和bg
值设置一些变量,这些变量反映当前主题为它们设置的内容.我尝试过这样做,但这是一种非常粗暴的做法,它根本不起作用.它只设置一次颜色,之后每次更改都没有反应.
谢谢你的帮助!:)
编辑:
非常确定我之前尝试的不起作用是这样的:
function! StatuslineModeColor()
let s:StatuslineMode=mode()
if s:StatuslineMode == 'n'
hi Statusline ctermbg=blue guibg=blue
elseif s:StatuslineMode == 'i'
hi Statusline ctermbg=red guibg=red
endif
endfunc
Run Code Online (Sandbox Code Playgroud)
在状态栏中,我提出以下内容:
let &stl.='%{StatuslineModeColor()}'
Run Code Online (Sandbox Code Playgroud)
编辑2:
我已经弄清楚,基本上我需要做的是找到一种方法来抓住主题之前使用的任何颜色.如果我使用这个解决方案,那就是:http://www.reddit.com/r/vim/comments/gexi6/a_smarter_statusline_code_in_comments/c1n2oo5
然而,这个解决方案在我的标准中并不理想,因为它不干净,或者尽可能干净,因为它会造成很多混乱.:/
我需要这个才能完成我正在制作的插件,以便根据模式更改状态行的颜色.
但是我遇到了一个明显的问题,我怎么知道用户使用的是什么主题?即使我知道我不能为每个主题制作特定的颜色.
因此,如何知道当前主题用于状态行的前景色和背景色.
编辑1:
如果我不清楚,我正在寻找一种方法来找出ctermfg
/ bg
和guifg
/ bg
某些东西.现在是状态线.:)
编辑2:
显然,如果我这样做,:hi StatusLine
我得到了我需要的东西,但是我需要改进它以获得唯一的价值,而不是全部.我猜我必须使用一些正则表达式来找出价值.如果有人知道更简单的方法,请分享它(或者如果你已经用正则表达式弄明白的话).谢谢!
我想给Quick Fix窗口提供一个与其他所有窗口不同的状态行.
我希望它有:
set statusline=\ %n\ \ %f%=%L\ lines\
Run Code Online (Sandbox Code Playgroud)
当我在快速修复窗口中时,我可以使用:setlocal,但是如果在我的.vimrc中我可以使它具有不同的状态行?
我是 tmux 的新手,也不是 VIM 专家,这些天我尝试使用 tmux,但是当我在 tmux 中使用 vim 时,似乎航空公司消失了。我想向您展示屏幕截图,希望任何人都可以帮助我解决这个问题。