title: The vim statusline wouldn't change mode text
body: <p>I wrote a simple vim statusline plugin by my self, just add color and mode in the statusline, and after finishing it, it all went well, but now the statusline wouldn't change as I switch mode.
  And I put the script file in ~/.vim/plugin/
  The vim version is 7.4 Huge
  I did this in virtual mathine with a centos7 OS
  Here are my code:</p>
  <pre><code>hi NormalColor guifg=Black guibg=Green ctermbg=46 ctermfg=0
  hi InsertColor guifg=Black guibg=Cyan ctermbg=51 ctermfg=0
  hi ReplaceColor guifg=Black guibg=maroon1 ctermbg=165 ctermfg=0
  hi VisualColor guifg=Black guibg=Orange ctermbg=202 ctermfg=0
  hi DefaultColor guifg=Black guibg=Orange ctermbg=202 ctermfg=0
  hi DefaultLineColor guifg=Black guibg=Orange ctermbg=187 ctermfg=0
  
  let s:mode_map = {
  \   'n': '  NORMAL  ',
  \   'i': '  INSERT  ',
  \   'R': '  REPLACE  ',
  \   'v': '  VISUAL  ',
  \   'V': '  V-LINE  ',
  \   &quot;\&lt;C-v&gt;&quot;: '  V-BLOCK  ',
  \   'c': '  COMMAND  ',
  \   's': '  SELECT  ',
  \   'S': '  S-LINE  ',
  \   &quot;\&lt;C-s&gt;&quot;: '  S-BLOCK  ',
  \   't': '  TERMINAL '
  \ }
  
  let s:mode_color = {
  \    'n': '%#NormalColor#',
  \    'i': '%#InsertColor#',
  \    'R': '%#ReplaceColor#',
  \    'v': '%#VisualColor#',
  \    'V': '%#VisualLineColor#',
  \    &quot;\&lt;C-v&gt;&quot;: '%#VisualBlockColor#',
  \    'c': '%#CommandColor#',
  \    's': '%#SelectColor#',
  \    'S': '%#SelectLineColor#',
  \    &quot;\&lt;C-s&gt;&quot;: '%#SelectBlockColor#',
  \    't': '%#TerminalColor#'
  \ }
  let s:line_default_color = '%#DefaultLineColor#'
  let s:default_statusline_label = ' %f %M %y%=%3l/%-5L %p%% '
  
  function! SetDefaultStatuslineLabel()
      return ' %f %M %y%=%3l/%-5L %p%% '
  endfunction
  
  function! GetModeName()
      return get(s:mode_map, mode(), '')
  endfunction
  
  function! GetModeColor()
      return get(s:mode_color, mode(), 'DefaultColor')
  endfunction
  
  let s:mode_partition = GetModeColor().GetModeName()
  function! ConcatAll()
      return s:mode_partition.
      \   s:line_default_color.
      \   s:default_statusline_label
  endfunction
  
  &quot; set statusline=%!ConcatAll()
  augroup Statusline
      autocmd!
      autocmd VimEnter,WinEnter,BufWinEnter * set statusline=%!ConcatAll()
  augroup END
  </code></pre>