生成、客製化和管理 Vim 配色方案
目前,該儲存庫僅包含我能夠使用 downloadVimColorSchemes.sh 腳本從 www.vim.org 網站下載的所有 Vim 配色方案。
有兩個與此 Vim 實用程式相關的主要功能:配色方案文件蒸餾(請參閱 distill.vim 腳本)和配色方案文件檢視(請參閱:viewer.vim 腳本)。
蒸餾配色方案文件是透過處理現有配色方案文件產生的配色方案文件。該處理執行以下操作:
它消除了那些多餘的突出顯示組聲明,
它消除了那些冗餘的群組屬性,
產生標準註解標題和初始 VimL 代碼:
set background= 'light' or 'dark'
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = expand(":t:r")
輸出針對特定 GVim 和 Vim 配置的突出顯示組定義:
if has("gui_running")
" highlights for GVim
elseif &t_Co == 256
" highlights for 256 color Xterm Vim
elseif &t_Co == 88
" highlights for 88 urvxt color Vim
elseif &t_Co == 16
" highlights for 16 color Xterm Vim
else " &t_Co == 8
" highlights for 8 color Xterm Vim
endif
它消除了冗餘的連結定義,
背景顏色設定主要取決於正常背景值,而不是顏色方案檔案所說的內容(因為它們有時會撒謊)。
在適當的時候產生同一基色方案檔案的「深色」和「淺色」版本。
配色方案檢視器可用於檢視位於「colors」目錄中的配色方案檔案。此「審查」包括查看使用所選配色方案顯示的測試文件。人們可以輕鬆切換要使用的測試檔案(目前有 c、pl、java、scala、tex 和 html 的測試檔案)和顏色方案。
使用上面提到的 vim_color_schemes_downloader bash 腳本,我能夠識別一些 687 個配色方案檔案(儘管可能有一些重複 - bash 腳本唯一識別啟發式非常簡單)。然後使用 distill.vim 腳本,從 Xterm(cterm 配置)和 GVim(gui 配置)中的 Vim 運行它,它生成了以下數量的配色方案檔案:
沒有人聲稱它們都是獨一無二的,或者(至少目前)所有深色的實際上都有深色背景,所有淺色都有淺色背景。但是,distill.vim 腳本確實採用了大部分為 GVim 編寫的原始配色方案文件,並為 Vim 生成了類似的配色方案文件。
少數原始配色方案檔案具有 VimL 程式碼,專門禁止使用者在未執行 GVim(或視情況而定,Vim)的情況下使用它們。有一小部分剛剛損壞(我嘗試修復它們並在此處簽入更正的版本)。
無論如何,我相信這是最大的 Vim 配色方案文件集合。
viewer.vim 腳本讓人們可以快速、輕鬆地查看應用不同配色方案的不同文件類型的文件。
在plugin/colorschemer.vim 檔案中定義了一個映射
cv
這將彈出一個對話框,可以從中啟動所有不同的檢視器。請注意,除非在自己的電腦上執行 distill.vim 腳本,否則 ViewerDistilledDark 和 ViewerDistilledLight 將不會運行 - 目錄中沒有配色方案文件
data/colorschemer/distill
使用檢視器可以看到的範例影像位於影像目錄中。
可從 www.vim.org 下載 {ColorSchemer} 庫的 zip 快照
在你的 Vim 主目錄(通常是 Unix 中的 $HOME/.vim)中,解壓縮檔:
# cd $HOME/.vim
# unzip colorschemer.zip
在 Windows 系統上,vim 主目錄通常是 $HOME/vimfiles。
TODO how to unpack on Windows?
{ColorSchemer} 也可以透過 github 取得。人們可以從 github 下載一個版本並提取內容。
如果身為開發人員,希望在出現時進行修復,可以複製 github {ColorSchemer} 儲存庫,並在出現更新時將檔案複製到您的 Vim 主位置。
Vim 有許多第三方外掛程式管理器。如果您正在使用,您可以將其配置為自動下載並安裝 {ColorSchemer}。 TODO 如何使用 VAM 插件管理器
Forms 依賴 Self Library,一個基於原型的物件系統:VIM 或 GitHub,以及 VIM 或 GitHub 上的 Forms 函式庫
解壓縮後,ColorSchemer 目錄佈局應如下所示:
$HOME/.vim/
autoload/
colorschemer/
distill.vim
" generate distilled color scheme files
util.vim
viewer.vim
" view test files with their syntax allowing for
" very quick toggling through color schemes
data/
" data that persists between invocations of a plugin
colorschemer/
" colorschemer data
colors/
" source Vim color scheme files (some 688 of them!)
distilled/
" target directory for files generated by distill.vim
distilled.cterm/
" generated using distill.vim in Vim
distilled.gui/
" generated using distill.vim in GVim
test/
" test source files (c, pl, java, scala, tex, html)
" users can add addition ones
doc/
colorschemer.txt
plugin/
colorschemer.vim
有關 vim-addon-manager 的更多信息,請參閱 vim-addon-manager 和 Vim-addon-manager 入門
在您的 .vimrc 中,加入 self ,如下所示:
fun SetupVAM()
...
let g:vim_addon_manager = {}
let g:vim_addon_manager.plugin_sources = {}
....
let g:vim_addon_manager.plugin_sources['self'] = {'type': 'git', 'url': 'git://github.com/megaannum/self'}
let g:vim_addon_manager.plugin_sources['forms'] = {'type': 'git', 'url': 'git://github.com/megaannum/forms'}
let g:vim_addon_manager.plugin_sources['colorschemer'] = {'type': 'git', 'url': 'git://github.com/megaannum/colorschemer'}
let plugins = [
'self',
'forms',
'colorschemer'
]
call vam#ActivateAddons(plugins,{'auto_install' : 0})
...
endf
call SetupVAM()
現在啟動 Vim。 vim-addon-manager 會詢問您是否要下載並安裝 self 外掛程式(無依賴項)。
我不使用病原體。歡迎提供範例用法。
在 colorchemer 的插件目錄中有一個映射,它將彈出一個表單,允許人們查看該實用程式以及系統上其他位置可用的各種配色方案檔案。
nmap cv :call colorschemer#viewer#ViewerForm()
各種查看器也可以透過以下命令執行。
對於使用 Vim 產生的蒸餾配色方案
call colorschemer#viewer#ViewerDistilledCtermDark()
call colorschemer#viewer#ViewerDistilledCtermLight()
對於使用 GVim 產生的蒸餾配色方案
call colorschemer#viewer#ViewerDistilledGuiDark()
call colorschemer#viewer#ViewerDistilledGuiLight()
對於最終用戶生成的新的蒸餾配色方案
call colorschemer#viewer#ViewerDistilledDark()
call colorschemer#viewer#ViewerDistilledLight()
對於在使用者的 $HOME/.vim/colors 或 $HOME/vimfiles/colors 中找到的配色方案
call colorschemer#viewer#ViewerHomeColors()
瀏覽本機目錄以尋找要查看的“colors”目錄
call colorschemer#viewer#ViewerBrowse()
若要存取上述任何配色方案檢視選項,請使用:
call colorschemer#viewer#ViewerForm()
應該在任何 Forms 工作的地方工作。
尚無可用。
還沒有。