Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- " 1) Basic Syntax and Indentation
- syntax enable
- set tabstop=4
- set expandtab
- set nu rnu
- filetype indent on
- set autoindent
- " 2) force minimun window width
- set winwidth=110
- " Run current line as Vim comand/normal mode
- set hlsearch
- set incsearch
- set ignorecase
- set smartcase
- let g:solarized_termtrans=1
- " set background=dark
- set rtp+=/usr/share/powerline/bindings/vim/
- nnoremap <CR> :nohlsearch<cr>
- set nocompatible
- filetype off
- let g:airline#extensions#tabline#enabled = 1
- let g:airline_powerline_fonts = 1
- let g:airline_theme='angr'
- set rtp+=~/.vim/bundle/Vundle.vim
- call vundle#begin()
- Plugin 'VundleVim/Vundle.vim'
- Plugin 'ryanoasis/vim-devicons'
- Plugin 'jiangmiao/auto-pairs'
- Plugin 'neoclide/coc.nvim'
- Plugin 'mhinz/vim-startify'
- Plugin 'vim-airline/vim-airline'
- Plugin 'vim-airline/vim-airline-themes'
- Plugin 'powerline/powerline'
- Plugin 'tpope/vim-surround' " Change surrounding marks
- Plugin 'tpope/vim-fugitive'
- Plugin 'tpope/vim-rhubarb'
- Plugin 'mtdl9/vim-log-highlighting'
- Plugin 'sheerun/vim-polyglot'
- Plugin 'christoomey/vim-tmux-navigator'
- Plugin 'tpope/vim-eunuch'
- Plugin 'tpope/vim-repeat'
- Plugin 'tpope/vim-unimpaired'
- Plugin 'tpope/vim-abolish'
- Plugin 'vim-ruby/vim-ruby'
- " Plugin 'mattn/emmet-vim', { 'for': ['javascript.jsx', 'html', 'css'] }
- Plugin 'prettier/vim-prettier', { 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'yaml', 'html'] }
- Plugin 'w0rp/ale'
- Plugin 'rbgrouleff/bclose.vim'
- Plugin 'cohama/lexima.vim'
- Plugin 'easymotion/vim-easymotion'
- Plugin 'SirVer/ultisnips'
- Plugin 'terryma/vim-multiple-cursors'
- Plugin 'gorkunov/smartpairs.vim'
- Plugin 'djoshea/vim-autoread'
- Plugin 'junegunn/fzf'
- Plugin 'junegunn/fzf.vim'
- Plugin 'posva/vim-vue'
- Plugin 'matze/vim-move'
- Plugin 'pangloss/vim-javascript'
- " Plugin 'othree/yajs.vim'
- " Plugin 'othree/es.next.syntax.vim'
- " Plugin 'othree/javascript-libraries-syntax.vim'
- " Plugin 'isRuslan/vim-es6'
- Plugin 'scrooloose/nerdtree'
- Plugin 'mxw/vim-jsx', { 'for': ['jsx','javascript.jsx']}
- Plugin 'tpope/vim-commentary' " or Plugin 'tomtom/tcomment_vim'
- "Plugin 'ervandew/supertab'
- Plugin 'othree/html5.vim'
- " Test Run
- Plugin 'tpope/vim-obsession'
- Plugin 'firegoby/html_entities_helper.vim'
- Plugin 'dustinknopoff/TeaCode-Vim-Extension'
- Plugin 'tpope/vim-vinegar'
- Plugin 'itchyny/lightline.vim'
- Plugin 'alvan/vim-closetag'
- " Themes
- " Plugin 'lifepillar/vim-solarized8'
- " Colour Themes
- Plugin 'GertjanReynaert/cobalt2-vim-theme'
- Plugin 'altercation/vim-colors-solarized'
- Plugin 'kaicataldo/material.vim'
- Plugin 'kyoz/purify'
- Plugin 'tomasr/molokai'
- Plugin 'chriskempson/base16-vim'
- Plugin 'dracula/vim'
- Plugin 'sonph/onehalf'
- Plugin 'gosukiwi/vim-atom-dark'
- Plugin 'jacoborus/tender.vim'
- Plugin 'ciaranm/inkpot'
- Plugin 'connorholyday/vim-snazzy'
- Plugin 'ajh17/Spacegray.vim'
- " Add plugins here
- call vundle#end()
- filetype plugin indent on
- """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- " => NERDTree
- """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- " Uncomment to autostart the NERDTree
- " autocmd vimenter * NERDTree
- map <C-n> :NERDTreeToggle<CR>
- let g:NERDTreeDirArrowExpandable = '▸'
- let g:NERDTreeDirArrowCollapsible = '▾'
- let NERDTreeShowLineNumbers=1
- let NERDTreeShowHidden=1
- let NERDTreeMinimalUI = 1
- "Run current line as Vim comand/normal mode"""""""""""""""""""""
- set cursorline cursorcolumn
- nnoremap <Leader>c :set cursorline! cursorcolumn!<CR>
- hi CursorLine cterm=NONE ctermbg=darkgray ctermfg=NONE "guibg=lightgreen guifg=white
- hi CursorColumn cterm=NONE ctermbg=darkgray ctermfg=NONE "guibg=lightgreen guifg=blue
- let g:webdevicons_enable = 1
- let g:webdevicons_enable_nerdtree = 1
- let g:webdevicons_enable_unite = 1
- let g:webdevicons_enable_airline_tabline = 1
- let g:webdevicons_enable_airline_statusline = 1
- let g:webdevicons_enable_ctrlp = 1
- let g:webdevicons_enable_startify = 1
- nnoremap Q !!sh <cr> -- Map Ctrl Q to run current line as shell command
- nnoremap <Leader>L yy:@" <cr> -- Run current line as Vim comand/normal mode
- nmap <leader>y "*y
- vnoremap <leader>y "*y
- nnoremap <leader>Y "*y$
- nnoremap <leader>yy "*yy
- set expandtab
- " Be smart when using tabs ;)
- set smarttab
- " 1 tab == 4 spaces
- set shiftwidth=4
- set tabstop=4
- set runtimepath^=~/.vim/bundle/ctrlp.vim
- " set listchars=tab:»·,eol:↲,nbsp:␣,trail:•,extends:→,precedes:←,space:.
- set listchars=tab:→\ ,eol:↲,nbsp:␣,trail:•,extends:⟩,precedes:⟨,space:.
- set list
- let g:github_enterprise_urls = ['https://orahub.oraclecorp.com']
- let g:prettier#autoformat = 0
- autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue PrettierAsync
- " PrettierAsync
- " Autocorrect
- let b:ale_fixers = ['prettier', 'eslint']
- set guifont=FiraCodeNerdFontCompleteM-Regular:h15
- " Enter date using F3
- nmap <F3> i<C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR><Esc>
- imap <F3> <C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR>
- " System clipboard sharing
- set clipboard=unnamed
- set clipboard=unnamedplus
- set hidden
- set wildmenu
- set showcmd
- " Allow backspacing over autoindent, line breaks and start of insert action
- set backspace=indent,eol,start
- " When opening a new line and no filetype-specific indenting is enabled, keep
- " the same indent as the line you're currently on. Useful for READMEs, etc.
- set autoindent
- " Stop certain movements from always going to the first character of a line.
- " While this behaviour deviates from that of Vi, it does what most users
- " coming from other editors would expect.
- set nostartofline
- " Display the cursor position on the last line of the screen or in the status
- " line of a window
- set ruler
- " Always display the status line, even if only one window is displayed
- set laststatus=2
- " Instead of failing a command because of unsaved changes, instead raise a
- " dialogue asking if you wish to save changed files.
- set confirm
- " Use visual bell instead of beeping when doing something wrong
- set visualbell
- " And reset the terminal code for the visual bell. If visualbell is set, and
- " this line is also included, vim will neither flash nor beep. If visualbell
- " is unset, this does nothing.
- set t_vb=
- " Enable use of the mouse for all modes
- " set mouse=a
- " Set the command window height to 2 lines, to avoid many cases of having to
- " press <Enter> to continue"
- " set cmdheight=2
- "
- runtime macros/matchit.vim
- " =============================================================
- " GENERAL SETTINGS
- " =============================================================
- set backspace=indent,eol,start
- set history=1000
- set ruler
- set showcmd
- set autoindent
- set showmatch
- set nowrap
- set autoread
- set autowrite
- set backupdir=~/.tmp
- set directory=~/.tmp
- set viminfo+=!
- set guioptions-=T
- set laststatus=2
- set scrolloff=3
- set sidescrolloff=4
- set hidden
- set tabstop=2
- set shiftwidth=2
- set softtabstop=2
- set expandtab
- set regexpengine=1
- " set relativenumber
- set number
- set wrap
- set linebreak
- set hlsearch
- set incsearch
- set ignorecase
- set smartcase
- set mouse=a
- set shell=bash
- set clipboard=unnamed
- set winwidth=100
- set winheight=5
- set winminheight=5
- set winheight=999
- set noswapfile
- set wildmenu
- set nostartofline
- " (Hopefully) removes the delay when hitting esc in insert mode
- " set noesckeys
- set ttimeout
- set ttimeoutlen=1
- " set listchars=tab:>-,trail:~,extends:>,precedes:<,space:.
- set ttyfast
- " set lazyredraw
- " set re=1
- set path+=**
- set tags=./tags;/
- set encoding=UTF-8
- set foldmethod=indent
- set signcolumn=yes
- " =============================================================
- " AUTOCOMMANDS
- " =============================================================
- if has("autocmd")
- augroup vimrcEx
- au!
- autocmd BufRead *
- \ if line("'\"") > 0 && line("'\"") <= line("$") |
- \ exe "normal g`\"" |
- \ endif
- autocmd BufWritePre * :call s:MkNonExDir(expand('<afile>'), +expand('<abuf>'))
- autocmd BufWritePre * :call <SID>StripTrailingWhitespaces()
- autocmd BufRead * normal zR
- " autocmd BufWinLeave *.* mkview
- " autocmd BufWinEnter *.* silent loadview
- au BufNewFile,BufReadPost *.md set filetype=markdown
- au BufNewFile,BufReadPost *.vue syntax sync fromstart
- autocmd FileType javascript set formatprg=prettier\ --stdin
- "autocmd BufLeave,FocusLost * silent! wall
- autocmd filetype crontab setlocal nobackup nowritebackup
- augroup END
- endif
- " =============================================================
- " MAPPINGS
- " =============================================================
- let mapleader = ","
- " insert mode
- "inoremap <c-e> <down>
- "inoremap <c-n> <left>
- "inoremap <c-y> <up>
- "inoremap <c-i> <right>
- " Quick open most used files
- " nnoremap <leader>em :!open -a 'Marked 2.app' '%:p'<cr>
- nnoremap <leader>ev :e ~/.vimrc<cr>
- nnoremap <leader>es :vs<cr>:UltiSnipsEdit<cr>
- " UltiSnips
- let g:UltiSnipsExpandTrigger="<tab>"
- let g:UltiSnipsJumpForwardTrigger="<tab>"
- " create/open file in current folder
- map <Leader>ee :e <C-R>=escape(expand("%:p:h"),' ') . '/'<CR>
- nnoremap <silent> <space> :nohl<Bar>:echo<CR>
- nnoremap <leader>w mzyyp`zj
- nnoremap <leader>v :set invpaste paste?<CR>
- nnoremap <leader>V V`]
- nnoremap <leader>I V`]=
- nnoremap <leader>a ggVG
- nnoremap <leader>r :syntax sync fromstart<CR>
- nmap k gk
- nmap j gj
- noremap <Leader>d :Bclose<CR>
- noremap <Leader>D :bufdo bd<CR>
- cnoremap %% <C-R>=expand("%:p:h") . "/" <CR>
- " FZF
- nnoremap <leader>f :GFiles<cr>
- nnoremap <leader>t :Files<cr>
- nnoremap <leader>. :Buffers<cr>
- " Fugitive
- nnoremap <leader>gg :Gstatus<CR>:only<CR>
- nnoremap <leader>gw :Gwrite<CR>
- " Tabs
- nnoremap <leader>1 1gt<cr>
- nnoremap <leader>2 2gt<cr>
- nnoremap <leader>3 3gt<cr>
- nnoremap <leader>4 4gt<cr>
- " inc search for range commands
- cnoremap $t <CR>:t''<CR>
- cnoremap $T <CR>:T''<CR>
- cnoremap $m <CR>:m''<CR>
- cnoremap $M <CR>:M''<CR>
- cnoremap $d <CR>:d<CR>``
- " saves cursor after yanking in visual mode
- vnoremap y myy`y
- vnoremap Y myY`y
- nnoremap <leader>s :w<cr>
- " =============================================================
- " PLUGINS CONFIGURATION
- " =============================================================
- " NERDTree
- nnoremap <leader>q :NERDTreeToggle<cr>
- let NERDTreeMinimalUI=1
- let NERDTreeShowLineNumbers=1
- let NERDTreeQuitOnOpen=1
- let NERDTreeHijackNetrw = 0
- " Lightline
- let g:lightline = {
- \ 'colorscheme': 'one',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ]
- \ },
- \ 'component_function': {
- \ 'gitbranch': 'fugitive#head'
- \ },
- \ }
- " Easymotion
- nmap S <Plug>(easymotion-s2)
- nmap s <Plug>(easymotion-s)
- " Vim Move
- let g:move_key_modifier = 'C'
- " Vue
- " let g:vue_disable_pre_processors=1
- " Markdown
- let g:markdown_fenced_languages = ['css', 'erb=eruby', 'javascript', 'js=javascript', 'json=javascript', 'ruby', 'sass', 'xml', 'html']
- " JSX
- let g:jsx_ext_required = 0
- let g:javascript_enable_domhtmlcss = 1
- let g:used_javascript_libs = 'underscore,react'
- " Emmet
- " let g:user_emmet_settings={'javascript.jsx': {'extends':'jsx'}}
- " let g:user_emmet_leader_key='<C-t>'
- " Tag Autoclose
- let g:closetag_filenames = '*.html,*.xhtml,*.phtml,*.vue'
- " Prettier
- nmap <Leader>p <Plug>(Prettier)
- let g:prettier#exec_cmd_async = 1
- let g:prettier#config#print_width = 80
- let g:prettier#config#tab_width = 2
- let g:prettier#config#use_tabs = 'false'
- let g:prettier#config#semi = 'true'
- let g:prettier#config#single_quote = 'false'
- let g:prettier#config#bracket_spacing = 'true'
- let g:prettier#config#jsx_bracket_same_line = 'false'
- let g:prettier#config#trailing_comma = 'none'
- let g:prettier#config#parser = 'babylon'
- let g:prettier#config#config_precedence = 'prefer-file'
- let g:prettier#config#prose_wrap = 'preserve'
- let g:prettier#autoformat = 0
- autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue PrettierAsync
- " Ale
- let g:ale_set_highlights = 0
- nmap <silent> <Leader>nn <Plug>(ale_previous_wrap)
- nmap <silent> <Leader>np <Plug>(ale_next_wrap)
- let g:ale_linters = {
- \ 'javascript': ['eslint'],
- \ 'ruby': [],
- \}
- " =============================================================
- " APPEARENCE
- " =============================================================
- "set term=xterm
- set t_Co=256
- let &t_AB="\e[48;5;%dm"
- let &t_AF="\e[38;5;%dm"
- " colorscheme cobalt2
- colorscheme dracula
- set background=dark
- if has("gui_running")
- "set guifont=FiraCodeNerdFontCompleteM-Regular:h15
- set guifont=FiraCodeNerdFontCompleteM-Regular:h15
- set linespace=6
- set guioptions-=r
- colorscheme dracula
- let g:material_theme_style = 'default' " 'palenight' | 'dark'
- let g:material_terminal_italics = 1
- endif
- if (has("nvim"))
- "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
- let $NVIM_TUI_ENABLE_TRUE_COLOR=1
- endif
- "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
- "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
- " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >
- if (has("termguicolors"))
- set termguicolors
- endif
- " =============================================================
- " CUSTOM FUNCTIONS
- " =============================================================
- " Create folders on file save
- " ===========================
- function! s:MkNonExDir(file, buf)
- if empty(getbufvar(a:buf, '&buftype')) && a:file!~#'\v^\w+\:\/'
- let dir=fnamemodify(a:file, ':h')
- if !isdirectory(dir)
- call mkdir(dir, 'p')
- endif
- endif
- endfunction
- " Remove whitespaces on save saving cursor position
- " =================================================
- function! <SID>StripTrailingWhitespaces()
- let l = line(".")
- let c = col(".")
- %s/\s\+$//e
- call cursor(l, c)
- endfun
- " Opening a terminal
- " set splitbelow
- set splitright
- nnoremap <leader>z :terminal<cr><C-w>:exe "resize " . (winheight(0) * 2/3)<CR>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement