您认为您已经掌握了Vim吗?您知道所有命令吗?使用Vim变得无聊和平庸吗?您是否渴望寻找如何退出Vim的激动人心的新日子?
然后升级您的Vim,以达到更高的Vim掌握水平!就像使用:VimLevelUp
!一样简单!
fun! s:level_up()
let l:all_mappings = []
for k in range(33, 123) + [125, 126, 127]
let l:all_mappings += [nr2char(l:k), '<C-' . nr2char(l:k) . '>']
endfor
let l:all_mappings += ['<Bar>', '<Left>', '<Right>', '<Up>', '<Down>']
let l:all_mappings += ['<C-Bar>', '<C-Left>', '<C-Right>', '<C-Up>', '<C-Down>']
let l:all_mappings += ['<S-Bar>', '<S-Left>', '<S-Right>', '<S-Up>', '<S-Down>']
for i in range(1, 12)
let l:all_mappings += ['<F' . l:i . '>', '<C-F' . l:i . '>', '<S-F' . l:i . '>']
endfor
let l:random = map(systemlist('seq 0 ' . (len(l:all_mappings)-1) . ' | shuf'), 'str2nr(v:val)')
for i in range(0, len(l:all_mappings)-1)
execute 'nnoremap ' . l:all_mappings[i] . ' ' . l:all_mappings[l:random[i]]
endfor
echo "Welcome to level 2"
endfun
command! VimLevelUp :call s:level_up()
这样可以保证为您提供一种新的方式来体验Vim和无尽的乐趣!
(注意:使用seq
和shuf
-可以使用将其移植到BSD和OSX jot
)。