起因是因为想用 which-key这个插件. 但是如果想要用这个就需要为每一个快捷键添加一个描述. 每次添加快捷键需要用两行代码:
nnoremap <silent> <leader>wd :close<CR>
let g:which_key_map.w.d = 'delete'
感觉十分不方便, 就想写一个函数.
function! keymap#nnore_leader_key_map(key_sequence, map, description) 
  let len = len(a:key_sequence)
  let index = 0
  let current_map = g:which_key_map
  echo current_map
  while index < len
    let key = a:key_sequence[index]
    if index < len -1
      """ 创建中间的节点
      if !has_key(current_map, key) 
        let current_map[key] = {}
      endif
      let current_map = current_map[key]
    else
      " 写入描述
      let current_map[key] = a:description
    endif
    
    let index = index + 1
  endwhile
  nnoremap <silent> "<leader>".key_sequence map
endfunction
前面都正常, 但是 nnoremap 命令不生效. 请问这里要怎么修改呢?
     1 
                    
                    Guaidaodl   OP 发现是自己理解有误, nnoremap 是命令, 应该先拼出命令再用 execute 就好了. 
                ``` let cmd = "nnoremap <silent> <leader>" . a:key_sequence . " " . a:map execute cmd ```  |