filetype off "required "set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() "alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') "let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' Plugin 'rizzatti/funcoo.vim' "Hardtime helps you break that annoying habit vimmers have of scrolling up and down the page using jjjjj and kkkkk but "without compromising the rest of our vim experience. "Plugin 'takac/vim-hardtime' "replace this plugin by https://github.com/shime/vim-livedown is allow to "add image Plugin 'suan/vim-instant-markdown' "npm install -g livedown "Plugin 'shime/vim-livedown' Plugin 'ragtag.vim' "CTAGS "https://gist.github.com/nazgob/1570678 "brew install ctags "alias ctags="`brew --prefix`/bin/ctags" Plugin 'romainl/ctags-patterns-for-javascript' "Plugin 'AshleyF/VimSpeak' "highlight a word Plugin 'vasconcelloslf/vim-interestingwords' "ascii art Plugin 'fadein/vim-FIGlet' "css Plugin 'rstacruz/vim-ultisnips-css' Plugin 'gorodinskiy/vim-coloresque' Plugin 'wavded/vim-stylus' "auto complete " Track the engine. Plugin 'SirVer/ultisnips' " Snippets are separated from the engine. Add this if you want them: Plugin 'honza/vim-snippets' "syntax Plugin 'tmhedberg/matchit' Plugin 'Townk/vim-autoclose' Plugin 'tpope/vim-obsession' Plugin 'tpope/vim-surround' "Plugin 'bling/vim-airline' Plugin 'vim-airline/vim-airline' Plugin 'vim-airline/vim-airline-themes' "html "Plugin 'tristen/vim-sparkup' Plugin 'mattn/emmet-vim' "javascripts Plugin 'marijnh/tern_for_vim' "install tern " help for the symtax color Plugin 'jelera/vim-javascript-syntax' Plugin 'othree/javascript-libraries-syntax.vim' Plugin 'pangloss/vim-javascript' " Plugin 'burnettk/vim-angular' Plugin 'Valloric/MatchTagAlways' Plugin 'HerringtonDarkholme/yats.vim' " -------------------------------------------- REACT " https://jaxbot.me/articles/setting-up-vim-for-react-js-jsx-02-03-2015 " lint - https://drivy.engineering/setting-up-vim-for-react/ " install locally " yarn add eslint babel-eslint eslint-plugin-react prettier eslint-config-prettier eslint-plugin-prettier eslint-plugin-import stylelint eslint-config-airbnb eslint-plugin-jsx-a11y " install globaly: npm i -g eslint babel-eslint eslint-plugin-react prettier eslint-config-prettier eslint-plugin-prettier eslint-plugin-import stylelint eslint-config-airbnb eslint-plugin-jsx-a11y "//-------------------------------------------- Plugin 'mxw/vim-jsx' Plugin 'w0rp/ale' Plugin 'prettier/prettier' Plugin 'skywind3000/asyncrun.vim' " node Plugin 'moll/vim-node' " browser in terminal with synchronisation " doesn't work with python3 "Plugin 'jaxbot/browserlink.vim' Plugin 'scrooloose/nerdtree' "comment Plugin 'scrooloose/nerdcommenter' "Git Plugin 'airblade/vim-gitgutter' Plugin 'tpope/vim-fugitive' Plugin 'Xuyuanp/nerdtree-git-plugin' Plugin 'fugitive.vim' "file Plugin 'ctrlpvim/ctrlp.vim' Plugin 'tacahiroy/ctrlp-funky' "jade Plugin 'digitaltoad/vim-pug' "daltoad/vim-jade "visual increment a column visual-increment.vim - "use CTRL+A/X to create increasing sequence of numbers or letters via visual mode Plugin 'triglav/vim-visual-increment' "JSON Plugin 'elzr/vim-json' "write a gist file Plugin 'mattn/webapi-vim' Plugin 'mattn/gist-vim' "WordPress & PHP Plugin 'dsawardekar/wordpress.vim' Plugin 'StanAngeloff/php.vim' "open a word or a link in the browser Plugin 'tyru/open-browser.vim' "documentation Plugin 'keith/investigate.vim' "devdoc.io Plugin 'rhysd/devdocs.vim' "multi cursor Plugin 'terryma/vim-multiple-cursors' "Translate "Plugin 'iadept/vim-gtranslate' Plugin 'wellle/targets.vim' Plugin 'wincent/terminus' Plugin 'easymotion/vim-easymotion' Plugin 'godlygeek/tabular' "replace word in all project Plugin 'dkprice/vim-easygrep' "indent code Plugin 'nathanaelkane/vim-indent-guides' Plugin 'jparise/vim-graphql' Plugin 'RRethy/vim-illuminate' Plugin 'aperezdc/vim-template' "Plugin 'ajh17/VimCompletesMe' "rest client Plugin 'diepm/vim-rest-console' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required syntax on "CTAGS "https://github.com/craigemery/vim-autotag "Plugin 'craigemery/vim-autotag' "https://github.com/ludovicchabant/vim-gutentags "Plugin 'ludovicchabant/vim-gutentags' " "Arduino "Plugin '4Evergreen4/vim-hardy' " "https://github.com/xavierartot/spf13-vim/blob/3.0/.vimrc "set cursorline " Highlight current line "highlight clear SignColumn " SignColumn should match background "highlight clear LineNr " Current line number row will have same background color in relative mode "The system defined color schemes are located in $VIM/colors "to find the theme :echo $VIM in vim. colorscheme slate set background=dark "plugin indent code let g:indent_guides_enable_on_vim_startup = 0 autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=black autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=darkgrey ":help indent-guides "set cursorcolumn "set colorcolumn=121 "highlight ColorColumn ctermbg=red "call matchadd('ColorColumn', '\%121v', 100) set wrap set linebreak "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmodtempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At "vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, "no sea takimata sanctus est Lorem ipsum dolor sit amet. set expandtab set tabstop=2 set smarttab set shiftwidth=2 set autoread set autowrite set backupcopy=yes set backupdir=$HOME/.vim/backup set directory=~/.vim/backup set noswapfile set dir=~/.vim/tmp "set noswapfile "set nowritebackup "set nobackup "http://nathan-long.com/blog/vim-a-few-of-my-favorite-things/ if exists("&undodir") set undofile "Persistent undo! Pure money. let &undodir=&directory set undolevels=500 set undoreload=5000 endif if has("mouse") set mouse=a endif "set mouse+=a set mousehide set visualbell t_vb= set noerrorbells set novisualbell "set number set numberwidth=4 set relativenumber set number set showcmd set showmatch "search color set hlsearch hi Search ctermbg=Gray hi Search ctermfg=LightGray set incsearch set ignorecase set smartcase set laststatus=2 set showtabline=2 " Always display the tabline, even if there is only one tab set noshowmode " Hide the default mode text (e.g. -- INSERT -- below the statusline) "set statusline=\%L%m%r%h\ %w\ \ pwd:\ %r%{getcwd()}%h\ \%{fugitive#statusline()}\ \ Line:\ %l set clipboard=unnamed "font for vim-devicons set encoding=utf-8 "set guifont=Droid\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types:h11 set guifont=Bitstream\ Vera\ Sans\ Mono\ 10 set hidden set history=256 set matchtime=5 set modeline set report=0 set shell=bash set shortmess=atI set timeoutlen=250 "display all matching file when we tab complete set wildmenu set complete=.,w,b,u,t,i,kspell " http://sheerun.net/2014/03/21/how-to-boost-your-vim-productivity/ let mapleader = "\" " drag visual block "xnoremap xkP`[V`] "xnoremap xp`[V`] "xnoremap >gv "xnoremap "nnoremap "nnoremap "nnoremap "inoremap "inoremap "inoremap "inoremap " automatically jump to end of text you pasted: " i can paste multiple lines multiple times with simple ppppp. "xnoremap y y`] "xnoremap p p`] "nnoremap p p`] " pasting avoid to use p and o "nnoremap p :set paste"*p:set nopaste augroup ShowMode autocmd! autocmd InsertLeave * hi Cursor guibg=red autocmd InsertEnter * hi Cursor guibg=green augroup END augroup Automatic autocmd! " automatically jump to last known position in a file autocmd BufRead * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif " automatically reload vimrc when it's saved autocmd BufWritePost ~/.vimrc source % augroup END " nerdtree let NERDTreeShowBookmarks = 1 let NERDTreeWinSize = 22 let NERDTreeShowHidden = 1 "Smart way to move between windows map j map k map h map l map w "nnoremap n :NERDTreeToggle " powerline let g:Powerline_symbols = 'fancy' " https://www.reddit.com/r/vim/comments/2t4axi/open_a_less_file_without_the_extension/ autocmd FileType less setlocal suffixesadd=.less autocmd FileType scss setlocal suffixesadd=.scss autocmd BufNewFile,BufRead *.styl set filetype=stylus autocmd User Node if &filetype == "javascript" | setlocal expandtab | endif "https://github.com/honza/vim-snippets/issues/517 "augroup markdown "au BufNewFile,BufRead *.md,*.markdown,*.mmd UltiSnipsAddFiletypes markdown "augroup END "se deplace entre les fenetres nnoremap nnoremap nnoremap nnoremap " vim-airline let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 "let g:airline_symbols "let g:AirlineTheme = molokai " if !exists('g:airline_symbols') let g:airline_symbols = {} endif " unicode symbols let g:airline_left_sep = 'Β»' let g:airline_left_sep = 'β–Ά' let g:airline_right_sep = 'Β«' let g:airline_right_sep = 'β—€' let g:airline_symbols.crypt = 'πŸ”’' "let g:airline_symbols.linenr = '␊' "let g:airline_symbols.linenr = '␀' "let g:airline_symbols.linenr = 'ΒΆ' let g:airline_symbols.branch = 'βŽ‡' let g:airline_symbols.paste = 'ρ' let g:airline_symbols.paste = 'Þ' "let g:airline_symbols.paste = 'βˆ₯' "let g:airline_symbols.whitespace = 'Ξ' "display number buffer let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#tab_nr_type = 1 " tab number let g:airline#extensions#tabline#show_tab_nr = 1 let g:airline#extensions#tabline#formatter = 'default' let g:airline#extensions#tabline#buffer_nr_show = 1 let g:airline#extensions#tabline#fnametruncate = 16 let g:airline#extensions#tabline#fnamecollapse = 2 let g:airline#extensions#tabline#buffer_idx_mode = 1 "display number buffer "nmap 1 AirlineSelectTab1 "nmap 2 AirlineSelectTab2 "nmap 3 AirlineSelectTab3 "nmap 4 AirlineSelectTab4 "nmap 5 AirlineSelectTab5 "nmap 6 AirlineSelectTab6 "nmap 7 AirlineSelectTab7 "nmap 8 AirlineSelectTab8 "nmap 9 AirlineSelectTab9 "https://www.youtube.com/watch?v=XA2WjJbmmoM "search down into subfolders "provide tab completion for all file related tasks set path+=** " manage by tab "nmap tt :tabedit nmap tt :NERDTreeToggle nnoremap Z :bp nnoremap X :bn "nnoremap [ :bp "nnoremap ] :bn " historic back nnoremap - g; " historic forward nnoremap + g, " type w to save file (lot faster than :w): nnoremap w :w nnoremap q :bd "quit the windows no name nnoremap 1 :q "create the tags file (may need to install Ctags first) command! MakeTags !ctags -R . "Now we can: "use ctrl ] to jump to tag under cursor "use g + ctrl] for ambigus tag under cursor "use t] to jump back up the tag stack "MatchTagAlways let g:mta_use_matchparen_group = 1 let g:mta_filetypes = { 'ts' : 1, 'javascript' : 1,'html' : 1, 'xhtml' : 1, 'xml' : 1, 'jade': 1, 'pug' : 1, 'php' : 1, 'css' : 1, 'scss' : 1, 'less' : 1 } " visual mode nnoremap v nnoremap v nnoremap v V " Fix linewise visual selection of various text objects "nnoremap VV V "nmap Vit vitVkoj "nmap Vat vatV "nmap Vab vabV "nmap VaB vaBV nnoremap * :let stay_star_view = winsaveview()*:call winrestview(stay_star_view) "folding settings set foldmethod=manual set foldnestmax=10 "deepest fold is 10 levels "set foldlevel=1 "this is just what i use set foldcolumn=1 "set foldmethod=marker "FOLD set foldlevel=100 set foldopen=block,hor,mark,percent,quickfix,tag " what movements open folds "set foldlevelstart=0 " Space to toggle folds. "nnoremap za "vnoremap za " Make zO recursively open whatever fold we're in, even if it's partially open. "nnoremap zO zczO " "Focus" the current line. Basically: " " 1. Close all folds. " 2. Open just the folds containing the current line. " 3. Move the line to a little bit (15 lines) above the center of the screen. " 4. Pulse the cursor line. My eyes are bad. " " This mapping wipes out the z mark, which I never use. " " I use :sus for the rare times I want to actually background Vim. "nnoremap mzzMzvzz15`z:Pulse function! MyFoldText() " {{{ abort let line = getline(v:foldstart) let nucolwidth = &fdc + &number * &numberwidth let windowwidth = winwidth(0) - nucolwidth - 3 let foldedlinecount = v:foldend - v:foldstart " expand tabs into spaces let onetab = strpart(' ', 0, &tabstop) let line = substitute(line, '\t', onetab, 'g') let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount)) let fillcharcount = windowwidth - len(line) - len(foldedlinecount) return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' ' endfunction " }}} set foldtext=MyFoldText() "nnoremap w :w "map y :r! date +\%s "indent a json file nmap =j :%!python -m json.tool "count the match nnoremap c :%s///gn "Gist "let g:gist_use_password_in_gitconfig = 1 "mardown "let vim_markdown_preview_github=1 "let vim_markdown_preview_hotkey='' let g:instant_markdown_autostart = 1 "Ctrlp ignore folder let g:ctrlp_custom_ignore = 'dist\|node_modules\|DS_Store\|git' "let g:ctrlp_map = '' "use Shift + f or F open ctrlp "let g:ctrlp_cmd = 'CtrlP' " use Ctrlp command open ctrlp "if you want use leader t open a new tab "nnoremap t :tabnew nnoremap f :CtrlP "nnoremap b :CtrlPBuffer nnoremap m :CtrlPMRUFiles "nnoremap t :CtrlPTag "find a word; variables... nnoremap l :CtrlPLine "find a function definition nnoremap d :CtrlPFunky let g:ctrlp_show_hidden = 1 let g:vim_json_syntax_conceal = 0 "let g:github_token = 'f4c7b9e07a1b7775ba6f16f419b717317be7b3ef' "let g:langpair="ru" "let g:vtranslate="T" " Put at the very end of your .vimrc file. function! PhpSyntaxOverride() abort hi! def link phpDocTags phpDefine hi! def link phpDocParam phpType endfunction augroup phpSyntaxOverride autocmd! autocmd FileType php call PhpSyntaxOverride() augroup END if exists("g:loaded_webdevicons") call webdevicons#refresh() endif "Plugin javascript-libraries-syntax.vim let g:used_javascript_libs = 'jquery,react,flux,underscore,flux,d3,redux' " ---------------------------------------------------------------------------- " Filetypes " ---------------------------------------------------------------------------- " Treat .rss files as XML autocmd BufNewFile,BufRead *.rss setfiletype xml "" .md files are markdown files "autocmd BufNewFile,BufRead *.md setlocal ft=markdown " .twig files use HTML syntax " autocmd BufNewFile,BufRead *.twig setlocal ft=html " .jade files use Jade syntax autocmd BufNewFile,BufRead *.jade setlocal ft=pug "Highlights plugin, I changed the value directly in the plugin "line 223 nnoremap 2 :call InterestingWords('n') nnoremap 3 :call UncolorAllWords() nnoremap n :call WordNavigation('forward') nnoremap N :call WordNavigation('backward') let g:interestingWordsGUIColors = ['#aeee00', '#8cffba', '#b88853 ', '#ff9eb8 ', '#ff2c4b ', '#ffa724 '] let g:interestingWordsRandomiseColors = 1 " OPEN BROWSER " http://www.vim.org/scripts/script.php?script_id=3133 " Search word under cursor. "nmap o (openbrowser-search) " open in Google search nmap o (openbrowser-smart-search) vmap o (openbrowser-smart-search) "OPEN JAVASCRIPT DOCUMENTATION plugin investigate.vim "nnoremap z :call investigate#Investigate('n') "vnoremap z :call investigate#Investigate('v') nmap ` :TernDocBrowse "let g:investigate_url_for_js="https://developer.mozilla.org/fr/search?q=" "OPEN DOCUMENTATION plugin devdoc nmap z (devdocs-under-cursor) "open documentation only with react command! -nargs=* DevDocsReact call devdocs#open_doc(, 'react') command! -nargs=* DevDocsJavascript call devdocs#open_doc(, 'javascript') command! -nargs=* DevDocsSass call devdocs#open_doc(, 'sass') command! -nargs=* DevDocsGit call devdocs#open_doc(, 'git') command! -nargs=* DevDocsMarkdown call devdocs#open_doc(, 'markdown') command! -nargs=* DevDocsModernizr call devdocs#open_doc(, 'modernizr') command! -nargs=* DevDocsHtml call devdocs#open_doc(, 'html') command! -nargs=* DevDocsD3 call devdocs#open_doc(, 'd3') ""autocomplete "let g:UltiSnipsExpandTrigger = "" "inoremap pumvisible() ? "=UltiSnips#ExpandSnippetOrJump()" : "\" " If you want :UltiSnipsEdit to split your window. let g:UltiSnipsEditSplit="vertical" "name a dir let g:UltiSnipsSnippetsDir="~/.vim/bundle/vim-snippets/snippets" "let g:UltiSnipsSnippetDirectories=["snippets"] "Trigger configuration. Do not use if you use https://github.com/Valloric/YouCompleteMe. let g:UltiSnipsExpandTrigger="" let g:UltiSnipsJumpForwardTrigger="" let g:UltiSnipsJumpBackwardTrigger="" " autocompletion by langage: set omnifunc=syntaxcomplete#Complete autocmd FileType html set omnifunc=htmlcomplete#CompleteTags "autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType css set omnifunc=csscomplete#CompleteCSS " autocomplete Tern, work will with npm install jshint -g let g:tern_map_keys=1 let g:tern_show_argument_hints="on_hold" au FileType javascript call JavaScriptFold() let javascript_ignore_javaScriptdoc =1 " Next three lines are to enable C-Space to autocomplete, omnicomplete "http://lanyrd.com/2013/insert-mode-features-and-ternvim/schpdr/#link-rpxy inoremap imap smap "other mapping ":TernDef ":TernDocBrowse jump to the documentation "hardtime let g:list_of_normal_keys = ["h", "j", "k", "l", "-", "+", "", "", "", ""] let g:list_of_visual_keys = ["h", "j", "k", "l", "-", "+", "", "", "", ""] let g:list_of_insert_keys = ["", "", "", ""] "let g:list_of_disabled_keys = [] let g:hardtime_timeout = 1000 "2 sec let g:hardtime_showmsg = 1 let g:hardtime_default_on = 0 "Plugin 'fadein/vim-FIGlet' let g:filgetOpts = '/Library/Fonts' autocmd FileType html,css,javascript,jsx EmmetInstall let g:user_emmet_install_global = 0 "Note that the trailing , still needs to be entered, so the new keymap would be ,. let g:user_emmet_leader_key='' let g:user_emmet_settings = { \ 'javascript.jsx' : { \ 'extends' : 'jsx', \ }, \} "remap viB and vaB noremap vib viB noremap vab vaB "multi cursor pluggin "let g:multi_cursor_use_default_mapping=0 " Default mapping let g:multi_cursor_next_key='' "next let g:multi_cursor_prev_key='' "prev let g:multi_cursor_skip_key='' "skip let g:multi_cursor_quit_key='' "quit set nocompatible "LINT "React https://jaxbot.me/articles/setting-up-vim-for-react-js-jsx-02-03-2015 let g:jsx_ext_required = 0 " Allow JSX in normal JS files let g:ale_statusline_format = ['error', 'warning %d', ''] "g:syntastic_javascript_checkers = ['eslint'] let g:ale_linters = { \ 'javascript': ['stylelint', 'eslint'], \ 'css': ['stylelint'], \ 'scss': ['stylelint'], \} let g:ale_sign_error = '⚠️' "Less aggressive than the default '>>' let g:ale_sign_warning = 'πŸ’‘' "let g:ale_echo_msg_warning_str = 'Warning πŸ“£' "let g:ale_echo_msg_error_str = '❧ Error' let g:ale_lint_on_enter = 0 " Less distracting when opening a new file "run eslint in the backgrount with AsyncRun autocmd BufWritePost *.js AsyncRun -post=checktime eslint --fix % "autocmd BufWritePost *.js AsyncRun -post=checktime ./node_modules/.bin/eslint --fix % "autocmd BufWritePost *.css AsyncRun -post=checktime stylelint --fix % "autocmd BufWritePost *.scss AsyncRun -post=checktime stylelint --fix % "~/node_modules/eslint/bin/eslint.js " let g:ale_css_stylelint_executable = 'stylelint' let g:ale_css_stylelint_options = '' let g:ale_css_stylelint_use_global = 1 highlight clear ALEErrorSign highlight clear ALEWarningSign " Set this. Airline will handle the rest. let g:airline#extensions#ale#enabled = 1 "https://kinbiko.com/vim/my-shiniest-vim-gems/ "Highlight ugly code "excessively long lines of code (120+ in most languages) match ErrorMsg '\%>120v.\+' "trailing whitespace match ErrorMsg '\s\+$' "Remove all trailing whitespace by pressing F6 nnoremap :%s/\s\+$//e "https://howchoo.com/g/odg0mdyzmwr/vim-how-to-remove-trailing-whitespace-on-save "Then adding the following line to your .vimrc will ensure that every time you save a file (:w), it will remove all trailing whitespace. autocmd BufWritePre * :%s/\s\+$//e "easymotion "f{char} to move to {char} nmap e (easymotion-bd-f) "nmap e (easymotion-overwin-f) "nmap F(easymotion-prefix)s "Tabular if exists(":Tabularize") nmap a= :Tabularize /= vmap a= :Tabularize /= nmap a: :Tabularize /:\zs vmap a: :Tabularize /:\zs endif "https://kinbiko.com/vim/my-shiniest-vim-gems/ "backspace key are basically unused in normal mode nnoremap { onoremap { vnoremap { nnoremap empty(&buftype) ? '}' : '' onoremap empty(&buftype) ? '}' : '' vnoremap } nnoremap :silent !open -a /Applications/Firefox.app % "https://www.reddit.com/r/vim/comments/7yzblt/what_was_your_best_vimrc_addition/?st=JDWP6I49&sh=bdcde356 "So it says "remember my current position, format the whole file, and move back to where I was". nnoremap g= mmgg=G`m "https://robots.thoughtbot.com/wrap-existing-text-at-80-characters-in-vim au BufRead,BufNewFile *.md setlocal textwidth=80 "https://robots.thoughtbot.com/wrap-existing-text-at-80-characters-in-vim "Fast single-line indent: nnoremap = == nnoremap < << nnoremap > >> "https://robots.thoughtbot.com/wrap-existing-text-at-80-characters-in-vim "Don't mash BACKSPACE when you realize you have made a typo. Just hit jj and and type it again. Never loose speed. "inoremap jj ciw "markdown livedown plugin " should markdown preview get shown automatically upon opening markdown buffer "let g:livedown_autorun = 0 "let g:livedown_open = 1 " should the browser window pop-up upon previewing "let g:livedown_port = 1337 nnoremap "Git nnoremap gw :Gwrite nnoremap gc :Gcommit " Search mappings: These will make it so that going to the next one in a " search will center on the line it's found in. map N Nzz map n nzz "remap autoclompetion inoremap inoremap inoremap inoremap inoremap inoremap