Update i3, nvim, env and shell files in template

master
Ian Mancini 4 years ago
parent ff41a41e5e
commit e17507adb1

@ -4,7 +4,7 @@
# load Aliases # load Aliases
[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc" [ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc"
# Load environment # Load environment
[ -f "$HOME/.aliasrc" ] && source "$HOME/.envrc" [ -f "$HOME/.aliasrc" ] && source "$HOME/.envrc"
# Enable bash_completion # Enable bash_completion

@ -6,7 +6,7 @@ TERMINAL="alacritty"
BROWSER="chromium" BROWSER="chromium"
# bin # bin
export PATH=/home/ianmethyst/.local/bin:$PATH export PATH=/home/ianmethyst/.bin:/home/ianmethyst/.local/bin:$PATH
# Enable colors # Enable colors
eval "`dircolors -b`" eval "`dircolors -b`"
@ -18,22 +18,15 @@ export LESS='-R'
export LESS_TERMCAP_mb=$'\E[01;31m' export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;33m' export LESS_TERMCAP_md=$'\E[01;33m'
export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;42;30m' export LESS_TERMCAP_so=$'\E[01;42;30m'
export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;36m' export LESS_TERMCAP_us=$'\E[01;36m'
# fzf # fzf
export FZF_DEFAULT_COMMAND='ag --hidden -g ""' export FZF_DEFAULT_COMMAND='ag --hidden --ignore .git -g ""'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
# Keychain
if [ -z ${DISPLAY+x} ]; then
eval "$(keychain --eval --quiet --noask --agents gpg,ssh id_rsa)"
else
eval "$(keychain --eval --quiet --agents gpg,ssh id_rsa)"
fi
# fnm # fnm
export PATH=/home/ianmethyst/.fnm:$PATH export PATH=/home/ianmethyst/.fnm:$PATH
eval "`fnm env --multi`" eval "`fnm env --multi`"
@ -47,10 +40,17 @@ export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
# pyenv # pyenv
export PYENV_ROOT="$HOME/.pyenv" export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH" export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then; eval "$(pyenv init -)"; fi if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"; fi
# pipenv # pipenv
export PIPENV_VENV_IN_PROJECT=1 export PIPENV_VENV_IN_PROJECT=1
export PIPENV_SKIP_LOCK=true export PIPENV_SKIP_LOCK=true
export PIPENV_PYTHON=$PYENV_ROOT/shims/python export PIPENV_PYTHON=$PYENV_ROOT/shims/python
eval "$(pipenv --completion)" eval "$(pipenv --completion)"
# Keychain
if [ -z ${DISPLAY+x} ]; then
eval "$(keychain --eval --quiet --noask --agents gpg,ssh id_rsa)"
else
eval "$(keychain --eval --quiet --agents gpg,ssh id_rsa)"
fi

@ -0,0 +1,4 @@
XDG_DATA_HOME DEFAULT=@{HOME}/.local/share
XDG_CONFIG_HOME DEFAULT=@{HOME}/.config
XDG_CACHE_HOME DEFAULT=@{HOME}/.cache
XDG_CURRENT_DESKTOP DEFAULT=XFCE

@ -2,10 +2,10 @@
# General # # General #
########### ###########
# Using Super instead of alt # Using Super instead of alt
set $mod Mod4 set $mod Mod4
# Font # Font
font pango: {{FONT}} {{FONTSIZE}} font pango: {{FONT}} {{FONTSIZE}}
# Titles # Titles
@ -30,7 +30,7 @@ set $ws10 "10"
# Colors # # Colors #
########## ##########
set_from_resource $background background {{COLORS.background}} set_from_resource $background background {{COLORS.background}}
set_from_resource $foreground foreground {{COLORS.background}} set_from_resource $foreground foreground {{COLORS.background}}
set_from_resource $lightblack color8 {{COLORS.color8}} set_from_resource $lightblack color8 {{COLORS.color8}}
@ -98,7 +98,7 @@ bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right bindsym $mod+Shift+Right move right
# Toggle Split in vertical/horizontal orientation # Toggle Split in vertical/horizontal orientation
bindsym $mod+v split toggle bindsym $mod+v split toggle
# Enter fullscreen mode for the focused container # Enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle bindsym $mod+f fullscreen toggle
@ -124,7 +124,7 @@ bindsym $mod+a focus parent
# bindsym $mod+d focus child # bindsym $mod+d focus child
# Reload the configuration file # Reload the configuration file
bindsym $mod+Shift+c reload # bindsym $mod+Shift+c reload
# Restart i3 inplace (preserves your layout/session, can be used to upgrde i3) # Restart i3 inplace (preserves your layout/session, can be used to upgrde i3)
bindsym $mod+Shift+r restart bindsym $mod+Shift+r restart
@ -136,21 +136,23 @@ bindsym $mod+shift+x exec betterlockscreen -l dim
# Scrot # Scrot
bindsym --release Print exec $HOME/.bin/scrot-screen bindsym --release Print exec $HOME/.bin/scrot-screen
bindsym --release Shift+Print exec $HOME/.bin/scrot-area bindsym --release Shift+Print exec $HOME/.bin/scrot-area
# pcmanfm # pcmanfm
# bindsym $mod+p exec --no-startup-id pcmanfm -n # bindsym $mod+p exec --no-startup-id pcmanfm -n
# Chromium # Chromium
bindsym $mod+c exec --no-startup-id chromium bindsym $mod+c exec --no-startup-id chromium
# Rofi # Rofi
bindsym $mod+d exec --no-startup-id rofi -show run bindsym $mod+d exec --no-startup-id rofi -show run
bindsym $mod+Shift+w exec --no-startup-id rofi -show window bindsym $mod+Shift+w exec --no-startup-id rofi -show window
bindsym $mod+Shift+s exec --no-startup-id rofi -show ssh bindsym $mod+Shift+s exec --no-startup-id rofi -show ssh
bindsym $mod+Shift+e exec --no-startup-id rofimoji bindsym $mod+Shift+e exec --no-startup-id rofimoji
bindsym $mod+Shift+p exec --no-startup-id ~/.bin/rofi-passmenu bindsym $mod+Shift+p exec --no-startup-id ~/.bin/rofi-passmenu
bindsym $mod+p exec --no-startup-id ~/.bin/rofi-xrandr bindsym $mod+p exec --no-startup-id ~/.bin/rofi-xrandr
bindsym $mod+Shift+c exec --no-startup-id ~/.bin/rofi-project
############## ##############
# Workspaces # # Workspaces #
@ -191,19 +193,20 @@ bindsym $mod+Shift+0 move container to workspace number $ws10
assign [class="^Nautilus$"] → $ws1 assign [class="^Nautilus$"] → $ws1
assign [class="^pcmanfm$"] → $ws1 assign [class="^pcmanfm$"] → $ws1
assign [class="^Pcmanfm$"] → $ws1 assign [class="^Pcmanfm$"] → $ws1
assign [class="^Thunar$"] → $ws1
assign [class="^Firefox$"] → $ws2 assign [class="^Firefox$"] → $ws2
assign [class="^Chromium$" window_role="^browser$"] → $ws2 assign [class="^Chromium$" window_role="^browser$"] → $ws2
for_window [class="^Chromium$" window_role="^pop-up$"] floating enable for_window [class="^Chromium$" window_role="^pop-up$"] floating enable
assign [class="^atom$"] → $ws3 assign [class="^atom$"] → $ws3
assign [class="^Atom$"] → $ws3 assign [class="^Atom$"] → $ws3
assign [class="^sun-awt-X11-XFramePeer$"] → $ws3 assign [class="^sun-awt-X11-XFramePeer$"] → $ws3
assign [class="^Processing$"] → $ws3 assign [class="^Processing$"] → $ws3
for_window [title="^Welcome to Processing"] floating enable for_window [title="^Welcome to Processing"] floating enable
assign [class="^processing-app-Base$"] → $ws3 assign [class="^processing-app-Base$"] → $ws3
for_window [title="^Java$"] floating enable for_window [title="^Java$"] floating enable
for_window [title="^Java$"] move position center for_window [title="^Java$"] move position center
assign [class="^discord$"] → $ws4 assign [class="^discord$"] → $ws4
assign [class="^telegram-desktop$"] → $ws4 assign [class="^telegram-desktop$"] → $ws4
@ -225,15 +228,15 @@ assign [class="^libreoffice-writer$"] → $ws6
assign [class="^Steam$"] → $ws9 assign [class="^Steam$"] → $ws9
assign [title="^Steam$"] → $ws9 assign [title="^Steam$"] → $ws9
for_window [class="^Unity$"] floating enable for_window [class="^Unity$"] floating enable
for_window [title="^Unity - Unity"] floating disable for_window [title="^Unity - Unity"] floating disable
for_window [class="^Steam$"] floating enable for_window [class="^Steam$"] floating enable
for_window [class="^Steam$" title="^Steam$"] floating disable for_window [class="^Steam$" title="^Steam$"] floating disable
for_window [class="^pavucontrol$"] floating enable for_window [class="^pavucontrol$"] floating enable
for_window [class="^Pavucontrol$"] floating enable for_window [class="^Pavucontrol$"] floating enable
for_window [class="^arandr$"] floating enable for_window [class="^arandr$"] floating enable
for_window [class="^Arandr$"] floating enable for_window [class="^Arandr$"] floating enable
############# #############
# Autostart # # Autostart #
@ -249,15 +252,15 @@ exec_always --no-startup-id $HOME/.bin/launch-dunst
exec xautolock -time 15 -locker "betterlockscreen -l dim" -corners 0-00 exec xautolock -time 15 -locker "betterlockscreen -l dim" -corners 0-00
exec pcmanfm -d exec pcmanfm -d
exec discord exec discord
exec telegram-desktop exec telegram-desktop
exec steam exec steam
exec nm-applet exec nm-applet
# exec blueman-applet exec blueman-applet
# exec pasystray exec pasystray
exec redshift-gtk exec redshift-gtk
exec cbatticon BAT0 -l 25 -r 10 exec cbatticon BAT0 -l 25 -r 10
# exec clipit # exec clipit
######### #########
@ -314,12 +317,12 @@ exec_always --no-startup-id $HOME/.bin/launch-polybar
# Multimedia Keys # # Multimedia Keys #
################### ###################
# Volume # Volume
# PulseAudio # PulseAudio
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +2% #increase sound volume bindsym XF86AudioRaiseVolume exec --no-startup-id $HOME/.bin/manage_volume -i 2 -n
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -2% #decrease sound volume bindsym XF86AudioLowerVolume exec --no-startup-id $HOME/.bin/manage_volume -d 2 -n
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound bindsym XF86AudioMute exec --no-startup-id $HOME/.bin/manage_volume -t -n
# ALSA # ALSA
#bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master '2%+' #bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master '2%+'
@ -330,11 +333,11 @@ bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute s
bindsym XF86AudioPrev exec mpc prev bindsym XF86AudioPrev exec mpc prev
bindsym XF86AudioNext exec mpc next bindsym XF86AudioNext exec mpc next
bindsym XF86AudioPlay exec mpc toggle bindsym XF86AudioPlay exec mpc toggle
bindsym XF86AudioStop exec mpc stop bindsym XF86AudioStop exec mpc stop
# Sreen brightness controls # Sreen brightness controls
#bindsym XF86MonBrightnessUp exec xbacklight +2 #bindsym XF86MonBrightnessUp exec xbacklight +2
#bindsym XF86MonBrightnessDown exec xbacklight -2 #bindsym XF86MonBrightnessDown exec xbacklight -2
bindsym XF86Display exec arandr bindsym XF86Display exec arandr
bindsym XF86TouchpadToggle exec pavucontrol bindsym XF86TouchpadToggle exec pavucontrol
@ -343,16 +346,16 @@ bindsym XF86TouchpadToggle exec pavucontrol
# i3-Gaps # # i3-Gaps #
########### ###########
# Borders # Borders
for_window [class="^.*"] border pixel 3 for_window [class="^.*"] border pixel 3
for_window [class="^Chromium$" window_role="^browser$"] border pixel 0 for_window [class="^Chromium$" window_role="^browser$"] border pixel 0
# Set inner/outer gaps # Set inner/outer gaps
gaps inner 0 gaps inner 0
gaps outer 0 gaps outer 0
# Smart gaps (gaps used if only more than one container on the workspace) # Smart gaps (gaps used if only more than one container on the workspace)
# smart_gaps on # smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace) # Smart borders (draw borders around container only if it is not the only container on this workspace)
smart_borders on smart_borders on

@ -1,3 +1,5 @@
{ {
"python.linting.enabled": false "python.linting.enabled": false,
"eslint.enable": true,
"diagnostic.displayByAle": false
} }

@ -14,9 +14,12 @@ Plug 'joshdick/onedark.vim'
Plug 'itchyny/lightline.vim' Plug 'itchyny/lightline.vim'
Plug 'daviesjamie/vim-base16-lightline' Plug 'daviesjamie/vim-base16-lightline'
Plug 'maximbaz/lightline-ale' "Plug 'maximbaz/lightline-ale'
Plug 'gioele/vim-autoswap' "Requires wmctrl Plug 'gioele/vim-autoswap' "Requires wmctrl
Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
Plug 'scrooloose/nerdcommenter'
Plug 'sheerun/vim-polyglot' Plug 'sheerun/vim-polyglot'
Plug 'sirtaj/vim-openscad' Plug 'sirtaj/vim-openscad'
@ -24,10 +27,12 @@ Plug 'othree/yajs.vim'
Plug 'othree/es.next.syntax.vim' Plug 'othree/es.next.syntax.vim'
Plug 'othree/javascript-libraries-syntax.vim' Plug 'othree/javascript-libraries-syntax.vim'
Plug 'styled-components/vim-styled-components', { 'branch': 'main' } Plug 'styled-components/vim-styled-components', { 'branch': 'main' }
Plug 'hail2u/vim-css3-syntax'
Plug 'vim-pandoc/vim-pandoc-syntax' Plug 'vim-pandoc/vim-pandoc-syntax'
Plug 'Vimjas/vim-python-pep8-indent' Plug 'Vimjas/vim-python-pep8-indent'
Plug 'ntpeters/vim-better-whitespace' Plug 'ntpeters/vim-better-whitespace'
Plug 'rhysd/clever-f.vim'
Plug 'junegunn/fzf.vim' Plug 'junegunn/fzf.vim'
Plug 'scrooloose/nerdtree' Plug 'scrooloose/nerdtree'
Plug 'xuyuanp/nerdtree-git-plugin' Plug 'xuyuanp/nerdtree-git-plugin'
@ -40,7 +45,7 @@ Plug 'lervag/vimtex'
Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'dense-analysis/ale' " Plug 'dense-analysis/ale'
Plug 'tpope/vim-fugitive' Plug 'tpope/vim-fugitive'
@ -71,11 +76,15 @@ let g:nord_underline = 1
let g:nord_italic = 1 let g:nord_italic = 1
let g:nord_italic_comments = 0 let g:nord_italic_comments = 0
let g:nord_cursor_line_number_background = 1 let g:nord_cursor_line_number_background = 1
let g:solarized_termcolors= 16 let g:solarized_termcolors= 16
let g:solarized_bold = 1 let g:solarized_bold = 1
let g:solarized_underline = 1 let g:solarized_underline = 1
let g:solarized_italic = 1 let g:solarized_italic = 1
" Fix for styled-components
autocmd BufEnter *.{js,jsx,ts,tsx} :syntax sync fromstart
autocmd BufLeave *.{js,jsx,ts,tsx} :syntax sync clear
set termguicolors set termguicolors
colorscheme {{VIMCOLORSCHEME}} colorscheme {{VIMCOLORSCHEME}}
set background={{VIMBACKGROUND}} set background={{VIMBACKGROUND}}
@ -121,7 +130,14 @@ set scrolloff=10
set cmdheight=2 set cmdheight=2
set updatetime=300 set updatetime=300
set shortmess+=c set shortmess+=c
set signcolumn=yes
if has("patch-8.1.1564")
" Recently vim can merge signcolumn and number column into one
set signcolumn=number
else
set signcolumn=yes
endif
set lazyredraw " Redraw only when we need to. set lazyredraw " Redraw only when we need to.
set showmatch " Highlight matching [{()}] set showmatch " Highlight matching [{()}]
@ -146,11 +162,13 @@ set foldopen=block,hor,insert,jump,mark,percent,quickfix,search,tag,undo
set mouse=a set mouse=a
" Backups " Backups
set backup set directory=$XDG_DATA_HOME/nvim/swap/
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp set backupdir=$XDG_DATA_HOME/nvim/backup/
set backupskip=/tmp/*,/private/tmp/* set backupskip=/tmp/*
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp set undodir=$XDG_DATA_HOME/nvim/undodir/
set writebackup set undofile
set nobackup
set nowritebackup
" ########### " ###########
" # Keymaps # " # Keymaps #
@ -175,6 +193,17 @@ nnoremap <leader>s :mksession<CR>
" NERD Tree " NERD Tree
map <C-n> :NERDTreeToggle<CR> map <C-n> :NERDTreeToggle<CR>
" Nerd commenter
vmap <C-_> <plug>NERDCommenterToggle
nmap <C-_> <plug>NERDCommenterToggle
let g:NERDSpaceDelims = 1
let g:NERDDefaultAlign = 'left'
let g:NERDCompactSexyComs = 1
let g:NERDCommentEmptyLines = 1
let g:NERDTrimTrailingWhitespace = 1
let g:NERDToggleCheckAllLines = 1
" Ale " Ale
nmap <silent> <leader>aj :ALENext<cr> nmap <silent> <leader>aj :ALENext<cr>
nmap <silent> <leader>ak :ALEPrevious<cr> nmap <silent> <leader>ak :ALEPrevious<cr>
@ -207,16 +236,19 @@ let g:lightline = {
\ 'left': [ [ 'mode', 'paste' ], \ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ], \ [ 'gitbranch', 'readonly', 'filename', 'modified' ],
\ [ 'hunksummary' ] ], \ [ 'hunksummary' ] ],
\ 'right': [ [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_ok' ], \ 'right': [ [ 'cocstatus' ],
\ [ 'percent', 'lineinfo'], \ [ 'percent', 'lineinfo'],
\ [ 'fileformat', 'fileencoding', 'filetype'] ] \ [ 'fileformat', 'fileencoding', 'filetype'] ]
\ }, \ },
\ 'component_function': { \ 'component_function': {
\ 'cocstatus': 'coc#status',
\ 'gitbranch': 'FugitiveHead', \ 'gitbranch': 'FugitiveHead',
\ 'hunksummary': 'GitStatus' \ 'hunksummary': 'GitStatus'
\ }, \ },
\} \}
"'right': [ [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_ok' ],
function! GitStatus() function! GitStatus()
let [a,m,r] = GitGutterGetHunkSummary() let [a,m,r] = GitGutterGetHunkSummary()
return printf('+%d ~%d -%d', a, m, r) return printf('+%d ~%d -%d', a, m, r)
@ -241,14 +273,16 @@ let g:ale_linters = {
\ 'javascriptreact': ['eslint'], \ 'javascriptreact': ['eslint'],
\ 'javascript.jsx': ['eslint'], \ 'javascript.jsx': ['eslint'],
\ 'vim': ['vint'], \ 'vim': ['vint'],
\ 'python': ['flake8'] \ 'python': ['flake8'],
\ 'json': ['fixjson']
\} \}
let b:ale_fixers = { let g:ale_fixers = {
\ 'javascript': ['eslint'], \ 'javascript': ['eslint'],
\ 'javascriptreact': ['eslint'], \ 'javascriptreact': ['eslint'],
\ 'javascript.jsx': ['eslint'], \ 'javascript.jsx': ['eslint'],
\ 'python': ['yapf'] \ 'python': ['yapf'],
\ 'json': ['fixjson']
\} \}
let g:ale_pattern_options = { let g:ale_pattern_options = {
@ -256,42 +290,66 @@ let g:ale_pattern_options = {
\ '\.min\.css$': {'ale_linters': [], 'ale_fixers': []}, \ '\.min\.css$': {'ale_linters': [], 'ale_fixers': []},
\} \}
" Coc " Coc
let g:coc_global_extensions = [ let g:coc_global_extensions = [
\ 'coc-tsserver', \ 'coc-tsserver',
\ 'coc-json', \ 'coc-eslint',
\ 'coc-css', \ 'coc-json',
\ 'coc-css',
\ 'coc-html', \ 'coc-html',
\ 'coc-snippets', \ 'coc-snippets',
\ 'coc-pairs', \ 'coc-pairs',
\ 'coc-yaml', \ 'coc-yaml',
\ 'coc-highlight', \ 'coc-highlight',
\ 'coc-syntax', \ 'coc-syntax',
\ 'coc-python' \ 'coc-python',
\ 'coc-actions',
\ 'coc-vimlsp',
\ 'coc-sh',
\ 'coc-svg'
\] \]
" Use tab for trigger completion with characters ahead and navigate. " Use tab for trigger completion with characters ahead and navigate.
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. " Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
inoremap <silent><expr> <TAB> inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" : \ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" : \ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh() \ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort function! s:check_back_space() abort
let col = col('.') - 1 let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s' return !col || getline('.')[col - 1] =~# '\s'
endfunction endfunction
" Use <C-l> for trigger snippet expand.
imap <C-l> <Plug>(coc-snippets-expand)
" Use <C-j> for select text for visual placeholder of snippet.
vmap <C-j> <Plug>(coc-snippets-select)
" Use <C-j> for jump to next placeholder, it's default of coc.nvim
let g:coc_snippet_next = '<c-j>'
" Use <C-k> for jump to previous placeholder, it's default of coc.nvim
let g:coc_snippet_prev = '<c-k>'
" Use <C-j> for both expand and jump (make expand higher priority.)
imap <C-j> <Plug>(coc-snippets-expand-jump)
let g:coc_snippet_next = '<tab>'
" Use <c-space> to trigger completion. " Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> coc#refresh() inoremap <silent><expr> <c-space> coc#refresh()
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. " Use <cr> to confirm completion, `<C-g>u` means break undo chain at current
" Coc only does snippet and additional edit on confirm. " position. Coc only does snippet and additional edit on confirm.
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" " <cr> could be remapped by other vim plugin, try `:verbose imap <CR>`.
" Or use `complete_info` if your vim support it, like: if exists('*complete_info')
" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
else
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
endif
" Use `[g` and `]g` to navigate diagnostics " Use `[g` and `]g` to navigate diagnostics
nmap <silent> [g <Plug>(coc-diagnostic-prev) nmap <silent> [g <Plug>(coc-diagnostic-prev)
@ -365,11 +423,13 @@ set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" Using CocList " Using CocList
" Show all diagnostics " Show all diagnostics
nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr> nnoremap <silent> <space>d :<C-u>CocList diagnostics<cr>
" Manage extensions " Manage extensions
nnoremap <silent> <space>e :<C-u>CocList extensions<cr> nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
" Show commands " Show commands
nnoremap <silent> <space>c :<C-u>CocList commands<cr> nnoremap <silent> <space>c :<C-u>CocList commands<cr>
" Show actions
nnoremap <silent> <space>a :<C-u>CocList actions<cr>
" Find symbol of current document " Find symbol of current document
nnoremap <silent> <space>o :<C-u>CocList outline<cr> nnoremap <silent> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols " Search workspace symbols
@ -381,5 +441,17 @@ nnoremap <silent> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list " Resume latest coc list
nnoremap <silent> <space>p :<C-u>CocListResume<CR> nnoremap <silent> <space>p :<C-u>CocListResume<CR>
" coc-actions
" Remap for do codeAction of selected region
function! s:cocActionsOpenFromSelected(type) abort
execute 'CocCommand actions.open ' . a:type
endfunction
xmap <silent> <leader>a :<C-u>execute 'CocCommand actions.open ' . visualmode()<CR>
nmap <silent> <leader>a :<C-u>set operatorfunc=<SID>cocActionsOpenFromSelected<CR>g@
" vim-rainbow " vim-rainbow
let g:rainbow_active = 1 let g:rainbow_active = 1
" vimtex
let g:tex_flavor = 'latex'

@ -1,18 +1,12 @@
# Skip all this for non-interactive shells # Skip all this for non-interactive shells
[[ -z "$PS1" ]] && return [[ -z "$PS1" ]] && return
# Load aliases
[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc"
# Load environment
[ -f "$HOME/.aliasrc" ] && source "$HOME/.envrc"
######### #########
# zplug # # zplug #
######### #########
export ZPLUG_HOME=~/.zplug export ZPLUG_HOME=~/.zplug
source $ZPLUG_HOME/init.zsh source $ZPLUG_HOME/init.zsh
zplug 'zplug/zplug', hook-build:'zplug --self-manage' zplug 'zplug/zplug', hook-build:'zplug --self-manage'
@ -48,7 +42,7 @@ if ! zplug check --verbose; then
fi fi
# Then, source plugins and add commands to $PATH # Then, source plugins and add commands to $PATH
zplug load zplug load
################ ################
# Zsh settings # # Zsh settings #
@ -69,15 +63,15 @@ bindkey '^w' backward-kill-word
# ctrl-r starts searching history backward # ctrl-r starts searching history backward
bindkey '^r' history-incremental-search-backward bindkey '^r' history-incremental-search-backward
# History # History
HISTFILE="$HOME/.zsh_history" HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000000 HISTSIZE=10000000
SAVEHIST=$HISTSIZE SAVEHIST=$HISTSIZE
setopt INC_APPEND_HISTORY setopt INC_APPEND_HISTORY
setopt HIST_IGNORE_SPACE setopt HIST_IGNORE_SPACE
setopt SHARE_HISTORY setopt SHARE_HISTORY
setopt HIST_IGNORE_ALL_DUPS setopt HIST_IGNORE_ALL_DUPS
setopt HIST_REDUCE_BLANKS setopt HIST_REDUCE_BLANKS
# Other options # Other options
@ -91,7 +85,7 @@ setopt AUTO_CONTINUE
setopt NOCLOBBER setopt NOCLOBBER
# Completion # Completion
zmodload zsh/complist zmodload zsh/complist
autoload -Uz compinit autoload -Uz compinit
compinit compinit
zstyle :compinstall filename '${HOME}/.zshrc' zstyle :compinstall filename '${HOME}/.zshrc'
@ -121,3 +115,10 @@ zstyle ':completion:*' cache-path ~/.zsh/cache
# bindkey "^[[B" history-beginning-search-forward # bindkey "^[[B" history-beginning-search-forward
bindkey '^[[A' history-substring-search-up bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down bindkey '^[[B' history-substring-search-down
# Load aliases
[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc"
# Load environment
[ -f "$HOME/.aliasrc" ] && source "$HOME/.envrc"

Loading…
Cancel
Save