Vim 根據時間動態切換顏色主題


建立時間: 2024年6月6日 08:58
更新時間: 2024年6月11日 09:02

說明

在閱讀《精通 vi 與 Vim 第八版》時,我發現了一個相當不錯的腳本,它可以根據當前時間自動切換顏色主題。這不僅可以讓你的編輯環境更加個性化,還能提高在不同時間段的舒適度。

腳本

~/.vim/autoload/myplugin/dynamic_colorscheme.vim

function myplugin#dynamic_colorscheme#SetTimeOfDayColors()
    " currentHour will be 0, 1, 2, or 3
    let l:favorite_colorschemes = ["darkblue", "morning", "shine", "evening"]
    let l:current_hour = strftime("%H") / 6
    let l:favorite_colorscheme = l:favorite_colorschemes[l:current_hour]

    if !exists("g:my_variable")
        execute "colorscheme " . l:favorite_colorscheme

        return
    endif

    if  g:colors_name !~ l:favorite_colorscheme
        execute "colorscheme " . l:favorite_colorscheme
        echo "execute " "colorscheme " . l:favorite_colorscheme
        redraw!
    endif
endfunction

我稍微修改了腳本,把全域變數改成區域變數,把腳本放在 autoload 裡面,使用 autoload 的方式調用函式。

使用方法

方法1

啟動 vim 時調用一次 myplugin#dynamic_colorscheme#SetTimeOfDayColors()

缺點是沒辦法及時更新。

.vimrc

call myplugin#dynamic_colorscheme#SetTimeOfDayColors()

方法2

在每次狀態列更新時調用 myplugin#dynamic_colorscheme#SetTimeOfDayColors()

.vimrc

set statusline +=\ %{myplugin#dynamic_colorscheme#SetTimeOfDayColors()}

參考

觀看次數: 36
colorcolorschemedynamicscriptvim動態顏色顏色主題主題
按讚追蹤 Enjoy 軟體 Facebook 粉絲專頁
每週分享資訊技術

一杯咖啡的力量,勝過千言萬語的感謝。

支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!