在我的.vimrc中,如何检查配色方案的存在?

问题描述

| 在“ 0”中,是否可以加载仅存在的配色方案?     

解决方法

如果只想在存在时尝试加载exists1ѭ(如果Randy这样做的话),则只需要加载它就可以了。如果您对其他部分不感兴趣,则只需一个
:silent! colorscheme
就足够了。 否则,
globpath()
是必经之路。然后,如果确实愿意,可以检查以
filereadable()
返回的每个路径。
\" {rtp}/autoload/has.vim
function! has#colorscheme(name) abort
    let pat = \'colors/\'.a:name.\'.vim\'
    return !empty(globpath(&rtp,pat))
endfunction

\" .vimrc
if has#colorscheme(\'desert\')
     ...
编辑:
filereadable($HOME.\'/.vim/colors/\'.name.\'.vim\')
看起来很简单,而且绝对有吸引力,但是如果我们要寻找的色彩设计在其他地方,这还不够。通常情况下,如果有插件管理器,它是否已安装在另一个目录中。在这种情况下,唯一可靠的方法是检入vim
\'runtimepath\'
(又名
\'rtp\'
)。因此
globpath()
。注意,
:colorscheme name
命令在in11ѭ中搜索。     ,@eckes答案的替代方法是尝试加载colorscheme并处理错误(如果不存在):
try
    colorscheme mayormaynotexist
catch /^Vim\\%((\\a\\+)\\)\\=:E185/
    \" deal with it
endtry
    ,您可以使用
filereadable
函数来检查是否存在配色方案(例如
schemename
):在
~/vimfiles/colors
下检查一次(对于Win32,对于Unix使用
~/.vim/colors/
),然后在ѭ17under下检查一次:
if filereadable(\"/path/to/schemename.vim\")
  colo schemename
endif
    ,我的方法很相似
if filereadable( expand(\"$HOME/.vim/colors/railscast.vim\") )
    colorscheme railscast
endif
这比对整个路径进行硬编码要强一些。     ,通常,如果没有我的收藏夹,我会使用带有后备选项的收藏夹
colorscheme
。嵌套的
try
可以完成以下工作:
try 
  colorscheme solarized
  catch
  try 
    colorscheme peachpuff
    catch
  endtry
endtry
如果ѭ20都不可用,则将加载默认的(20(无论系统上发生了什么)。如果没有一种或两种颜色方案,则不会显示任何错误。首先输入您喜欢的20英镑。 另外,不带参数的
catch
会捕获任何错误。如果您要处理给出不同错误消息的不同语言环境,这将很方便。     ,这是我in0文件中的wat。
if filereadable( expand(\"$HOME/.vim/colors/sublimemonokai.vim\") )
    colorscheme sublimemonokai \"https://github.com/ErichDonGubler/vim-sublime-monokai

    \" vim-sublime-monokai only support 256 colours in terminal. If you are using a terminal which support truecolor like iterm2,enable the GUI color
    set termguicolors

    \" Otherwise,use below setting to activate the 256 color in terminal
    set t_Co=256
else
    echom \"The sublimemonokai.vim were not found to be used as colorscheme. elflord will be set for the timebeing...\"
    colorscheme elflord
endif
基本上,它会检查机器上是否存在我喜欢的配色方案。如果是这样,它将选择它并应用所有必要的设置。否则,它将选择vim随附的合适的配色方案。 通过查看其他答案,我的答案与@ user427390答案共享一部分,它还具有其他条件。 以下链接对我编写自己的
.vimrc
和vim相关文件很有帮助: http://learnvimscriptthehardway.stevelosh.com/     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...