Last active
October 3, 2018 13:03
-
-
Save revdfdev/a042b5e812c75ea13dd5e26bdaddd421 to your computer and use it in GitHub Desktop.
All my dot files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ############################## | |
| # _ | |
| # | |_ _ __ ___ _ ___ __ | |
| # | __| '_ ` _ \| | | \ \/ / | |
| # | |_| | | | | | |_| |> < | |
| # \__|_| |_| |_|\__,_/_/\_\ | |
| # | |
| ############################# | |
| # | |
| # COPY AND PASTE | |
| # http://robots.thoughtbot.com/tmux-copy-paste-on-os-x-a-better-future | |
| # | |
| # Use vim keybindings in copy mode | |
| setw -g mode-keys vi | |
| # Setup 'v' to begin selection as in Vim | |
| #bind-key -t vi-copy v begin-selection | |
| #bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" | |
| # Update default binding of `Enter` to also use copy-pipe | |
| # unbind -t vi-copy Enter | |
| # bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" | |
| # | |
| ############################################################################ | |
| ############################################################################ | |
| # Reset Prefix | |
| ############################################################################ | |
| set -g prefix C-a | |
| bind-key a send-prefix # for nested tmux sessions | |
| ############################################################################ | |
| # Global options | |
| ############################################################################ | |
| # large history | |
| set-option -g history-limit 10000 | |
| # colors | |
| setw -g mode-bg black | |
| set-option -g default-terminal "screen-256color" #"xterm-256color" # "screen-256color" | |
| set-option -g pane-active-border-fg green | |
| # utf8 support | |
| #set-window-option -g utf8 on | |
| # basic settings | |
| set-window-option -g xterm-keys on # for vim | |
| set-window-option -g mode-keys vi # vi key | |
| set-window-option -g monitor-activity on | |
| set-window-option -g window-status-current-fg white | |
| setw -g window-status-current-attr reverse | |
| bind-key a set synchronize-panes | |
| # Automatically set window title | |
| setw -g automatic-rename | |
| # use mouse # More on mouse support http://floriancrouzat.net/2010/07/run-tmux-with-mouse-support-in-mac-os-x-terminal-app/ | |
| #setw -g mode-mouse on | |
| #setw -g mouse-resize-pane on | |
| #set -g mouse-select-window on | |
| #set -g mouse-select-pane on | |
| set -g mouse on | |
| set -g history-limit 30000 | |
| set -g terminal-overrides 'xterm*:smcup@:rmcup@' | |
| # vi movement keys | |
| # set-option -g status-keys vi | |
| ############################################################################ | |
| # Status Bar | |
| ############################################################################ | |
| #set-option -g status-utf8 on | |
| set-option -g status-justify right | |
| set-option -g status-bg black # colour213 # pink | |
| set-option -g status-fg cyan | |
| set-option -g status-interval 5 | |
| set-option -g status-left-length 30 | |
| set-option -g status-left '#[fg=magenta]» #[fg=blue,bold]#T#[default]' | |
| set-option -g status-right '#[fg=red,bold][[ #(git branch) branch ]] #[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ',' -f 2)#[default]' | |
| set-option -g visual-activity on | |
| # Titles (window number, program name, active (or not) | |
| set-option -g set-titles on | |
| set-option -g set-titles-string '#H:#S.#I.#P #W #T' | |
| ############################################################################ | |
| # Unbindings | |
| ############################################################################ | |
| #unbind [ # copy mode bound to escape key | |
| unbind j | |
| unbind C-b # unbind default leader key | |
| unbind '"' # unbind horizontal split | |
| unbind % # unbind vertical split | |
| ############################################################################ | |
| # Bindings | |
| ############################################################################ | |
| # reload tmux conf | |
| bind-key r source-file ~/.tmux.conf | |
| #bind Escape copy-mode | |
| # new split in current pane (horizontal / vertical) | |
| bind-key c split-window -v # split pane horizontally | |
| bind-key v split-window -h # split pane vertically | |
| # list panes | |
| bind-key Space list-panes | |
| # break-pane | |
| bind-key Enter break-pane | |
| # join-pane [-dhv] [-l size | -p percentage] [-s src-pane] | |
| # [-t:dst-window.dst-pane] (destination window (dot) destination pane | |
| # (alias: joinp) | |
| # | |
| #bind C-j command-prompt "joinp" | |
| #bind C-j command-prompt "join-pane" | |
| #bind-key j command-prompt "join-pane -s '%%'" | |
| #bind-key j command-prompt "joinp -t:0" | |
| bind-key Space command-prompt "joinp -t:%%" # %% = prompt for window.pane [-V|H] # vert|hor split | |
| set-option -g default-shell /bin/bash | |
| #previous pane | |
| bind-key -n C-up prev | |
| bind-key -n C-left prev | |
| #next pane | |
| bind-key -n C-right next | |
| bind-key -n C-down next | |
| #exec "$SHELL" | |
| ############################################################################ | |
| # windows | |
| ############################################################################ | |
| set-window-option -g window-status-current-bg red | |
| bind C-j previous-window | |
| bind C-k next-window | |
| bind-key C-a last-window # C-a C-a for last active window | |
| bind A command-prompt "rename-window %%" | |
| bind-key a set-window-option synchronize-panes | |
| # By default, all windows in a session are constrained to the size of the | |
| # smallest client connected to that session, | |
| # even if both clients are looking at different windows. | |
| # It seems that in this particular case, Screen has the better default | |
| # where a window is only constrained in size if a smaller client | |
| # is actively looking at it. | |
| setw -g aggressive-resize on | |
| ############################################################################ | |
| # panes | |
| ############################################################################ | |
| # Navigation --------------------------------------------------------------- | |
| # use the vim motion keys to move between panes | |
| bind-key h select-pane -L | |
| bind-key j select-pane -D | |
| bind-key k select-pane -U | |
| bind-key l select-pane -R | |
| # Resizing --------------------------------------------------------------- | |
| bind-key C-h resize-pane -L | |
| bind-key C-j resize-pane -D | |
| bind-key C-k resize-pane -U | |
| bind-key C-l resize-pane -R | |
| # use vim motion keys while in copy mode | |
| setw -g mode-keys vi | |
| ############################################################################ | |
| # layouts | |
| ############################################################################ | |
| bind o select-layout "active-only" | |
| bind M-- select-layout "even-vertical" | |
| bind M-| select-layout "even-horizontal" | |
| bind M-r rotate-window | |
| #bind-key a set-window-option | |
| set -g default-command "${SHELL}" | |
| # focus on first window | |
| # select-window -t 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """"""""""""""""""""""""""""""""""""" | |
| set nocompatible | |
| syntax on | |
| set nowrap | |
| set encoding=utf8 | |
| """" START Vundle Configuration | |
| " Disable file type for vundle | |
| filetype off " required | |
| " set the runtime path to include Vundle and initialize | |
| set rtp+=~/.vim/bundle/Vundle.vim | |
| call vundle#begin() | |
| " let Vundle manage Vundle, required | |
| Plugin 'gmarik/Vundle.vim' | |
| " Utility | |
| Plugin 'severin-lemaignan/vim-minimap' | |
| Plugin 'gcavallanti/vim-noscrollbar' | |
| Plugin 'scrooloose/nerdtree' | |
| Plugin 'majutsushi/tagbar' | |
| Plugin 'isRuslan/vim-es6' | |
| Plugin 'jsx/jsx.vim' | |
| Plugin 'pallets/jinja' | |
| Plugin 'pangloss/vim-javascript' | |
| Plugin 'Valloric/YouCompleteMe' | |
| Plugin 'ternjs/tern_for_vim' | |
| Plugin 'ervandew/supertab' | |
| Plugin 'BufOnly.vim' | |
| Plugin 'mxw/vim-jsx' | |
| Plugin 'wesQ3/vim-windowswap' | |
| Plugin 'SirVer/ultisnips' | |
| Plugin 'junegunn/fzf.vim' | |
| Plugin 'junegunn/fzf' | |
| Plugin 'godlygeek/tabular' | |
| Plugin 'ctrlpvim/ctrlp.vim' | |
| Plugin 'benmills/vimux' | |
| Plugin 'jeetsukumaran/vim-buffergator' | |
| Plugin 'gilsondev/searchtasks.vim' | |
| Plugin 'Shougo/neocomplete.vim' | |
| Plugin 'tpope/vim-dispatch' | |
| Plugin 'mattn/emmet-vim' | |
| " Generic Programming Support | |
| "Plugin 'jakedouglas/exuberant-ctags'" | |
| Plugin 'honza/vim-snippets' | |
| Plugin 'Townk/vim-autoclose' | |
| Plugin 'tomtom/tcomment_vim' | |
| Plugin 'tobyS/vmustache' | |
| Plugin 'janko-m/vim-test' | |
| Plugin 'maksimr/vim-jsbeautify' | |
| Plugin 'vim-syntastic/syntastic' | |
| Plugin 'neomake/neomake' | |
| " Markdown / Writting | |
| Plugin 'reedes/vim-pencil' | |
| Plugin 'tpope/vim-markdown' | |
| Plugin 'jtratner/vim-flavored-markdown' | |
| Plugin 'LanguageTool' | |
| " Git Support | |
| Plugin 'kablamo/vim-git-log' | |
| Plugin 'gregsexton/gitv' | |
| Plugin 'tpope/vim-fugitive' | |
| "Plugin 'jaxbot/github-issues.vim' | |
| " PHP Support | |
| Plugin 'phpvim/phpcd.vim' | |
| Plugin 'tobyS/pdv' | |
| " Erlang Support | |
| Plugin 'vim-erlang/vim-erlang-tags' | |
| Plugin 'vim-erlang/vim-erlang-runtime' | |
| Plugin 'vim-erlang/vim-erlang-omnicomplete' | |
| Plugin 'vim-erlang/vim-erlang-compiler' | |
| " Elixir Support | |
| Plugin 'elixir-lang/vim-elixir' | |
| Plugin 'avdgaag/vim-phoenix' | |
| Plugin 'mmorearty/elixir-ctags' | |
| Plugin 'mattreduce/vim-mix' | |
| Plugin 'BjRo/vim-extest' | |
| Plugin 'frost/vim-eh-docs' | |
| Plugin 'slashmili/alchemist.vim' | |
| Plugin 'tpope/vim-endwise' | |
| Plugin 'jadercorrea/elixir_generator.vim' | |
| " Elm Support | |
| Plugin 'lambdatoast/elm.vim' | |
| " Theme / Interface | |
| Plugin 'AnsiEsc.vim' | |
| "Plugin 'ryanoasis/vim-devicons'" | |
| Plugin 'vim-airline/vim-airline' | |
| Plugin 'vim-airline/vim-airline-themes' | |
| Plugin 'sjl/badwolf' | |
| Plugin 'tomasr/molokai' | |
| Plugin 'morhetz/gruvbox' | |
| Plugin 'zenorocha/dracula-theme', {'rtp': 'vim/'} | |
| Plugin 'junegunn/limelight.vim' | |
| Plugin 'mkarmona/colorsbox' | |
| Plugin 'romainl/Apprentice' | |
| Plugin 'Lokaltog/vim-distinguished' | |
| Plugin 'chriskempson/base16-vim' | |
| Plugin 'w0ng/vim-hybrid' | |
| Plugin 'AlessandroYorba/Sierra' | |
| Plugin 'daylerees/colour-schemes' | |
| Plugin 'effkay/argonaut.vim' | |
| Plugin 'ajh17/Spacegray.vim' | |
| Plugin 'atelierbram/Base2Tone-vim' | |
| Plugin 'colepeters/spacemacs-theme.vim' | |
| " OSX stupid backspace fix | |
| set backspace=indent,eol,start | |
| call vundle#end() " required | |
| filetype plugin indent on " required | |
| """" END Vundle Configuration | |
| """"""""""""""""""""""""""""""""""""" | |
| " Configuration Section | |
| """"""""""""""""""""""""""""""""""""" | |
| " Show linenumbers | |
| set number | |
| set ruler | |
| " Set Proper Tabs | |
| set tabstop=4 | |
| set shiftwidth=4 | |
| set smarttab | |
| set expandtab | |
| " Always display the status line | |
| set laststatus=2 | |
| " Enable Elite mode, No ARRRROWWS!!!! | |
| let g:elite_mode=1 | |
| let g:syntastic_javascript_checkers = ['eslint'] | |
| " Enable highlighting of the current line | |
| set cursorline | |
| " Theme and Styling | |
| set t_Co=256 | |
| set background=dark | |
| if (has("termguicolors")) | |
| set termguicolors | |
| endif | |
| let base16colorspace=256 " Access colors present in 256 colorspace | |
| colorscheme spacegray | |
| " colorscheme spacemacs-theme | |
| let g:spacegray_underline_search = 1 | |
| let g:spacegray_italicize_comments = 1 | |
| " Vim-Airline Configuration | |
| let g:airline#extensions#tabline#enabled = 1 | |
| let g:airline_powerline_fonts = 1 | |
| let g:airline_theme='hybrid' | |
| let g:hybrid_custom_term_colors = 1 | |
| let g:hybrid_reduced_contrast = 1 | |
| " Syntastic Configuration | |
| set statusline+=%#warningmsg# | |
| set statusline+=%{SyntasticStatuslineFlag()} | |
| set statusline+=%* | |
| let g:syntastic_always_populate_loc_list = 1 | |
| let g:syntastic_auto_loc_list = 1 | |
| let g:syntastic_check_on_open = 1 | |
| " let g:syntastic_check_on_wq = 0 | |
| " let g:syntastic_enable_elixir_checker = 1 | |
| " let g:syntastic_elixir_checkers = ["elixir"] | |
| " Neomake settings | |
| autocmd! BufWritePost * Neomake | |
| let g:neomake_elixir_enabled_makers = ['mix', 'credo', 'dogma'] | |
| " Vim-PDV Configuration | |
| let g:pdv_template_dir = $HOME ."/.vim/bundle/pdv/templates_snip" | |
| " Markdown Syntax Support | |
| augroup markdown | |
| au! | |
| au BufNewFile,BufRead *.md,*.markdown setlocal filetype=ghmarkdown | |
| augroup END | |
| " Github Issues Configuration | |
| let g:github_access_token = "e6fb845bd306a3ca7f086cef82732d1d5d9ac8e0" | |
| " Vim-Alchemist Configuration | |
| let g:alchemist#elixir_erlang_src = "/Users/amacgregor/Projects/Github/alchemist-source" | |
| let g:alchemist_tag_disable = 1 | |
| " Vim-Supertab Configuration | |
| let g:SuperTabDefaultCompletionType = "<C-X><C-O>" | |
| " Settings for Writting | |
| let g:pencil#wrapModeDefault = 'soft' " default is 'hard' | |
| let g:languagetool_jar = '/opt/languagetool/languagetool-commandline.jar' | |
| " Vim-pencil Configuration | |
| augroup pencil | |
| autocmd! | |
| autocmd FileType markdown,mkd call pencil#init() | |
| autocmd FileType text call pencil#init() | |
| augroup END | |
| " Vim-UtilSnips Configuration | |
| " Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe. | |
| let g:UltiSnipsExpandTrigger="<tab>" | |
| let g:UltiSnipsJumpForwardTrigger="<c-b>" | |
| let g:UltiSnipsJumpBackwardTrigger="<c-z>" | |
| let g:UltiSnipsEditSplit="vertical" " If you want :UltiSnipsEdit to split your window. | |
| " Vim-Test Configuration | |
| let test#strategy = "vimux" | |
| " Neocomplete Settings | |
| let g:acp_enableAtStartup = 0 | |
| let g:neocomplete#enable_at_startup = 1 | |
| let g:neocomplete#enable_smart_case = 1 | |
| let g:neocomplete#sources#syntax#min_keyword_length = 3 | |
| " Define dictionary. | |
| let g:neocomplete#sources#dictionary#dictionaries = { | |
| \ 'default' : '', | |
| \ 'vimshell' : $HOME.'/.vimshell_hist', | |
| \ 'scheme' : $HOME.'/.gosh_completions' | |
| \ } | |
| " Define keyword. | |
| if !exists('g:neocomplete#keyword_patterns') | |
| let g:neocomplete#keyword_patterns = {} | |
| endif | |
| let g:neocomplete#keyword_patterns['default'] = '\h\w*' | |
| function! s:my_cr_function() | |
| return (pumvisible() ? "\<C-y>" : "" ) . "\<CR>" | |
| " For no inserting <CR> key. | |
| "return pumvisible() ? "\<C-y>" : "\<CR>" | |
| endfunction | |
| " Close popup by <Space>. | |
| "inoremap <expr><Space> pumvisible() ? "\<C-y>" : "\<Space>" | |
| " AutoComplPop like behavior. | |
| "let g:neocomplete#enable_auto_select = 1 | |
| " Enable omni completion. | |
| autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS | |
| autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags | |
| autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS | |
| autocmd FileType python setlocal omnifunc=pythoncomplete#Complete | |
| autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags | |
| " Enable heavy omni completion. | |
| if !exists('g:neocomplete#sources#omni#input_patterns') | |
| let g:neocomplete#sources#omni#input_patterns = {} | |
| endif | |
| "let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::' | |
| "let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)' | |
| "let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::' | |
| " For perlomni.vim setting. | |
| " https://github.com/c9s/perlomni.vim | |
| let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::' | |
| " Elixir Tagbar Configuration | |
| let g:tagbar_type_elixir = { | |
| \ 'ctagstype' : 'elixir', | |
| \ 'kinds' : [ | |
| \ 'f:functions', | |
| \ 'functions:functions', | |
| \ 'c:callbacks', | |
| \ 'd:delegates', | |
| \ 'e:exceptions', | |
| \ 'i:implementations', | |
| \ 'a:macros', | |
| \ 'o:operators', | |
| \ 'm:modules', | |
| \ 'p:protocols', | |
| \ 'r:records', | |
| \ 't:tests' | |
| \ ] | |
| \ } | |
| " Fzf Configuration | |
| " This is the default extra key bindings | |
| let g:fzf_action = { | |
| \ 'ctrl-t': 'tab split', | |
| \ 'ctrl-x': 'split', | |
| \ 'ctrl-v': 'vsplit' } | |
| " Default fzf layout | |
| " - down / up / left / right | |
| let g:fzf_layout = { 'down': '~40%' } | |
| " In Neovim, you can set up fzf window using a Vim command | |
| let g:fzf_layout = { 'window': 'enew' } | |
| let g:fzf_layout = { 'window': '-tabnew' } | |
| " Customize fzf colors to match your color scheme | |
| let g:fzf_colors = | |
| \ { 'fg': ['fg', 'Normal'], | |
| \ 'bg': ['bg', 'Normal'], | |
| \ 'hl': ['fg', 'Comment'], | |
| \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], | |
| \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], | |
| \ 'hl+': ['fg', 'Statement'], | |
| \ 'info': ['fg', 'PreProc'], | |
| \ 'prompt': ['fg', 'Conditional'], | |
| \ 'pointer': ['fg', 'Exception'], | |
| \ 'marker': ['fg', 'Keyword'], | |
| \ 'spinner': ['fg', 'Label'], | |
| \ 'header': ['fg', 'Comment'] } | |
| " Enable per-command history. | |
| " CTRL-N and CTRL-P will be automatically bound to next-history and | |
| " previous-history instead of down and up. If you don't like the change, | |
| " explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS. | |
| let g:fzf_history_dir = '~/.local/share/fzf-history' | |
| """"""""""""""""""""""""""""""""""""" | |
| " Mappings configurationn | |
| """"""""""""""""""""""""""""""""""""" | |
| map <C-n> :NERDTreeToggle<CR> | |
| map <C-m> :TagbarToggle<CR> | |
| " Omnicomplete Better Nav | |
| inoremap <expr> <c-j> ("\<C-n>") | |
| inoremap <expr> <c-k> ("\<C-p>") | |
| " Neocomplete Plugin mappins | |
| inoremap <expr><C-g> neocomplete#undo_completion() | |
| inoremap <expr><C-l> neocomplete#complete_common_string() | |
| " Recommended key-mappings. | |
| " <CR>: close popup and save indent. | |
| inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> | |
| " <TAB>: completion. | |
| inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" | |
| " <C-h>, <BS>: close popup and delete backword char. | |
| inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>" | |
| inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>" | |
| " Mapping selecting Mappings | |
| nmap <leader><tab> <plug>(fzf-maps-n) | |
| xmap <leader><tab> <plug>(fzf-maps-x) | |
| omap <leader><tab> <plug>(fzf-maps-o) | |
| " Shortcuts | |
| nnoremap <Leader>o :Files<CR> | |
| nnoremap <Leader>O :CtrlP<CR> | |
| nnoremap <Leader>w :w<CR> | |
| " Insert mode completion | |
| imap <c-x><c-k> <plug>(fzf-complete-word) | |
| imap <c-x><c-f> <plug>(fzf-complete-path) | |
| imap <c-x><c-j> <plug>(fzf-complete-file-ag) | |
| imap <c-x><c-l> <plug>(fzf-complete-line) | |
| " Vim-Test Mappings | |
| nmap <silent> <leader>t :TestNearest<CR> | |
| nmap <silent> <leader>T :TestFile<CR> | |
| nmap <silent> <leader>a :TestSuite<CR> | |
| nmap <silent> <leader>l :TestLast<CR> | |
| nmap <silent> <leader>g :TestVisit<CR> | |
| " Vim-PDV Mappings | |
| autocmd FileType php inoremap <C-p> <ESC>:call pdv#DocumentWithSnip()<CR>i | |
| autocmd FileType php nnoremap <C-p> :call pdv#DocumentWithSnip()<CR> | |
| autocmd FileType php setlocal omnifunc=phpcd#CompletePHP | |
| " Disable arrow movement, resize splits instead. | |
| if get(g:, 'elite_mode') | |
| nnoremap <Up> :resize +2<CR> | |
| nnoremap <Down> :resize -2<CR> | |
| nnoremap <Left> :vertical resize +2<CR> | |
| nnoremap <Right> :vertical resize -2<CR> | |
| endif | |
| map <silent> <LocalLeader>ws :highlight clear ExtraWhitespace<CR> | |
| " Advanced customization using autoload functions | |
| inoremap <expr> <c-x><c-k> fzf#vim#complete#word({'left': '15%'}) | |
| " Vim-Alchemist Mappings | |
| autocmd FileType elixir nnoremap <buffer> <leader>h :call alchemist#exdoc()<CR> | |
| autocmd FileType elixir nnoremap <buffer> <leader>d :call alchemist#exdef()<CR> | |
| let g:jsx_ext_required = 1 | |
| let g:syntastic_javascript_checkers = ['eslint'] | |
| let g:syntastic_mode_map = { 'mode': 'active', | |
| \ 'active_filetypes': ['python', 'javascript'], | |
| \ 'passive_filetypes': [] } | |
| set statusline+=%#warningmsg# | |
| set statusline+=%{SyntasticStatuslineFlag()} | |
| set statusline+=%* | |
| let g:syntastic_always_populate_loc_list = 1 | |
| let g:syntastic_auto_loc_list = 1 | |
| let g:syntastic_check_on_open = 1 | |
| let g:syntastic_check_on_wq = 0 | |
| let g:syntastic_javascript_checkers = ['eslint'] | |
| "Vim javascript" | |
| let g:javascript_plugin_jsdoc = 1 | |
| let g:javascript_plugin_jsdoc = 1 | |
| let g:javascript_plugin_flow = 1 | |
| augroup javascript_folding | |
| au! | |
| au FileType javascript setlocal foldmethod=syntax | |
| augroup END | |
| let g:javascript_conceal_function = "ƒ" | |
| let g:javascript_conceal_null = "ø" | |
| let g:javascript_conceal_this = "@" | |
| let g:javascript_conceal_return = "⇚" | |
| let g:javascript_conceal_undefined = "¿" | |
| let g:javascript_conceal_NaN = "ℕ" | |
| let g:javascript_conceal_prototype = "¶" | |
| let g:javascript_conceal_static = "•" | |
| let g:javascript_conceal_super = "Ω" | |
| let g:javascript_conceal_arrow_function = "⇒" | |
| let g:javascript_conceal_noarg_arrow_function = "🞅" | |
| let g:javascript_conceal_underscore_arrow_function = "🞅" | |
| set conceallevel=1 | |
| map <leader>l :exec &conceallevel ? "set conceallevel=0" : "set conceallevel=1"<CR> | |
| " | |
| " Behavoir | |
| " | |
| " Set to Tabs With 4 Spaces | |
| set tabstop=4 | |
| set softtabstop=0 noexpandtab | |
| set shiftwidth=4 | |
| " Line Wrap | |
| set breakindent | |
| set showbreak=\\\\\ | |
| " Auto Indent | |
| set cindent | |
| " Disable Auto-Indent | |
| set ai | |
| " Display Line Numbers | |
| set relativenumber | |
| " Enable Mouse | |
| set mouse=a | |
| " Scrolling | |
| set so=8 | |
| " Less Case Sensitivity | |
| set infercase | |
| " Set Term to ZSH | |
| set shell=/bin/bash | |
| " Enable Term Colors | |
| " set termguicolors | |
| " Remove Swap File | |
| set nobackup | |
| set noswapfile | |
| " Use System Clipboard | |
| " set clipboard=xclip | |
| " Hightlight First 100 Characters | |
| " of a Line | |
| set synmaxcol=135 | |
| " Change Terminal's Title | |
| set title | |
| " Better Searching | |
| set incsearch | |
| set hlsearch | |
| " Set up English Spellchecking | |
| set spelllang=en | |
| setlocal spell | |
| " | |
| " Key Mapings | |
| " | |
| " Remap Colon | |
| nnoremap ; : | |
| nnoremap : ; | |
| " Remap of Insert Keys | |
| " nnoremap o i | |
| nnoremap o a | |
| nnoremap a o | |
| nnoremap O A | |
| nnoremap A O | |
| " Remap Redo | |
| nnoremap r <C-r> | |
| " Map /T to Show Tabs | |
| nnoremap <leader>t :call ToggleShowTabs()<CR> | |
| " Clear Hightling With Space | |
| nnoremap <leader><space> :nohlsearch<CR> | |
| " Toggle File Expoler | |
| nnoremap <C-n> :NERDTreeToggle<CR> | |
| " Undo Less | |
| inoremap . .<C-g>u | |
| inoremap ? ?<C-g>u | |
| inoremap ! !<C-g>u | |
| inoremap , ,<C-g>u | |
| " Switch Buffers With ,, And ,. | |
| nnoremap <silent> , :bp<CR> | |
| nnoremap <silent> . :bn<CR> | |
| " Visual indent | |
| nnoremap <C-l> >> | |
| nnoremap <C-h> << | |
| vnoremap <C-l> >gv | |
| vnoremap <C-h> <gv | |
| imap <C-l> <C-o><C-l> | |
| imap <C-h> <C-o><C-h> | |
| " Visual Dot Repeat | |
| xnoremap . :norm.<CR> | |
| " Toggle Between File Expoler and File | |
| nnoremap <C-e> <C-w><C-w> | |
| " Opens File Under Cursor | |
| nnoremap gf :vertical wincmd f<CR> | |
| " Jump To Next Row Rather Than Line | |
| nnoremap <expr> j v:count ? (v:count > 5 ? "m'" . v:count : '') . 'j' : 'gj' | |
| nnoremap <expr> k v:count ? (v:count > 5 ? "m'" . v:count : '') . 'k' : 'gk' | |
| " ~/.vimrc | |
| nnoremap <c-s> :w<CR> | |
| inoremap <c-s> <Esc>:w<CR> | |
| vnoremap <c-s> <Esc>:w<CR> | |
| " ~/.vimrc | |
| nnoremap <c-x> :w\|bd<CR> | |
| inoremap <c-x> <Esc>:w\|bd<CR> | |
| vnoremap <c-x> <Esc>:w\|bd<CR> | |
| " ~/.vimrc | |
| nnoremap <c-w> :q!<CR> | |
| inoremap <c-w> <Esc>:q!<CR> | |
| vnoremap <c-w> <Esc>:q!<CR> | |
| " ~/.vimrc | |
| nnoremap <c-z> :u<CR> | |
| inoremap <c-z> <Esc>:u<CR> | |
| vnoremap <c-z> <Esc>:u<CR> | |
| " ~/.vimrc | |
| "nnoremap <C-b> :r<CR> | |
| "inoremap <C-b> <Esc>:r<CR> | |
| "vnoremap <C-b> <Esc>:r<CR> | |
| " Exit With Crtl W | |
| "nnoremap <C-w> :q!<CR> | |
| "inoremap <C-w> <C-c>:q!<CR> | |
| " Save With Crtl S | |
| "nnoremap <C-s> :w<CR> | |
| "inoremap <C-s> <C-c>:<ESC>w<CR> | |
| " Save and Quit With Crtl X | |
| "nnoremap <C-x> :w\|bd<CR> | |
| "inoremap <C-x> <C-c>:w\|bd<CR> | |
| " Select All With Crtl A | |
| nnoremap <c-a> ggVG | |
| inoremap <c-a> ggVG | |
| " Change World Under Cursor | |
| nnoremap c* *Ncgn | |
| nnoremap c# #NcgNi | |
| " Close Root Files | |
| cmap w!! w !sudo tee % >/dev/null | |
| " Swap Lines | |
| noremap <silent> <C-k> :call <SID>swap_up()<CR> | |
| noremap <silent> <C-j> :call <SID>swap_down()<CR> | |
| imap <C-k> <C-o><C-k> | |
| imap <C-j> <C-o><C-j> | |
| vnoremap <C-j> :m '>+1<CR>gv=gv | |
| vnoremap <C-k> :m '<-2<CR>gv=gvhhh | |
| " Highlight Last Inserted Text | |
| nnoremap gV `[v`] | |
| " Toggle Line Numbers on \F | |
| nnoremap <leader>f :call ToggleNumber()<CR> | |
| " Scroll Up and Down | |
| noremap <silent> <C-u> :call smooth_scroll#up(&scroll / 5, 6, 1)<CR> | |
| noremap <silent> <C-d> :call smooth_scroll#down(&scroll / 5, 6, 1)<CR> | |
| " Disable Arrow keys in Escape mode | |
| map <up> <nop> | |
| map <down> <nop> | |
| map <left> <nop> | |
| map <right> <nop> | |
| " Disable Arrow keys in Insert mode | |
| "imap <up> <nop> | |
| "imap <down> <nop> | |
| "imap <left> <nop> | |
| "imap <right> <nop> | |
| " Scroll Wheel | |
| nmap <ScrollWheelUp> <C-U> | |
| nmap <ScrollWheelDown> <C-D> | |
| " Ctrl P Funky | |
| nnoremap <C-r> :CtrlPFunky<Cr> | |
| nnoremap <c-c> "*y | |
| vnoremap <c-c> "*y | |
| nnoremap <c-v> "*p | |
| vnoremap <c-v> "*p | |
| nnoremap <NL> i<CR><ESC> | |
| " Prevents loading by telling the plugin it's already loaded. You'll have | |
| " to :call ToggleScrollbar()<CR> if you want to load it manually. | |
| let g:loaded_scrollbar=1 | |
| " Default characters to use in the scrollbar. | |
| let g:scrollbar_thumb='#' | |
| let g:scrollbar_clear='|' | |
| " Color settings. | |
| highlight Scrollbar_Clear ctermfg=green ctermbg=black guifg=green guibg=black cterm=none | |
| highlight Scrollbar_Thumb ctermfg=darkgreen ctermbg=darkgreen guifg=darkgreen guibg=darkgreen cterm=reverse | |
| set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %{noscrollbar#statusline()} | |
| let g:minimap_show='<leader>ms' | |
| let g:minimap_update='<leader>mu' | |
| let g:minimap_close='<leader>gc' | |
| let g:minimap_toggle='<leader>gt' | |
| let g:ToggerScrollbar='<leader>sb' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment