Speed up vim global search & replace and regen ctags after running
This commit is contained in:
		
							parent
							
								
									4dd5ea783c
								
							
						
					
					
						commit
						90df6cd8fb
					
				
							
								
								
									
										27
									
								
								vimrc
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								vimrc
									
									
									
									
									
								
							| 
						 | 
					@ -676,15 +676,15 @@ function! s:CompleteFilenameWithoutExtension(ArgLead, CmdLine, CursorPos)
 | 
				
			||||||
endfunction
 | 
					endfunction
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Custom command to open cpp and h files without typing an extension
 | 
					" Custom command to open cpp and h files without typing an extension
 | 
				
			||||||
"command! -nargs=+ -complete=custom,s:CompleteFilenameWithoutExtension OpenCppSource execute ':e <args>.cpp'
 | 
					"command! -nargs=+ -complete=custom,s:CompleteFilenameWithoutExtension "OpenCppSource exec ':e <args>.cpp'
 | 
				
			||||||
":ca c OpenCppSource
 | 
					":ca c OpenCppSource
 | 
				
			||||||
":ca C OpenCppSource
 | 
					":ca C OpenCppSource
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"command! -nargs=+ -complete=custom,s:CompleteFilenameWithoutExtension OpenCppHeader execute ':e <args>.h'
 | 
					"command! -nargs=+ -complete=custom,s:CompleteFilenameWithoutExtension "OpenCppHeader exec ':e <args>.h'
 | 
				
			||||||
":ca h OpenCppHeader
 | 
					":ca h OpenCppHeader
 | 
				
			||||||
":ca H OpenCppHeader
 | 
					":ca H OpenCppHeader
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"command! -nargs=+ -complete=custom,s:CompleteFilenameWithoutExtension OpenCppSourceAndHeader execute ':vsp | :e <args>.h | :sp <args>.cpp'
 | 
					"command! -nargs=+ -complete=custom,s:CompleteFilenameWithoutExtension "OpenCppSourceAndHeader exec ':vsp | :e <args>.h | :sp <args>.cpp'
 | 
				
			||||||
":ca b OpenCppSourceAndHeader
 | 
					":ca b OpenCppSourceAndHeader
 | 
				
			||||||
":ca B OpenCppSourceAndHeader
 | 
					":ca B OpenCppSourceAndHeader
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -929,8 +929,8 @@ set statusline=%<%f\ (%{&ft})\ %-4(%m%)%=%-19(%3l,%02c%03V%)
 | 
				
			||||||
" COLORS
 | 
					" COLORS
 | 
				
			||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
execute "autocmd ColorScheme " . g:campo_dark_theme . " call ReloadRainbow()"
 | 
					exec "autocmd ColorScheme " . g:campo_dark_theme . " call ReloadRainbow()"
 | 
				
			||||||
execute "autocmd ColorScheme " . g:campo_light_theme . " call ReloadRainbow()"
 | 
					exec "autocmd ColorScheme " . g:campo_light_theme . " call ReloadRainbow()"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Switch between light and dark themes.
 | 
					" Switch between light and dark themes.
 | 
				
			||||||
map <leader>l :call ChangeBgTheme('light', 0)<cr>
 | 
					map <leader>l :call ChangeBgTheme('light', 0)<cr>
 | 
				
			||||||
| 
						 | 
					@ -1020,7 +1020,7 @@ augroup END
 | 
				
			||||||
"################################################################
 | 
					"################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function! PrintError(msg) abort
 | 
					function! PrintError(msg) abort
 | 
				
			||||||
    execute 'normal! \<Esc>'
 | 
					    exec 'normal! \<Esc>'
 | 
				
			||||||
    echohl ErrorMsg
 | 
					    echohl ErrorMsg
 | 
				
			||||||
    echomsg a:msg
 | 
					    echomsg a:msg
 | 
				
			||||||
    echohl None
 | 
					    echohl None
 | 
				
			||||||
| 
						 | 
					@ -1149,6 +1149,15 @@ nnoremap <expr> p (&buftype is# "quickfix" ? "<CR>\|:copen<CR>" : "p")
 | 
				
			||||||
" SEARCH & REPLACE
 | 
					" SEARCH & REPLACE
 | 
				
			||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" argdo wrapper that will disable all events for read/save. This significantly
 | 
				
			||||||
 | 
					" speeds up GlobalReplaceIt().
 | 
				
			||||||
 | 
					command! -nargs=? Argdo call Argdo(<q-args>)
 | 
				
			||||||
 | 
					function! Argdo(command)
 | 
				
			||||||
 | 
					    set eventignore=all
 | 
				
			||||||
 | 
					    exec 'noautocmd argdo '. a:command . ' | update'
 | 
				
			||||||
 | 
					    set eventignore=
 | 
				
			||||||
 | 
					endfunction
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Replace the selected text in all files within the repo.
 | 
					" Replace the selected text in all files within the repo.
 | 
				
			||||||
function! GlobalReplaceIt(confirm_replacement)
 | 
					function! GlobalReplaceIt(confirm_replacement)
 | 
				
			||||||
    if exists(':Ggrep')
 | 
					    if exists(':Ggrep')
 | 
				
			||||||
| 
						 | 
					@ -1178,8 +1187,10 @@ function! GlobalReplaceIt(confirm_replacement)
 | 
				
			||||||
            let l:confirm_opt = 'e'
 | 
					            let l:confirm_opt = 'e'
 | 
				
			||||||
        endif
 | 
					        endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        execute 'Ggrep '.l:term
 | 
					        exec 'Ggrep '.l:term
 | 
				
			||||||
        execute 'Qargs | argdo %s/'.l:term.'/'.l:replacement.'/g'.l:confirm_opt
 | 
					        exec 'Qargs | Argdo %s/'.l:term.'/'.l:replacement.'/g'.l:confirm_opt
 | 
				
			||||||
 | 
					        " Regen ctags.
 | 
				
			||||||
 | 
					        call s:RunCtags()
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        PrintError "Unable to search since you're not in a git repo!"
 | 
					        PrintError "Unable to search since you're not in a git repo!"
 | 
				
			||||||
    endif
 | 
					    endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user