I can execute the following command and then enter "@:" to repeat the command.  
    
    
    
    
  
  This works fine.
  :windo silent/foo/|wincmd w
  @:
  However, when I execute the same command within a function, "@:" displays an
  error message saying there is no  previous command.
  How can I get the command within the function to be registered as a command for "@:"?
  function! Find_In_Multiple_Windows(pattern)
    if !empty(a:pattern)
      execute ":windo silent /" . a:pattern . "/|wincmd w"
    endif
  endfunction
  nnoremap <silent>fw :call Find_In_Multiple_Windows(input("Search for: "))<CR>
  fw
  Search for: foo
  @:
  E30: No previous command line  Note: Also posted on stackoverflow, but no responses so far.
  
No comments:
Post a Comment