diff --git a/config/bspwm/bspwmrc b/config/bspwm/bspwmrc index f3d3d30..a8445dd 100755 --- a/config/bspwm/bspwmrc +++ b/config/bspwm/bspwmrc @@ -42,15 +42,12 @@ C focused_border_color "#008DCD" C urgent_border_color "#FF6C6B" #== BSPWM Rules -R kitty desktop='^1' focus=on follow=on -R Google-chrome desktop='^2' focus=on follow=on -R LibreWolf desktop='^2' focus=on follow=on -R Code desktop='^3' focus=on follow=on -R Joplin desktop='^4' focus=on follow=on -R Todoist desktop='^4' focus=on follow=on -R Simplenote desktop='^4' focus=on follow=on -R Nemo desktop='^5' focus=on follow=on -R Zathura desktop='^5' focus=on follow=on state=tiled -R discord desktop='^6' focus=on follow=off -R TelegramDesktop desktop='^6' focus=off follow=on +R kitty desktop='^1' focus=on follow=on +R Google-chrome desktop='^2' focus=on follow=on +R Code desktop='^3' focus=on follow=on +R Simplenote desktop='^4' focus=on follow=on +R Nemo desktop='^5' focus=on follow=on +R Zathura desktop='^5' focus=on follow=on state=tiled +R discord desktop='^6' focus=on follow=off +R TelegramDesktop desktop='^6' focus=off follow=on R KeePassXC desktop='^7' focus=on follow=on diff --git a/config/bspwm/sxhkd b/config/bspwm/sxhkd index a9835a7..ab75d4e 100644 --- a/config/bspwm/sxhkd +++ b/config/bspwm/sxhkd @@ -34,7 +34,7 @@ super + ctrl + {h,j,k,l} super + {_,shift + }{1-9} bspc {desktop -f,node -d} focused:'^{1-9}' -super + {t, f, e} +super + {s, f, d} bspc node -t {tiled, floating, fullscreen} # vim: ft=sxhkdrc diff --git a/config/nvim/init.vim b/config/nvim/init.vim index ddcf5b9..c6119f0 100644 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -11,84 +11,42 @@ call plug#begin('~/.vim/plugged') Plug 'lewis6991/gitsigns.nvim' " Theme Plug 'Smirnov-O/nten.vim' - " Status line & Buffer line + " Status line && Tab line Plug 'hoob3rt/lualine.nvim' Plug 'romgrk/barbar.nvim' " Better syntax hl Plug 'sheerun/vim-polyglot' Plug 'norcalli/nvim-colorizer.lua' - " Editor config - Plug 'editorconfig/editorconfig-vim' " Other - Plug 'vimwiki/vimwiki' Plug 'nvim-lua/plenary.nvim' call plug#end() -colo nvcode +colo codedark let mapleader=";" "== Tab(or spaces) set ts=4 sw=4 sts=4 set sta et ai -"== Vim config -source $HOME/.config/nvim/vimscript/config.vim - -"== Tab line -source $HOME/.config/nvim/vimscript/barbar.vim - -"== Status line -luafile $HOME/.config/nvim/lua/n-lualine.lua - -"== File explorer -luafile $HOME/.config/nvim/lua/n-nvimtree.lua - -"== Git -luafile $HOME/.config/nvim/lua/n-gitsigns.lua - -"== Emmet -source $HOME/.config/nvim/vimscript/emmet.vim - -"== Colorizer -luafile $HOME/.config/nvim/lua/n-colorizer.lua - -"== Notes -let g:vimwiki_list = [{'path': '~/notes', 'syntax': 'markdown', 'ext': '.md'}] - -"== Completion(LSP) -ino pumvisible() ? "\" : "\" -ino pumvisible() ? "\" : "\" -ino compe#confirm('') -nno sr :lua vim.lsp.buf.rename() -nno sh :lua vim.lsp.buf.hover() -nno si :lua vim.lsp.buf.definition() -nno sa :lua vim.lsp.buf.code_action() - -lua << EOF -require'lspconfig'.tsserver.setup{} -require'lspconfig'.gopls.setup{} -require'compe'.setup{ - enabled = true, - autocomplete = true, - source = { - path = true, - buffer = true, - nvim_lsp = true, - } -} -EOF - - -"== Custom setting for another files -au FileType python,elm setl sw=4 ts=4 -au FileType javascript,json,yaml,lua setl sw=2 ts=2 -au FileType javascript,vue,html,css,scss :EmmetInstall -au FileType go setl noet sw=4 ts=4 - "== Custom commands com! Prettier :sil !prettier -w % com! Term :vs|winc L|se nonu nornu|start|term +com! Notes :Files ~/notes com! GoFmt :sil !gofmt -w % -"== Mapping +"== Configs +source $HOME/.config/nvim/vimscript/config.vim +source $HOME/.config/nvim/vimscript/barbar.vim +source $HOME/.config/nvim/vimscript/emmet.vim +source /home/sasha/.config/nvim/vimscript/compe.vim source $HOME/.config/nvim/vimscript/mappings.vim +luafile $HOME/.config/nvim/lua/n-compe.lua +luafile $HOME/.config/nvim/lua/n-lualine.lua +luafile $HOME/.config/nvim/lua/n-nvimtree.lua +luafile $HOME/.config/nvim/lua/n-gitsigns.lua +luafile $HOME/.config/nvim/lua/n-colorizer.lua + +"== Custom setting for another files +au FileType python,elm setl sw=4 ts=4 sts=2 +au FileType javascript,html,vue,jst,pug,css,less,scss,json,yaml,lua setl sw=2 ts=2 sts=2 +au FileType go setl noet sw=4 ts=4 sts=2 diff --git a/config/nvim/lua/n-colorizer.lua b/config/nvim/lua/n-colorizer.lua index 4c2377a..214a937 100644 --- a/config/nvim/lua/n-colorizer.lua +++ b/config/nvim/lua/n-colorizer.lua @@ -1,6 +1,6 @@ require'colorizer'.setup( {'*';}, { - mode = 'foreground'; + mode = 'background'; RGB = true; -- #RGB hex codes RRGGBB = true; -- #RRGGBB hex codes RRGGBBAA = false; -- #RRGGBBAA hex codes diff --git a/config/nvim/lua/n-compe.lua b/config/nvim/lua/n-compe.lua new file mode 100644 index 0000000..3dc2449 --- /dev/null +++ b/config/nvim/lua/n-compe.lua @@ -0,0 +1,13 @@ +require'lspconfig'.tsserver.setup {} +require'lspconfig'.gopls.setup {} +require'lspconfig'.pyls.setup {} + +require'compe'.setup { + enabled = true, + autocomplete = true, + source = { + path = true, + buffer = true, + nvim_lsp = true, + }; +} diff --git a/config/nvim/lua/n-nvimtree.lua b/config/nvim/lua/n-nvimtree.lua index b0e6149..47bd882 100644 --- a/config/nvim/lua/n-nvimtree.lua +++ b/config/nvim/lua/n-nvimtree.lua @@ -1,8 +1,8 @@ local S = vim.g -- Settings -S.nvim_tree_side = "right" -S.nvim_tree_ignore = {".git", "node_modules", "venv"} +S.nvim_tree_side = "left" +S.nvim_tree_ignore = {".git", ".cache", "node_modules", "venv"} S.nvim_tree_auto_close = 0 S.nvim_tree_quit_on_open = 0 S.nvim_tree_width = 24 diff --git a/config/nvim/vimscript/barbar.vim b/config/nvim/vimscript/barbar.vim index 9120100..f723afc 100644 --- a/config/nvim/vimscript/barbar.vim +++ b/config/nvim/vimscript/barbar.vim @@ -15,3 +15,5 @@ nno :BufferGoto 8 nno :BufferGoto 9 nno :BufferClose nno :BufferClose! +nno :BufferMoveNext +nno :BufferMovePrevious diff --git a/config/nvim/vimscript/compe.vim b/config/nvim/vimscript/compe.vim new file mode 100644 index 0000000..4ff4da2 --- /dev/null +++ b/config/nvim/vimscript/compe.vim @@ -0,0 +1,11 @@ +" Settings +set completeopt=menuone,noselect + +" Mappings +ino pumvisible() ? "\" : "\" +ino pumvisible() ? "\" : "\" +ino compe#confirm('') +nno sr :lua vim.lsp.buf.rename() +nno sh :lua vim.lsp.buf.hover() +nno si :lua vim.lsp.buf.definition() +nno sa :lua vim.lsp.buf.code_action() diff --git a/config/nvim/vimscript/emmet.vim b/config/nvim/vimscript/emmet.vim index 36dfc2f..e0e70f6 100644 --- a/config/nvim/vimscript/emmet.vim +++ b/config/nvim/vimscript/emmet.vim @@ -1,6 +1,9 @@ -let g:user_emmet_mode = "in" -let g:user_emmet_leader_key=',' +"== Config +let g:user_emmet_mode = "i" +let g:user_emmet_expandabbr_key ='' +let g:user_emmet_leader = "," let g:user_emmet_settings = { -\ 'javascript': { -\ 'extends': 'jsx' -\ }} +\ 'javascript': {'extends': 'jsx'}} + +"== Auto load +au FileType html,jst,pug,vue,css,less,scss :EmmetInstall diff --git a/config/nvim/vimscript/mappings.vim b/config/nvim/vimscript/mappings.vim index 66ed9a2..5cba94f 100644 --- a/config/nvim/vimscript/mappings.vim +++ b/config/nvim/vimscript/mappings.vim @@ -1,4 +1,4 @@ -nno :w +nno :w nno :noh nno t :Term nno e :NvimTreeToggle @@ -8,13 +8,6 @@ nno ; :Files nno j :bn nno k :bp -" Terminal -tno -tno :winc h -tno :winc j -tno :winc k -tno :winc k - " Split nno :winc h nno :winc j @@ -25,3 +18,10 @@ nno spv :vs nno sph :sp nno spk :winc K nno spl :winc L + +" Terminal +tno +tno winc h +tno winc j +tno winc k +tno winc k diff --git a/gitconfig b/gitconfig index 84a6342..8133e2c 100644 --- a/gitconfig +++ b/gitconfig @@ -12,10 +12,4 @@ defaultBranch = main [alias] - ad = add -A - cm = commit -m - br = branch - df = diff - dh = diff HEAD l = log --oneline --decorate - st = status --porcelain diff --git a/tmux.conf b/tmux.conf index 99ffb8a..0ea140a 100644 --- a/tmux.conf +++ b/tmux.conf @@ -1,63 +1,50 @@ -###== General -set -sg escape-time 0 +set -sg escape-time 0 # ESC time out +set -g prefix C-a # Prefix +set -g mouse on # Mouse support -## Set prefix -set -g prefix C-d - -## Set base index +# Set base index set -g base-index 1 set -g pane-base-index 1 -## Mouse support -set -g mouse on -setw -g mouse on - -## 256 color support -set -g default-terminal "screen-256color" +# Colors set-option -sa terminal-overrides ",*:Tc" -###== Keybindongs -## HOME/END key support -bind-key -n Home send Escape "OH" -bind-key -n End send Escape "OF" -## Reload config +#== Keys bind r source-file ~/.tmux.conf \; display 'Reloaded tmux config' -## Vim keys for change window + +# Change pane bind -r h select-pane -L bind -r j select-pane -D bind -r k select-pane -U bind -r l select-pane -R -## Vim keys for resize window +# Resize pane bind -r H resize-pane -L 2 bind -r J resize-pane -D 2 bind -r K resize-pane -U 2 bind -r L resize-pane -R 2 -## Alternative window move +# Window move bind-key i swap-window -t -1 bind-key o swap-window -t +1 -## Alternative keys for create window +## Create window bind _ split-window -v bind - split-window -h -## Change focus on last panel +## Change focus on last window bind Tab last-window -###== Status bar -## Items +#== Status bar set -g status-right ' #{?client_prefix,*,} #S ' set -g status-left ' ' - -## Colors set -g status-bg default set -g status-fg black set -g status-style fg=colour110 -###== Pane border colors +#== Pane border colors set -g pane-border-style fg=colour240 set -g pane-active-border-style fg=colour39 set-window-option -g window-status-current-style fg=colour39 diff --git a/vscode/settings.json b/vscode/settings.json index c257c42..95a906c 100644 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -4,17 +4,16 @@ "workbench.sideBar.location": "right", "workbench.editor.untitled.hint": "hidden", - "workbench.iconTheme": "vs-minimal", "workbench.startupEditor": "none", "explorer.compactFolders": false, "explorer.confirmDragAndDrop": false, "explorer.confirmDelete": false, - "editor.cursorSmoothCaretAnimation": true, + // "editor.cursorSmoothCaretAnimation": true, "editor.fontFamily": "'Jetbrains Mono', monospace", "editor.hover.enabled": false, - "editor.lightbulb.enabled": false, + // "editor.lightbulb.enabled": false, "editor.minimap.enabled": false, "editor.smoothScrolling": true, "editor.mouseWheelZoom": true, @@ -28,6 +27,7 @@ "files.insertFinalNewline": true, "files.trimFinalNewlines": true, "files.trimTrailingWhitespace": true, + "search.quickOpen.includeHistory": false, "gitlens.codeLens.enabled": true, "git.autofetch": true, @@ -35,7 +35,7 @@ "git.enableSmartCommit": true, "extensions.ignoreRecommendations": true, - + "docker.showStartPage": false, "prettier.semi": false, "emmet.includeLanguages": {"javascript": "javascriptreact"}, @@ -47,4 +47,9 @@ "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.tabSize": 2, }, + "files.exclude": { + "**/.cache": true, + "**/node_modules": true + }, + } diff --git a/zshrc b/zshrc index 48e0920..88e8139 100644 --- a/zshrc +++ b/zshrc @@ -1,24 +1,26 @@ ## StartShip -eval "$(starship init zsh)" +#eval "$(starship init zsh)" ## Variables export GOPATH="$HOME/go" -export EDITOR="nvim" export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.golang/bin:$GOPATH/bin:$PATH" +export EDITOR="nvim" + +## FZF +export FZF_DEFAULT_COMMAND="fd -t f -E node_modules" ## Oh my zsh -plugins=(dotenv z) +plugins=(dotenv) ZSH_THEME="simple" source "$HOME/.oh-my-zsh/oh-my-zsh.sh" ## HotKets bindkey -s "^o" "ranger\n" -bindkey -s "^e" 'nvim $(fzf)\n' -bindkey -s "^f" 'cd $(fd -t directory | fzf)\n' bindkey -s "^g" "lazygit\n" ## FNM eval $(fnm env) +eval $(fnm completions) ## Aliases alias cls="clear" cp="cp -r" mkdir="mkdir -p"