【发布时间】:2009-11-30 21:47:10
【问题描述】:
我刚刚创建了我的第一个 VIM 脚本,我用 Python 编写了它。这是一个从目录 (/vim/etc/colors) 切换配色方案的简单脚本。我想知道在颜色方案更改为所选颜色方案的名称后如何发送通知到vim'statusline'。
rson 回答了我的问题,这是脚本的更新(和调试)版本,供感兴趣的人使用(就我可以测试而言,工作正常)
已实施(某种)AI 和 Caleb 的建议,谢谢!:
" toggleColorScheme 0.9 (l) 2009 by Jasper Poppe <jpoppe@ebay.com>
" cycle through colorschemes with F8 and Shift+F8
nnoremap <silent><F8> :call ToggleColorScheme("1")<CR>
nnoremap <silent><s-F8> :call ToggleColorScheme("-1")<CR>
" set directory with color schemes to cycle through
let g:Toggle_Color_Scheme_Path = "/etc/vim/colors"
function! ToggleColorScheme(paramater)
python << endpython
import vim
import os
paramater = (vim.eval('a:paramater'))
scheme_path = vim.eval('g:Toggle_Color_Scheme_Path')
colorschemes = [color.split('.')[0] for color in os.listdir(scheme_path) if color.endswith('.vim')]
colorschemes.sort()
if not vars().has_key('position'):
start_scheme = vim.eval('g:colors_name') + '.vim'
if start_scheme in colorschemes:
position = colorschemes.index(start_scheme)
else:
position = 0
position += int(paramater)
position %= len(colorschemes)
vim.command('colorscheme %s' % colorschemes[position])
vim.command('redraw | echo "%s"' % colorschemes[position])
vim.command('return 1')
endpython
endfunction
【问题讨论】:
标签: python vim scripting color-scheme