dotfiles

Cross platform dotfiles for linux, mac and windows
git clone git@getsh.org:dotfiles.git
Log | Files | Refs

commit 5138fc0d83f548fce94d694b1a7c57a24473b4a7
parent 6b57e2ead106d2d6e9c43952ab1eac8d2b3c6374
Author: Bharatvaj <bharatvaj@yahoo.com>
Date:   Wed,  7 Dec 2022 00:52:40 +0530

Merge branch 'main' of github.com:bharatvaj/dotfiles

Diffstat:
M.config/alacritty/alacritty.yml | 3++-
A.config/alacritty/bindings.yml | 2++
M.config/alacritty/font.yml | 16+++++++++-------
R.config/alacritty/theme.yml -> .config/alacritty/hyper-dark.yml | 0
A.config/alacritty/hyper-light.yml | 25+++++++++++++++++++++++++
M.config/git/config | 1+
A.config/mutt/keybindings | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/mutt/muttrc | 44++++++++++++++++++++++++++++++++++++++++++++
A.config/mutt/ui | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M.config/nvim/init.lua | 13+++++++++----
M.config/nvim/lua/keybindings.lua | 232+++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
D.config/nvim/lua/utils.lua | 11-----------
M.config/sh/aliases | 15+++++++++++----
M.config/sh/functions | 11+++++++----
M.config/tmux/tmux.conf | 17+++++++++--------
M.config/vim/gvimrc | 2+-
M.config/vim/hyper-red.vim | 56+++++++++++++++++++++++++++++++++++---------------------
A.config/vim/keybindings.vim | 117+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
D.config/vim/keybindings/keybindings.vim | 81-------------------------------------------------------------------------------
D.config/vim/keybindings/markdown.vim | 19-------------------
D.config/vim/keybindings/rust.vim | 1-
D.config/vim/keybindings/vimspector.vim | 25-------------------------
M.config/vim/plugin/plugin.vim | 45+++++++++++++++++++++++++++++++++++++++++++++
M.config/vim/vimrc | 18+++++++++++++-----
M.gitignore | 6+++---
M.gitmodules | 115++++++++++++++++++++++++++++++++++++-------------------------------------------
R.local/bin/call -> .local/bin/bash/call | 0
A.local/bin/sh/cam | 3+++
A.local/bin/sh/irc | 25+++++++++++++++++++++++++
A.local/bin/sh/ncp | 11+++++++++++
M.local/share/.gitignore | 15+++++++++++++++
A.local/share/nvim/pack/dev/opt/nvim-dap | 1+
A.local/share/nvim/pack/dev/opt/nvim-dap-ui | 1+
D.local/share/nvim/pack/development/opt/vimspector | 1-
D.local/share/nvim/pack/development/start/nvim-dap | 1-
D.local/share/nvim/pack/general/opt/vim-fugitive | 1-
D.local/share/nvim/pack/general/start/nvim-lspconfig | 1-
D.local/share/nvim/pack/general/start/plenary.nvim | 1-
D.local/share/nvim/pack/general/start/telescope.nvim | 1-
D.local/share/nvim/pack/general/start/vim-dispatch | 1-
D.local/share/nvim/pack/general/start/vim-tmux-navigator | 1-
D.local/share/nvim/pack/general/start/vim-unimpaired | 1-
D.local/share/nvim/pack/themes/start/gruvbox-material | 1-
D.local/share/vim/pack/development/opt/emmet-vim | 1-
D.local/share/vim/pack/development/opt/rust.vim | 1-
D.local/share/vim/pack/development/opt/vim-cmake | 1-
D.local/share/vim/pack/development/opt/vim-msbuild | 1-
D.local/share/vim/pack/general/opt/editorconfig-vim | 1-
D.local/share/vim/pack/general/opt/vim-codepainter | 1-
D.local/share/vim/pack/general/opt/vim-easymotion | 1-
D.local/share/vim/pack/general/opt/vim-fugitive | 1-
A.local/share/vim/pack/general/opt/vim-maildir | 1+
D.local/share/vim/pack/general/opt/vim-ninja-feet | 1-
D.local/share/vim/pack/general/opt/vim-surround | 1-
D.local/share/vim/pack/general/opt/vim-textobj-user | 1-
D.local/share/vim/pack/general/opt/vim-textobj-xmlattr | 1-
D.local/share/vim/pack/general/start/ctrlp.vim | 1-
D.local/share/vim/pack/general/start/mru | 1-
D.local/share/vim/pack/general/start/vim-checklist | 1-
D.local/share/vim/pack/general/start/vim-dispatch | 1-
D.local/share/vim/pack/general/start/vim-repeat | 1-
D.local/share/vim/pack/general/start/vim-tmux-navigator | 1-
D.local/share/vim/pack/general/start/vim-unimpaired | 1-
D.local/share/vim/pack/themes/start/gruvbox-material | 1-
A.local/share/vimcommon/minisnip/_c_i | 1+
A.local/share/vimcommon/minisnip/_c_main | 4++++
A.local/share/vimcommon/minisnip/_c_p | 1+
A.local/share/vimcommon/minisnip/_cmake_min | 5+++++
A.local/share/vimcommon/minisnip/_cmake_p | 1+
A.local/share/vimcommon/minisnip/_cpp_cout | 1+
A.local/share/vimcommon/minisnip/_java_main | 3+++
A.local/share/vimcommon/minisnip/_java_p | 1+
A.local/share/vimcommon/minisnip/_sh_p | 1+
A.local/share/vimcommon/pack/dev/opt/clang_complete | 1+
A.local/share/vimcommon/pack/dev/opt/swift.vim | 1+
A.local/share/vimcommon/pack/dev/opt/tagbar | 1+
A.local/share/vimcommon/pack/dev/opt/vim-cmake | 1+
A.local/share/vimcommon/pack/dev/opt/vim-msbuild | 1+
A.local/share/vimcommon/pack/dev/opt/vim-xcode | 1+
A.local/share/vimcommon/pack/dev/opt/vimspector | 1+
A.local/share/vimcommon/pack/dev/opt/xcodebuild.vim | 1+
A.local/share/vimcommon/pack/general/opt/birck.vim | 1+
A.local/share/vimcommon/pack/general/opt/mru | 1+
A.local/share/vimcommon/pack/general/opt/vim-fugitive | 1+
A.local/share/vimcommon/pack/general/opt/vim-ninja-feet | 1+
A.local/share/vimcommon/pack/general/opt/vim-tmux-navigator | 1+
A.local/share/vimcommon/pack/general/opt/vim-unimpaired | 1+
A.local/share/vimcommon/pack/general/start/vim-checklist | 1+
A.local/share/vimcommon/pack/general/start/vim-dispatch | 1+
A.local/share/vimcommon/pack/general/start/vim-minisnip | 1+
A.local/share/vimcommon/pack/general/start/vim-pbxproj | 1+
A.local/share/vimcommon/pack/general/start/vim-repeat | 1+
A.local/share/vimcommon/pack/general/start/vim-submode | 1+
A.local/share/vimcommon/pack/general/start/vim-surround | 1+
A.local/share/vimcommon/pack/general/start/vim-vinegar | 1+
A.local/share/vimcommon/pack/themes/opt/gruvbox-material | 1+
A.local/share/vimcommon/vimrc | 5+++++
M.profile | 3++-
98 files changed, 787 insertions(+), 364 deletions(-)

diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml @@ -2,11 +2,12 @@ mouse: hide_when_typing: true import: - - ~/.config/alacritty/theme.yml + - ~/.config/alacritty/hyper-dark.yml - ~/.config/alacritty/font.yml - ~/.config/alacritty/unix.yml - ~/.config/alacritty/windows.yml - ~/.config/alacritty/mac.yml + - ~/.config/alacritty/bindings.yml live_config_reload: true diff --git a/.config/alacritty/bindings.yml b/.config/alacritty/bindings.yml @@ -0,0 +1,2 @@ +key_bindings: + - { key: N, mods: Control|Shift, action: CreateNewWindow} diff --git a/.config/alacritty/font.yml b/.config/alacritty/font.yml @@ -1,16 +1,18 @@ font: + size: 12 normal: - family: Fira Mono - style: Regular + family: Bitstream Vera Sans Mono + style: Roman bold: - family: Fira Mono + family: Bitstream Vera Sans Mono + style: Bold italic: - family: Fira Mono - style: Regular Italic + family: Bitstream Vera Sans Mono + style: Oblique bold_italic: - family: Fira Mono - style: Bold Italic + family: Bitstream Vera Sans Mono + style: Bold Oblique diff --git a/.config/alacritty/theme.yml b/.config/alacritty/hyper-dark.yml diff --git a/.config/alacritty/hyper-light.yml b/.config/alacritty/hyper-light.yml @@ -0,0 +1,25 @@ +colors: + primary: + background: '0xffffff' + foreground: '0x000000' + + normal: + black: '0x000000' + red: '0xff0000' + green: '0xff00ff' + yellow: '0xaaaa10' + blue: '0x0000ff' + magenta: '0xa00095' + cyan: '0x3e953a' + white: '0xa5a5a5' + + bright: + black: '0x000000' + red: '0xff0000' + green: '0x3e953a' + yellow: '0xcccc10' + blue: '0x0000aa' + magenta: '0xa00095' + cyan: '0x3e953a' + white: '0xffffff' + diff --git a/.config/git/config b/.config/git/config @@ -27,6 +27,7 @@ st = status suir = submodule update --init --recursive wt = worktree + wta = worktree add [difftool] prompt = false diff --git a/.config/mutt/keybindings b/.config/mutt/keybindings @@ -0,0 +1,68 @@ +bind index,pager i noop +bind index,pager g noop +bind index \Cf noop +bind index,pager M noop +bind index,pager C noop + +# General rebindings +bind index gg first-entry +bind index j next-entry +bind index k previous-entry +bind attach <return> view-mailcap +bind attach l view-mailcap +bind editor <space> noop +bind index G last-entry +bind index gg first-entry +bind pager,attach h exit +bind pager j next-line +bind pager k previous-line +bind pager l view-attachments +bind index D delete-message +bind index U undelete-message +bind index L limit +bind index h noop +bind index l display-message +bind index,query <space> tag-entry +#bind browser h goto-parent +macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder" +bind index,pager H view-raw-message +bind browser l select-entry +bind pager,browser gg top-page +bind pager,browser G bottom-page +bind index,pager,browser d half-down +bind index,pager,browser u half-up +bind index,pager S sync-mailbox +bind index,pager R group-reply +bind index \031 previous-undeleted # Mouse wheel +bind index \005 next-undeleted # Mouse wheel +bind pager \031 previous-line # Mouse wheel +bind pager \005 next-line # Mouse wheel +bind editor <Tab> complete-query + +macro index S "<shell-escape>mbsync -c \"$XDG_CONFIG_HOME\"/isync/mbsyncrc -aV<enter>" "sync email" +macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox" +macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts" +macro index,pager gj "<change-folder>=Junk<enter>" "go to junk" +macro index,pager gt "<change-folder>=Trash<enter>" "go to trash" +macro index,pager gs "<change-folder>=Sent<enter>" "go to sent" +macro index,pager gb "<change-folder>=Business<enter>" "go to Business" +macro index,pager ga "<change-folder>=Archive<enter>" "go to archive" +macro index,pager gf "<change-folder>=Friends<enter>" "go to Friends" +macro index,pager gF "<change-folder>=Family<enter>" "go to Family" +macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox" +macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts" +macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk" +macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash" +macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent" +macro index,pager Mb ";<save-message>=Business<enter>" "move mail to Business" +macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive" +macro index,pager Mg ";<save-message>=Google<enter>" "move mail to google" +macro index,pager Mf ";<save-message>=Friends<enter>" "move mail to Friends" +macro index,pager MF ";<save-message>=Family<enter>" "move mail to Family" + +macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook" +macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read" +macro index O "<shell-escape>mw -Y<enter>" "run mw -Y to sync all mail" +macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern" +macro index A "<limit>all\n" "show all messages (undo limit)" + diff --git a/.config/mutt/muttrc b/.config/mutt/muttrc @@ -0,0 +1,44 @@ +set mbox_type = Maildir + +source ~/.config/mutt/keybindings +source ~/.config/mutt/ui +source ~/.config/mutt/accounts + +# mailbox settings +set spoolfile = + +set postponed = +Drafts +set record = +Sent +set trash = +Trash + +set auto_tag=true + +auto_view text/html +set mailcap_path = ~/.config/mutt/mailcap + +set query_command= "abook --mutt-query '%s'" + +set mailcap_path = "~/.config/mutt/mailcap" +set mime_type_query_command = "file --mime-type -b %s" +set date_format="%y/%m/%d %I:%M%p" +set index_format="%D %-15.15F %s (%-4.4c)" +set sort = 'reverse-date' +set smtp_authenticators = 'gssapi:login' +set query_command = "abook --mutt-query '%s'" +set rfc2047_parameters = yes +set sleep_time = 0 +set markers = no # Disables the `+` displayed at line wraps +set mark_old = no # Unread mail stay unread until read +set mime_forward = yes # attachments are forwarded with mail +set wait_key = no # mutt won't ask "press key to continue" +set fast_reply # skip to compose when replying +set fcc_attach # save attachments with the body +set forward_format = "Fwd: %s" # format of subject when forwarding +set forward_quote # include message in forwards +set reverse_name # reply as whomever it was to +# TODO should we include though? +set include # include message in replies +set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example) + +auto_view text/html +auto_view application/pgp-encrypted +alternative_order text/plain text/enriched text/html diff --git a/.config/mutt/ui b/.config/mutt/ui @@ -0,0 +1,72 @@ +# Default index colors: +color index yellow default '.*' +color index_author red default '.*' +color index_number blue default +color index_subject cyan default '.*' + +# New mail is boldened: +color index brightyellow black "~N" +color index_author brightred black "~N" +color index_subject brightcyan black "~N" + +# Tagged mail is highlighted: +color index brightyellow blue "~T" +color index_author brightred blue "~T" +color index_subject brightcyan blue "~T" + +# Other colors and aesthetic settings: +mono bold bold +mono underline underline +mono indicator reverse +mono error bold +color normal default default +color indicator brightblack white +color sidebar_highlight red default +color sidebar_divider brightblack black +color sidebar_flagged red black +color sidebar_new green black +color normal brightyellow default +color error red default +color tilde black default +color message cyan default +color markers red white +color attachment white default +color search brightmagenta default +color status brightyellow black +color hdrdefault brightgreen default +color quoted green default +color quoted1 blue default +color quoted2 cyan default +color quoted3 yellow default +color quoted4 red default +color quoted5 brightred default +color signature brightgreen default +color bold black default +color underline black default +color normal default default + +# Regex highlighting: +color header blue default ".*" +color header brightmagenta default "^(From)" +color header brightcyan default "^(Subject)" +color header brightwhite default "^(CC|BCC)" +color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses +color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL +color body green default "\`[^\`]*\`" # Green text between ` and ` +color body brightblue default "^# \.*" # Headings as bold blue +color body brightcyan default "^## \.*" # Subheadings as bold cyan +color body brightgreen default "^### \.*" # Subsubheadings as bold green +color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow +color body brightcyan default "[;:][-o][)/(|]" # emoticons +color body brightcyan default "[;:][)(|]" # emoticons +color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? +color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? +color body red default "(BAD signature)" +color body cyan default "(Good signature)" +color body brightblack default "^gpg: Good signature .*" +color body brightyellow default "^gpg: " +color body brightyellow red "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" +color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" + diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua @@ -9,6 +9,7 @@ require("keybindings") set.tabstop=4 +set.shiftwidth=4 set.number=true set.laststatus=1 set.expandtab=false @@ -26,9 +27,17 @@ g.netrw_liststyle = 3 require('nvim_comment').setup() +-- TODO use lua api +vim.cmd('source $XDG_DATA_HOME/vimcommon/vimrc') + vim.cmd([[ function! s:load_plugins(t) abort + packadd vim-tmux-navigator + packadd mru + packadd vim-surround + packadd vim-ninja-feet packadd vim-fugitive + packadd gruvbox-material endfunction augroup user_cmds @@ -37,7 +46,3 @@ augroup user_cmds augroup END ]]) --- theme --- hyper-red --- TODO use lua api -vim.cmd('source $XDG_CONFIG_HOME/vim/hyper-red.vim') diff --git a/.config/nvim/lua/keybindings.lua b/.config/nvim/lua/keybindings.lua @@ -1,10 +1,8 @@ --- keybindings -local set = vim.opt - +-- keybindings local set = vim.opt function save_and_build() -- TODO require vim-dispatch - vim.cmd('wall') - vim.cmd('Make') + vim.cmd('wall') + vim.cmd('Make') end function toggle_list(is_local_buffer) @@ -17,11 +15,74 @@ function toggle_list(is_local_buffer) end end --- function toggle_highlight() --- if vim.opt.highlight then --- vim. --- --- end +local map = vim.keymap.set + +-- Column Navigation/Scrolling +map('n', 'J', '<c-d>') +map('n', 'K', '<c-u>') +map('n', 'gJ', '<c-f>') +map('n', 'gK', '<c-b>') +-- map('n', '<c-d>', 'J') +-- map('n', 'g<c-d>', 'gJ') +-- map('n', '<c-u>', 'K') +-- map('n', 'g<c-u>', 'gK') + +-- Edit +-- map('n', "g<cr>", 'O') +-- map('n', "<cr>", 'o') + +-- send command upstream +map('n', "<esc>h", '<c-w>h') +map('n', "<esc>j", '<c-w>j') +map('n', "<esc>k", '<c-w>k') +map('n', "<esc>l", '<c-w>l') +map('n', "<esc>f", '<c-w>l') + +-- Horizonatal scrolling +map('n', "H", 'zH') +map('n', "L", 'zL') + +map('n', "zh", 'g0') +map('n', "zj", 'L') +map('n', "zk", 'H') +map('n', "zl", 'g$') +map('n', "zm", ":call cursor(0, len(getline('.'))/2)<cr>") +map('n', "zM", 'M') + +-- Line movements +map('n', "gh", '_') +map('n', "gl", '$') +map('n', "gm", 'M') + +map('n', "gM", 'M') + +map('n', "U", '<c-r>') +map('n', "<c-r>", '"') + +map('n', "<bs>", 's') +map('n', "z/", ':%s/') +map('n', "z?", ':%s?') + +map('n', "M", 'q') + +vim.api.nvim_create_autocmd('LspAttach', { + callback = function(args) + -- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + local lspbuf = vim.lsp.buf + local bufopts = { noremap=true, buffer=args.buf } + map({'n', 'v'}, '<a-CR>', lspbuf.code_action, bufopts) + map('n', 'gD', lspbuf.declaration, bufopts) + map('n', 'gd', lspbuf.definition, bufopts) + map('n', 'K', lspbuf.hover, bufopts) + map('n', 'gi', lspbuf.implementation, bufopts) + map('n', '<space>D', lspbuf.type_definition, bufopts) + map('n', '<space>rn', lspbuf.rename, bufopts) + map('n', '<space>ca', lspbuf.code_action, bufopts) + map('n', 'gr', lspbuf.references, bufopts) + map('n', '<space>f', function() lspbuf.format { async = true } end, bufopts) + end +}) vim.cmd([[ function! DiffWithSaved() @@ -37,68 +98,74 @@ function file_mv_helper() vim.cmd('normal! 0i"A"0y$A p0imv j0') end --- Run Make -local map = require("utils").map -- general -map("n", "<leader>co", ":copen<cr>", { silent = false }) -map("n", "<leader>cs", ":cdo<space>s/", { silent = false }) -map("n", "<leader>ec", ":edit $XDG_CONFIG_HOME/nvim/init.lua<cr>", { silent = true }) -map("n", "<leader>ek", ":edit $XDG_CONFIG_HOME/nvim/lua/keybindings.lua<cr>", { silent = false }) -map("n", "<leader>et", ":set expandtab<cr>", { silent = false }) -map("n", "<leader>ff", ":find *", { silent = false }) -map("n", "<leader>lb", ":ls<CR>:b<space>", { silent = false }) -map("n", "<leader>lo", ":lopen<cr>", { silent = false }) -map("n", "<leader>ls", ":ldo<space>s/", { silent = false }) -map("n", "<leader>p", ":Rg<cr>", { silent = false }) -map("n", "<leader>sc", ":source $XDG_CONFIG_HOME/nvim/init.lua<cr>", { silent = false }) -map("n", "<leader>so", ":source %<cr>", { silent = false }) -map("n", "<leader>sp", ":set paste<cr>", { silent = false }) -map("n", "<leader>tl", ":lua toggle_list(true)<CR>", { silent = true }) -map("n", "<leader>tt", ":tabnew<cr>", { silent = false }) -map("n", "<leader>vg", ":vimgrep<space>", { silent = false }) -map("n", "<leader>wd", ":call DiffWithSaved()<cr>", { silent = false }); +map("n", "<leader>aa", ":argadd **<cr>") +map("n", "<leader>co", ":copen<cr>") +map("n", "<leader>cd", ":cdo<space>s/") +map("n", "<leader>ec", ":edit $XDG_CONFIG_HOME/nvim/init.lua<cr>") +map("n", "<leader>ek", ":edit $XDG_CONFIG_HOME/nvim/lua/keybindings.lua<cr>") +map("n", "<leader>et", ":set expandtab<cr>") +map("n", "<leader>lb", ":ls<CR>:b<space>") +map("n", "<leader>lo", ":lopen<cr>") +map("n", "<leader>ld", ":ldo<space>s/") +map("n", "<leader>p", ":Rg<cr>") +map("n", "<leader>sc", ":source $XDG_CONFIG_HOME/nvim/init.lua<cr>") +map("n", "<leader>so", ":source %<cr>") +map("n", "<leader>spp", ":set paste<cr>") +map("n", "<leader>spa", ":set path+=**<cr>") +map("n", "<leader>tl", ":lua toggle_list(true)<CR>") +map("n", "<leader>tt", ":tabnew<cr>") +map("n", "<leader>vg", ":vimgrep<space>") +map("n", "<leader>wd", ":call DiffWithSaved()<cr>") -- quick write and quit -map("n", "<Leader>ww", ":w<CR>", { silent = true }) -map("n", "<Leader>wq", ":wq<CR>", { silent = true }) -map("n", "<Leader>qq", ":q<CR>", { silent = true }) -map("n", "<leader><cr>", ":noh<CR>", { silent = true }) +map("n", "<Leader>qq", ":q<CR>") +map("n", "<Leader>ww", ":w<CR>") +map("n", "<leader><cr>", ":noh<CR>") -- buffers -map("n", "<leader>sc", ":source ~/.config/vim/vimrc<enter>", { silent = true }) -map("n", "<leader>ss", ":split<enter>", { silent = true }) -map("n", "<leader>vv", ":vsplit<enter>", { silent = true }) - --- vimspector -map("n", "<leader>dd", ":call vimspector#Launch()<CR>", { silent = true }) -map("n", "<leader>dc", ":call GotoWindow(g:vimspector_session_windows.code)<CR>", { silent = true }) -map("n", "<leader>dt", ":call GotoWindow(g:vimspector_session_windows.tagpage)<CR>", { silent = true }) -map("n", "<leader>dv", ":call GotoWindow(g:vimspector_session_windows.variables)<CR>", { silent = true }) -map("n", "<leader>dw", ":call GotoWindow(g:vimspector_session_windows.watches)<CR>", { silent = true }) -map("n", "<leader>ds", ":call GotoWindow(g:vimspector_session_windows.stack_trace)<CR>", { silent = true }) -map("n", "<leader>do", ":call GotoWindow(g:vimspector_session_windows.output)<CR>", { silent = true }) -map("n", "<leader>de", ":call vimspector#Reset()<CR>", { silent = true }) - -map("n", "<leader>dtcb", ":call vimspector#CleanLineBreakpoint()<CR>", { silent = true }) - -map("n", "<leader>dl", "<Plug>VimspectorStepInto", { silent = true }) -map("n", "<leader>dj", "<Plug>VimspectorStepOver", { silent = true }) -map("n", "<leader>dk", "<Plug>VimspectorStepOut", { silent = true }) -map("n", "<leader>d_", "<Plug>VimspectorRestart", { silent = true }) -map("n", "<leader>d<space>", ":call vimspector#Continue()<CR>", { silent = true }) - -map("n", "<leader>drc", "<Plug>VimspectorRunToCursor", { silent = true }) -map("n", "<leader>dbp" , "<Plug>VimspectorToggleBreakpoint", { silent = true }) -map("n", "<leader>dcbp", "<Plug>VimspectorToggleConditionalBreakpoint", { silent = true }) - -map("n", "<leader>bb", ":lua save_and_build()<CR>", { silent = false }) +map("n", "<leader>sc", ":source ~/.config/vim/vimrc<enter>") +map("n", "<leader>ss", ":split<enter>") +map("n", "<leader>vv", ":vsplit<enter>") + +-- nvim-dap +map("n", "<leader>dd", ":lua require'dap'.continue()<cr>") +map("n", "<leader>de", ":lua require'dap'.terminate()<cr> | :lua require'dap'.close()<cr>") +map("n", "<leader>dl", ":lua require'dap'.step_into()<cr>") +map("n", "<leader>dj", ":lua require'dap'.step_over()<cr>") +map("n", "<leader>dk", ":lua require'dap'.step_out()<cr>") +map("n", "<leader>dr", ":lua require'dap'.restart()<cr>") + +-- nvim-dap-ui +map("n", "<leader>du", ":lua require'dapui'.toggle()<cr>") + +map("n", "<leader>drc", ":lua require'dap'.RunToCursor()") +map("n", "<leader>db" , ":lua require'dap'.toggle_breakpoint()<cr>") +map("n", "<leader>dcb", ":lua require'dap'.ToggleConditionalBreakpoint()") + +-- map("n", "<leader>dc", ":call GotoWindow(require'dap'.session_windows.code)<CR>") +-- map("n", "<leader>dt", ":call GotoWindow(require'dap'.session_windows.tagpage)<CR>") +-- map("n", "<leader>dv", ":call GotoWindow(require'dap'.session_windows.variables)<CR>") +-- map("n", "<leader>dw", ":call GotoWindow(require'dap'.session_windows.watches)<CR>") +-- map("n", "<leader>ds", ":call GotoWindow(require'dap'.session_windows.stack_trace)<CR>") +-- map("n", "<leader>do", ":call GotoWindow(require'dap'.session_windows.output)<CR>") +-- map("n", "<leader>dtcb", ":call vimspector#CleanLineBreakpoint()<CR>") + +map("n", "<leader>bb", ":lua save_and_build()<CR>") + + +-- development +map("n", "<leader>oc", ":grepadd /:: %") +map("n", "<leader>oh", ":grepadd /:: %") -- quick navigation --- telscope.nvim -map("n", "<leader><leader>", ":Telescope find_files<cr>", { silent = true }) +map("n", "<leader>fb", ":b *") +map("n", "<leader>ff", ":find *") +map("n", "<leader>fs", ":set foldmethod=syntax<cr>") + -- file helpers -map("n", "<leader>fmv", "lua file_mv_helper()", { silent = true }) +map("n", "<leader>fmv", "lua file_mv_helper()") -- doc functions function doc_quick_underline(n) @@ -113,26 +180,39 @@ function reverse_date() vim.cmd('normal! dt/wwpldeBP') end -map("n", "<leader>h1", ":lua doc_quick_underline(1)<cr>", { silent = true }); -map("n", "<leader>h2", ":lua doc_quick_underline(2)<cr>", { silent = true }); +map("n", "<leader>h1", ":lua doc_quick_underline(1)<cr>") +map("n", "<leader>h2", ":lua doc_quick_underline(2)<cr>") -map("n", "<leader>ct", ":ChecklistToggleCheckbox<cr>", { silent = true }); -map("n", "<leader>ce", ":ChecklistEnableCheckbox<cr>", { silent = true }); -map("n", "<leader>cd", ":ChecklistDisableCheckbox<cr>", { silent = true }); -map("n", "<leader>ct", ":ChecklistToggleCheckbox<cr>", { silent = true }); -map("n", "<leader>ce", ":ChecklistEnableCheckbox<cr>", { silent = true }); -map("n", "<leader>cd", ":ChecklistDisableCheckbox<cr>", { silent = true }); +map("n", "<leader>ct", ":ChecklistToggleCheckbox<cr>") +map("n", "<leader>ce", ":ChecklistEnableCheckbox<cr>") +-- map("n", "<leader>cd", ":ChecklistDisableCheckbox<cr>") -- vim.g.checklist_filetypes:append('adoc', 'md') -- vim-fugitive -map("n", "<leader>gg", ":Ggrep<space>", { silent = false }); -map("n", "<leader>lg", ":Glgrep<space>", { silent = false }); -map("n", "<leader>gwq", ":Gwq<cr>", { silent = false }); +map("n", "<leader>gd", ":Gvdiff") +map("n", "<leader>gg", ":Ggrep<space>") +map("n", "<leader>lg", ":Glgrep<space>") +map("n", "<leader>gwq", ":Gwq<cr>") + +-- useful +map("n", "<leader>nn", ":set number<cr>") -- neovim diagnostics -map("n", "<leader>sd", ":lua vim.diagnostic.open_float()<cr>", { silent = false }); +map("n", "<leader>sd", ":lua vim.diagnostic.open_float()<cr>") -- netrw keybindings -map("n", "<leader>sf", ":Ex<cr>", { silent = false }); +map("n", "<leader>sf", ":Ex<cr>") + +-- subst with power +map("n", "cn", "*``cgn") +map("n", "cN", "*``cgN") +vim.cmd([[ +let g:mc = "y/\\V\<C-r>=escape(@\", '/')\<CR>\<CR>" +vnoremap <expr> cn g:mc . "``cgn" +]]) + +-- nb +-- TODO open a fuzzy finder quickly. Even better use fuzzy finder without chdir +map("n", "<leader>nb", ":chdir $NB_PATH<cr> | :pwd<cr>") diff --git a/.config/nvim/lua/utils.lua b/.config/nvim/lua/utils.lua @@ -1,11 +0,0 @@ -local M = {} - -function M.map(mode, lhs, rhs, opts) - local options = { noremap = true } - if opts then - options = vim.tbl_extend("force", options, opts) - end - vim.api.nvim_set_keymap(mode, lhs, rhs, options) -end - -return M diff --git a/.config/sh/aliases b/.config/sh/aliases @@ -10,10 +10,10 @@ alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"' # [misc] alias doas=sudo -# [ls_conditioning] +# [baseutils_conditioning] thwart sl && thwart ld && thwart lls && thwart sls && thwart lsl && thwart lss && thwart kls -# [cd_conditioning] thwart cdd +thwart mr # [ip] there ifconfig && alias lip="ifconfig | grep -w inet | cut -d ' ' -f2" @@ -27,6 +27,8 @@ alias n='cd_and_ls' alias cf="quickopen cd d" alias ef="quickopen ${EDITOR} f" alias vf="quickopen ${VISUAL} f" +# TODO make it work for linux +alias of="quickopen open f" # This won't work with dash # dash want's alias \- # alias -- -='cd -' @@ -34,11 +36,16 @@ alias vf="quickopen ${VISUAL} f" # [shorthands] alias '?d'='sr duckduckgo' alias cls=clear -alias d='wget' +alias d='download' alias e='${EDITOR}' alias f='find . -name ' alias g='git' alias g=git alias l=lfcd -alias v='VIMINIT="" nvim' +alias le=less +alias m=make +alias v="VIMINIT='' nvim" alias x=extract_archive + +# [longhands] +alias girl='grep -irl' diff --git a/.config/sh/functions b/.config/sh/functions @@ -24,8 +24,12 @@ md() { # TODO make it non-interruptable insult() { - printf "You are a noob for typing '$1'\n" - sleep 5 + if type sl 1>/dev/null; then + sl + else + printf "You are a noob for typing '$1'\n" + sleep 5 + fi } thwart() { @@ -43,6 +47,5 @@ quickopen() { } cd_and_ls() { - cd $* - ls + cd $* && ls } diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf @@ -7,8 +7,8 @@ set -g set-titles on # Status bar set -g status-position top set -g status-justify left -set -g status-right "#(tmux-now-playing)" -set -g status-keys vi +# set -g status-right "#(tmux-now-playing)" +set -g status-right "" bind v split-window -h -c "#{pane_current_path}" bind s split-window -v -c "#{pane_current_path}" @@ -41,14 +41,15 @@ bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pb bind P paste-buffer # Themes -set -g status-bg black -set -g status-fg white -set -g window-status-current-style "bg=black,fg=red,bold" -set -g window-status-last-style "bg=black,fg=cyan" -set -g pane-active-border-style "fg=red" +set-option -g status-style "bg=default" +set -g status-fg default +set -g window-status-current-style "fg=red,bold" +set -g window-status-last-style "fg=cyan" +set -g pane-active-border-style "bg=default,fg=red" set -g pane-border-lines single set -g pane-border-status off -set -g popup-border-style "bg=black,fg=red" +set -g pane-border-indicators colour +set -g popup-border-style "bg=default,fg=grey" set -g popup-border-lines single # Smart pane switching with awareness of Vim splits. diff --git a/.config/vim/gvimrc b/.config/vim/gvimrc @@ -1,2 +1,2 @@ -set guifont=Fira\ Code\ SemiBold +set guifont=Bitstream\ Vera\ Sans\ Mono set guioptions= diff --git a/.config/vim/hyper-red.vim b/.config/vim/hyper-red.vim @@ -4,31 +4,45 @@ " Probably use a autogroup for handling tCo count change " Do it in lua if &background == "dark" - hi StatusLine ctermfg=Black ctermbg=LightBlue guifg=black guibg=white + hi LineNr guibg=NONE ctermbg=NONE guifg=DarkGray ctermfg=DarkGray + hi CursorLineNr guibg=NONE ctermbg=NONE guifg=White ctermfg=White + hi StatusLine cterm=bold gui=bold ctermfg=White ctermbg=Black guifg=White guibg=Black hi StatusLineNC guibg=lightgray ctermbg=lightgray guifg=black ctermfg=black + hi Statement ctermfg=Red guifg=Red + hi Constant ctermfg=LightGreen guifg=LightGreen + hi String ctermfg=LightBlue guifg=LightBlue + hi Special cterm=bold ctermfg=LightGreen guifg=LightYellow + hi Identifier ctermfg=White guifg=White + hi IncSearch ctermbg=Black ctermfg=Yellow guibg=Black guifg=Yellow + hi Search ctermbg=LightBlue ctermfg=Black guibg=Blue guifg=White + hi Todo cterm=underline ctermbg=NONE ctermfg=LightYellow guibg=NONE guifg=LightYellow + hi Comment ctermfg=DarkGray guifg=DarkGray + hi Visual ctermbg=White ctermfg=Black guibg=White guifg=Black + hi Type ctermfg=LightGray guifg=LightGray + hi PreProc ctermfg=DarkGray guifg=DarkGray + hi MatchParen ctermbg=NONE cterm=underline ctermfg=LightMagenta else - hi StatusLine guibg=darkblue ctermbg=darkblue guifg=white ctermfg=white - hi StatusLineNC guibg=darkgray ctermbg=darkgray guifg=white ctermfg=white + hi LineNr guibg=NONE ctermbg=NONE guifg=LightGray ctermfg=LightGray + hi StatusLine cterm=bold gui=bold guibg=NONE ctermbg=NONE guifg=Black ctermfg=Black + hi StatusLineNC guibg=DarkGray ctermbg=DarkGray guifg=White ctermfg=White + hi Statement ctermfg=Red guifg=Red + hi Constant ctermfg=Green guifg=Green + hi String ctermfg=DarkBlue guifg=DarkBlue + hi Special cterm=bold ctermfg=DarkGreen guifg=DarkGreen + hi Identifier ctermfg=Black guifg=Black + hi IncSearch ctermbg=White ctermfg=Yellow guibg=White guifg=Yellow + hi Search ctermbg=Blue ctermfg=White guibg=Blue guifg=White + hi Todo cterm=underline,bold ctermbg=NONE ctermfg=Yellow guibg=NONE guifg=Yellow + hi Comment ctermfg=LightGray guifg=LightGray + hi Visual ctermbg=Black ctermfg=white guibg=Black guifg=white + hi Type ctermfg=DarkGray guifg=DarkGray + hi PreProc ctermfg=LightGray guifg=LightGray + hi MatchParen guibg=NONE ctermbg=NONE gui=underline cterm=underline guifg=DarkMagenta ctermfg=DarkMagenta endif -hi LineNr guibg=NONE ctermbg=NONE guifg=DarkGray ctermfg=DarkGray set fillchars=vert:\│ hi VertSplit term=NONE cterm=NONE gui=NONE hi SignColumn ctermbg=NONE guibg=NONE -if empty($DISPLAY) -hi Comment ctermfg=NONE -else -hi Comment ctermfg=DarkGray guifg=DarkGray -hi Visual ctermbg=DarkGray ctermfg=white guibg=DarkGray guifg=white -hi Type ctermfg=LightGray guifg=LightGray -hi PreProc ctermfg=LightGray guifg=LightGray -endif -hi Statement ctermfg=Red guifg=LightGreen -hi Constant ctermfg=Red guifg=Red -hi String cterm=bold ctermfg=NONE guifg=LightRed -hi Special cterm=bold ctermfg=LightBlue guifg=LightYellow -hi Identifier ctermfg=White guifg=White -hi Search ctermbg=Blue ctermfg=White guibg=Blue guifg=White -hi Todo cterm=underline ctermbg=NONE ctermfg=LightYellow guibg=NONE guifg=LightYellow - -hi MatchParen ctermbg=NONE cterm=underline ctermfg=Magenta +if (&t_Co == 8) + hi Comment ctermfg=NONE +endif diff --git a/.config/vim/keybindings.vim b/.config/vim/keybindings.vim @@ -0,0 +1,117 @@ +" General keybindings +nnoremap <leader>aa :argadd **<cr> +nnoremap <leader>co :copen<cr> +nnoremap <leader>cs :cdo<space>s/ +nnoremap <leader>ec :edit $XDG_CONFIG_HOME/vim/vimrc<cr> +nnoremap <leader>ek :edit $XDG_CONFIG_HOME/vim/keybindings.vim<cr> +nnoremap <leader>et :set expandtab<cr> +nnoremap <leader>fa :find * +nnoremap <leader>ff :b * +nnoremap <leader>lb :ls<cr>:b<space> +nnoremap <leader>lo :lopen<cr> +nnoremap <leader>ls :ldo<space>s/ +nnoremap <leader>pp :Rg<cr> +nnoremap <leader>pv :packadd vimspector<cr> +nnoremap <leader>sc :source $XDG_CONFIG_HOME/vim/vimrc<cr> +nnoremap <leader>so :source %<cr> +nnoremap <leader>sp :set paste<cr> +nnoremap <leader>tt :tabnew<cr> +nnoremap <leader>vg :vimgrep<space> +" Buffer Creation +nnoremap <leader>sc :source $XDG_CONFIG_HOME/vim/vimrc<enter> +nnoremap <leader>ss :split<enter> +nnoremap <leader>vv :vsplit<enter> + +" Accessible completions +inoremap <c-f> <c-x><c-f> +inoremap <c-l> <c-x><c-l> +" Emacs line navigation in insert mode +inoremap <c-a> <c-o>0 +inoremap <c-e> <c-o>A +" Behave vim +nnoremap Y y$ + +fun! SetupCommandAlias(from, to) + exec 'cnoreabbrev <expr> '.a:from + \ .' ((getcmdtype() is# ":" && getcmdline() is# "'.a:from.'")' + \ .'? ("'.a:to.'") : ("'.a:from.'"))' +endfun +call SetupCommandAlias("W","w") +call SetupCommandAlias("Wq","wq") +call SetupCommandAlias("man","help") + +nnoremap <leader>tb :call ToggleBackground()<CR> +nnoremap <leader>tl :call ToggleList()<CR> +nnoremap <leader>bb :call SaveAndBuild()<CR> +nnoremap <leader>fmv :call FileMvHelper()<CR> + +" Quick save and write +nnoremap <leader>wq :wq<cr> +nnoremap <leader>ww :w<cr> +nnoremap <leader>qq :q<cr> + +" Fugitive +nnoremap <space>gd :Gvdiff<CR> + + +" Generate ctags +map <leader>gt :!sh -c "ctags `rg --files`"<CR> +set tags+=.git/tags + +nnoremap <CR> :noh<CR><CR>:<backspace> + +" Markdown +nnoremap <leader>cc :ChecklistToggleCheckbox<cr> + +let g:gutentags_file_list_command = 'rg --files' +nnoremap <tab><tab> :CtrlPBuffer<cr> + +" vim-fugitive +nnoremap <leader>gg :Ggrep<space> +nnoremap <leader>lg :Glgrep<space> + +autocmd FileType markdown set cursorline + +" Hide and format markdown elements like **bold** +autocmd FileType markdown set conceallevel=2 + +function QuickUnderline(n) + if a:n == 1 + normal! yypv$r= + else + normal! yypv$r- + endif +endfunction + +function ReverseDate() + normal! dt/wwpldeBP +endfunction + +nnoremap <leader>h1 :call QuickUnderline(1)<cr> +nnoremap <leader>h2 :call QuickUnderline(2)<cr> + +fun! GotoWindow(id) + call win_gotoid(a:id) +endfun + +" Debugger remaps +nnoremap <leader>dd :call vimspector#Launch()<CR> +nnoremap <leader>dc :call GotoWindow(g:vimspector_session_windows.code)<CR> +nnoremap <leader>dt :call GotoWindow(g:vimspector_session_windows.tagpage)<CR> +nnoremap <leader>dv :call GotoWindow(g:vimspector_session_windows.variables)<CR> +nnoremap <leader>dw :call GotoWindow(g:vimspector_session_windows.watches)<CR> +nnoremap <leader>ds :call GotoWindow(g:vimspector_session_windows.stack_trace)<CR> +nnoremap <leader>do :call GotoWindow(g:vimspector_session_windows.output)<CR> +nnoremap <leader>de :call vimspector#Reset()<CR> + +nnoremap <leader>dtcb :call vimspector#CleanLineBreakpoint()<CR> + +nmap <leader>dl <Plug>VimspectorStepInto +nmap <leader>dj <Plug>VimspectorStepOver +nmap <leader>dk <Plug>VimspectorStepOut +nmap <leader>d_ <Plug>VimspectorRestart +nnoremap <leader>d<space> :call vimspector#Continue()<CR> + +nmap <leader>drc <Plug>VimspectorRunToCursor +nmap <leader>dbp <Plug>VimspectorToggleBreakpoint +nmap <leader>dcbp <Plug>VimspectorToggleConditionalBreakpoint diff --git a/.config/vim/keybindings/keybindings.vim b/.config/vim/keybindings/keybindings.vim @@ -1,81 +0,0 @@ -" General keybindings -nnoremap <leader>lb :ls<CR>:b<space> -nnoremap <leader>co :copen<cr> -nnoremap <leader>cs :cdo<space>s/ -nnoremap <leader>ec :edit $XDG_CONFIG_HOME/vim/vimrc<cr> -nnoremap <leader>ek :edit $XDG_CONFIG_HOME/vim/keybindings/keybindings.vim<cr> -nnoremap <leader>et :set expandtab<cr> -nnoremap <leader>ff :find * -nnoremap <leader>lo :lopen<cr> -nnoremap <leader>ls :ldo<space>s/ -nnoremap <leader>p :Rg<cr> -nnoremap <leader>sc :source $XDG_CONFIG_HOME/vim/vimrc<cr> -nnoremap <leader>so :source %<cr> -nnoremap <leader>tt :tabnew<cr> -nnoremap <leader>vg :vimgrep<space> -" Buffer Creation -nnoremap <leader>sc :source ~/.config/vim/vimrc<enter> -nnoremap <leader>ss :split<enter> -nnoremap <leader>vv :vsplit<enter> - -" Accessible completions -inoremap <c-f> <c-x><c-f> -inoremap <c-l> <c-x><c-l> -" Emacs line navigation in insert mode -inoremap <c-a> <c-o>0 -inoremap <c-e> <c-o>A -" Behave vim -nnoremap Y y$ - -fun! SetupCommandAlias(from, to) - exec 'cnoreabbrev <expr> '.a:from - \ .' ((getcmdtype() is# ":" && getcmdline() is# "'.a:from.'")' - \ .'? ("'.a:to.'") : ("'.a:from.'"))' -endfun -call SetupCommandAlias("W","w") -call SetupCommandAlias("Wq","wq") -call SetupCommandAlias("man","help") - -nnoremap <leader>tl :call ToggleList()<CR> -nnoremap <leader>bb :call SaveAndBuild()<CR> -nnoremap <leader>fmv :call FileMvHelper()<CR> - -" Quick save and write -nnoremap <leader>wq :wq<cr> -nnoremap <leader>ww :w<cr> -nnoremap <leader>qq :q<cr> - -" Fugitive -nnoremap <space>gd :Gvdiff<CR> - - -" Generate ctags -map <leader>gt :!sh -c "ctags `rg --files`"<CR> -set tags+=.git/tags - -nnoremap <CR> :noh<CR><CR>:<backspace> - -" Plugin keybindings -source $XDG_CONFIG_HOME/vim/keybindings/vimspector.vim -source $XDG_CONFIG_HOME/vim/keybindings/markdown.vim - -" Development keybindings -" TODO Have a default build hotkey keybinding, maybe bb,br? -" And make it based on the project -" Make it as a filetype plugin. This should cover most cases. -" Cargo -nnoremap <leader>cb :Cargo build<cr> -nnoremap <leader>cr :Cargo run<cr> -" Markdown -nnoremap <leader>cc :ChecklistToggleCheckbox<cr> - -"ctrlp.vim -let g:ctrlp_map = '<leader><leader>' -let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] -let g:ctrlp_working_path_mode = 'r' -let g:gutentags_file_list_command = 'rg --files' -nnoremap <tab><tab> :CtrlPBuffer<cr> -" vim-fugitive -nnoremap <leader>gg :Ggrep<space> -nnoremap <leader>lg :Glgrep<space> - diff --git a/.config/vim/keybindings/markdown.vim b/.config/vim/keybindings/markdown.vim @@ -1,19 +0,0 @@ -autocmd FileType markdown set cursorline - -" Hide and format markdown elements like **bold** -autocmd FileType markdown set conceallevel=2 - -function QuickUnderline(n) - if a:n == 1 - normal! yypv$r= - else - normal! yypv$r- - endif -endfunction - -function ReverseDate() - normal! dt/wwpldeBP -endfunction - -nnoremap <leader>h1 :call QuickUnderline(1)<cr> -nnoremap <leader>h2 :call QuickUnderline(2)<cr> diff --git a/.config/vim/keybindings/rust.vim b/.config/vim/keybindings/rust.vim @@ -1 +0,0 @@ - diff --git a/.config/vim/keybindings/vimspector.vim b/.config/vim/keybindings/vimspector.vim @@ -1,25 +0,0 @@ -fun! GotoWindow(id) - call win_gotoid(a:id) -endfun - -" Debugger remaps -nnoremap <leader>dd :call vimspector#Launch()<CR> -nnoremap <leader>dc :call GotoWindow(g:vimspector_session_windows.code)<CR> -nnoremap <leader>dt :call GotoWindow(g:vimspector_session_windows.tagpage)<CR> -nnoremap <leader>dv :call GotoWindow(g:vimspector_session_windows.variables)<CR> -nnoremap <leader>dw :call GotoWindow(g:vimspector_session_windows.watches)<CR> -nnoremap <leader>ds :call GotoWindow(g:vimspector_session_windows.stack_trace)<CR> -nnoremap <leader>do :call GotoWindow(g:vimspector_session_windows.output)<CR> -nnoremap <leader>de :call vimspector#Reset()<CR> - -nnoremap <leader>dtcb :call vimspector#CleanLineBreakpoint()<CR> - -nmap <leader>dl <Plug>VimspectorStepInto -nmap <leader>dj <Plug>VimspectorStepOver -nmap <leader>dk <Plug>VimspectorStepOut -nmap <leader>d_ <Plug>VimspectorRestart -nnoremap <leader>d<space> :call vimspector#Continue()<CR> - -nmap <leader>drc <Plug>VimspectorRunToCursor -nmap <leader>dbp <Plug>VimspectorToggleBreakpoint -nmap <leader>dcbp <Plug>VimspectorToggleConditionalBreakpoint diff --git a/.config/vim/plugin/plugin.vim b/.config/vim/plugin/plugin.vim @@ -6,6 +6,14 @@ function! ToggleList() endif endfunction +function! ToggleBackground() + if &background == "light" + set background=dark + else + set background=light + endif +endfunction + function! FileMvHelper() :normal! 0i"A"0y$A p0imv j0 endfunction @@ -18,3 +26,40 @@ endfunction " TODO load this automatically source $XDG_CONFIG_HOME/vim/ftplugin/cpp.vim + + +" Mail +set rtp+=~/.local/share/nvim/pack/general/start/himalaya/vim + + +let g:birck_default_chan="irc.libera.chat" + +" Strip the newline from the end of a string +function! Chomp(str) + return substitute(a:str, '\n$', '', '') +endfunction + +" Find a file and pass it to cmd +function! DmenuOpen(cmd) + let fname = Chomp(system("git ls-files | dmenu-mac -i -l 20 -p " . a:cmd)) + if empty(fname) + return + endif + execute a:cmd . " " . fname +endfunction + +" find file in git repo +function! ChooseFile() + let dir = expand("%:h") + if empty(dir) | let dir = getcwd() | endif + + let root = system("cd " . dir . " && git rev-parse --show-toplevel") + if v:shell_error != 0 | echo "Not in a git repo" | return | endif + let root = root[0:-2] + + let selection = system("cd " . root . " && git ls-files -co --exclude-standard | choose") + if empty(selection) | echo "Canceled" | return | end + + echo "Finding file..." + exec ":e " . root . "/" . selection +endfunction diff --git a/.config/vim/vimrc b/.config/vim/vimrc @@ -39,6 +39,7 @@ set nowrapscan filetype plugin indent on set tabstop=4 set shiftwidth=4 +set expandtab " Netrw customization let g:netrw_banner = 0 @@ -49,19 +50,25 @@ set laststatus=1 set lazyredraw set ttyfast +set nospell + +set background=dark +syntax on indent off " Plugins source $XDG_CONFIG_HOME/vim/plugin/plugin.vim " Keybindings -source $XDG_CONFIG_HOME/vim/keybindings/keybindings.vim +source $XDG_CONFIG_HOME/vim/keybindings.vim + +" Common vimrc +source $XDG_DATA_HOME/vimcommon/vimrc set packpath^=$XDG_DATA_HOME/vim function! s:load_plugins(t) abort - " Use XDG Paths for vim - syntax on set synmaxcol=128 + " Use XDG Paths for vim " TODO compile hard constants somewhere based on OS set runtimepath^='$XDG_CONFIG_HOME/vim' set runtimepath+='$XDG_DATA_HOME/vim' @@ -75,13 +82,14 @@ function! s:load_plugins(t) abort set directory=$XDG_CACHE_HOME/vim/swap | call mkdir(&directory, 'p') set undodir=$XDG_CACHE_HOME/vim/undo | call mkdir(&undodir, 'p') packadd vim-tmux-navigator - packadd editorconfig-vim packadd vim-commentary + packadd mru packadd vim-surround packadd vim-ninja-feet packadd vim-fugitive + packadd vim-unimpaired packadd vim-better-whitespace - source $XDG_CONFIG_HOME/vim/hyper-red.vim + packadd gruvbox-material endfunction augroup user_cmds diff --git a/.gitignore b/.gitignore @@ -14,8 +14,9 @@ # Config !.config/ -# Local shell scripts !.local/ + +# Local shell scripts !.local/bin/ # !.local/bin/** !.local/bin/cmd/ @@ -23,5 +24,4 @@ !.local/bin/sh/ !.local/bin/sh/** -# !.local/share/vim/pack/**/start/** -# !.local/share/vim/pack/**/opt/** +!.local/share/ diff --git a/.gitmodules b/.gitmodules @@ -1,102 +1,93 @@ -[submodule ".local/share/vim/pack/development/opt/rust.vim"] - path = .local/share/vim/pack/development/opt/rust.vim - url = https://git::@github.com/rust-lang/rust.vim.git [submodule ".local/share/vim/pack/development/opt/vim-cmake"] - path = .local/share/vim/pack/development/opt/vim-cmake + path = .local/share/vimcommon/pack/dev/opt/vim-cmake url = https://git::@github.com/cdelledonne/vim-cmake.git [submodule ".local/share/vim/pack/development/opt/vim-msbuild"] - path = .local/share/vim/pack/development/opt/vim-msbuild + path = .local/share/vimcommon/pack/dev/opt/vim-msbuild url = https://git::@github.com/heaths/vim-msbuild.git -[submodule ".local/share/vim/pack/development/opt/emmet-vim"] - path = .local/share/vim/pack/development/opt/emmet-vim - url = https://github.com/mattn/emmet-vim -[submodule ".local/share/vim/pack/general/opt/editorconfig-vim"] - path = .local/share/vim/pack/general/opt/editorconfig-vim - url = https://git::@github.com/editorconfig/editorconfig-vim.git [submodule ".local/share/vim/pack/general/opt/vim-better-whitespace"] path = .local/share/vim/pack/general/opt/vim-better-whitespace url = https://git::@github.com/ntpeters/vim-better-whitespace.git -[submodule ".local/share/vim/pack/general/opt/vim-codepainter"] - path = .local/share/vim/pack/general/opt/vim-codepainter - url = https://git::@github.com/lpinilla/vim-codepainter.git [submodule ".local/share/vim/pack/general/opt/vim-commentary"] path = .local/share/vim/pack/general/opt/vim-commentary url = https://git::@github.com/tpope/vim-commentary.git [submodule ".local/share/vim/pack/general/opt/vim-surround"] - path = .local/share/vim/pack/general/opt/vim-surround + path = .local/share/vimcommon/pack/general/start/vim-surround url = https://git::@github.com/tpope/vim-surround.git -[submodule ".local/share/vim/pack/general/opt/vim-easymotion"] - path = .local/share/vim/pack/general/opt/vim-easymotion - url = https://git::@github.com/easymotion/vim-easymotion.git [submodule ".local/share/vim/pack/general/opt/vim-fugitive"] - path = .local/share/vim/pack/general/opt/vim-fugitive + path = .local/share/vimcommon/pack/general/opt/vim-fugitive url = https://git::@github.com/tpope/vim-fugitive.git [submodule ".local/share/vim/pack/general/opt/vim-ninja-feet"] - path = .local/share/vim/pack/general/opt/vim-ninja-feet + path = .local/share/vimcommon/pack/general/opt/vim-ninja-feet url = https://git::@github.com/tommcdo/vim-ninja-feet.git -[submodule ".local/share/vim/pack/general/opt/vim-textobj-user"] - path = .local/share/vim/pack/general/opt/vim-textobj-user - url = https://git::@github.com/kana/vim-textobj-user.git -[submodule ".local/share/vim/pack/general/opt/vim-textobj-xmlattr"] - path = .local/share/vim/pack/general/opt/vim-textobj-xmlattr - url = https://git::@github.com/whatyouhide/vim-textobj-xmlattr.git [submodule ".local/share/vim/pack/themes/start/gruvbox-material"] - path = .local/share/vim/pack/themes/start/gruvbox-material + path = .local/share/vimcommon/pack/themes/opt/gruvbox-material url = https://git::@github.com/sainnhe/gruvbox-material.git -[submodule ".local/share/nvim/pack/general/start/nvim-lspconfig"] - path = .local/share/nvim/pack/general/start/nvim-lspconfig - url = https://github.com/neovim/nvim-lspconfig [submodule ".local/share/vim/pack/general/start/vim-unimpaired"] - path = .local/share/vim/pack/general/start/vim-unimpaired + path = .local/share/vimcommon/pack/general/opt/vim-unimpaired url = https://github.com/tpope/vim-unimpaired [submodule ".local/share/vim/pack/general/start/vim-repeat"] - path = .local/share/vim/pack/general/start/vim-repeat + path = .local/share/vimcommon/pack/general/start/vim-repeat url = https://git::@github.com/tpope/vim-repeat.git [submodule ".local/share/vim/pack/general/start/vim-tmux-navigator"] - path = .local/share/vim/pack/general/start/vim-tmux-navigator + path = .local/share/vimcommon/pack/general/opt/vim-tmux-navigator url = https://github.com/christoomey/vim-tmux-navigator [submodule ".local/share/vim/pack/general/start/vim-dispatch"] - path = .local/share/vim/pack/general/start/vim-dispatch + path = .local/share/vimcommon/pack/general/start/vim-dispatch url = https://github.com/tpope/vim-dispatch [submodule ".local/share/vim/pack/general/start/mru"] - path = .local/share/vim/pack/general/start/mru + path = .local/share/vimcommon/pack/general/opt/mru url = https://github.com/yegappan/mru -[submodule ".local/share/vim/pack/general/start/ctrlp.vim"] - path = .local/share/vim/pack/general/start/ctrlp.vim - url = https://github.com/kien/ctrlp.vim -[submodule ".local/share/nvim/pack/general/start/telescope.nvim"] - path = .local/share/nvim/pack/general/start/telescope.nvim - url = https://github.com/nvim-telescope/telescope.nvim -[submodule ".local/share/nvim/pack/general/start/plenary.nvim"] - path = .local/share/nvim/pack/general/start/plenary.nvim - url = https://github.com/nvim-lua/plenary.nvim -[submodule ".local/share/nvim/pack/general/start/vim-dispatch"] - path = .local/share/nvim/pack/general/start/vim-dispatch - url = https://github.com/tpope/vim-dispatch [submodule ".local/share/nvim/pack/general/start/vim-dispatch-neovim"] path = .local/share/nvim/pack/general/start/vim-dispatch-neovim url = https://github.com/radenling/vim-dispatch-neovim -[submodule ".local/share/nvim/pack/general/start/vim-tmux-navigator"] - path = .local/share/nvim/pack/general/start/vim-tmux-navigator - url = https://github.com/christoomey/vim-tmux-navigator [submodule ".local/share/nvim/pack/development/start/nvim-dap"] - path = .local/share/nvim/pack/development/start/nvim-dap + path = .local/share/nvim/pack/dev/opt/nvim-dap url = https://github.com/mfussenegger/nvim-dap [submodule ".local/share/nvim/pack/general/start/nvim-comment"] path = .local/share/nvim/pack/general/start/nvim-comment url = https://github.com/terrortylor/nvim-comment [submodule ".local/share/nvim/pack/development/opt/vimspector"] - path = .local/share/nvim/pack/development/opt/vimspector + path = .local/share/vimcommon/pack/dev/opt/vimspector url = https://github.com/puremourning/vimspector [submodule ".local/share/vim/pack/general/start/vim-checklist"] - path = .local/share/vim/pack/general/start/vim-checklist + path = .local/share/vimcommon/pack/general/start/vim-checklist url = https://github.com/evansalter/vim-checklist -[submodule ".local/share/nvim/pack/general/opt/vim-fugitive"] - path = .local/share/nvim/pack/general/opt/vim-fugitive - url = https://git::@github.com/tpope/vim-fugitive.git -[submodule ".local/share/nvim/pack/general/start/vim-unimpaired"] - path = .local/share/nvim/pack/general/start/vim-unimpaired - url = https://github.com/tpope/vim-unimpaired -[submodule ".local/share/nvim/pack/themes/start/gruvbox-material"] - path = .local/share/nvim/pack/themes/start/gruvbox-material - url = https://git::@github.com/sainnhe/gruvbox-material.git +[submodule ".config/nvim/vim-vinegar"] + path = .config/nvim/vim-vinegar + url = https://github.com/tpope/vim-vinegar +[submodule ".local/share/nvim/pack/general/start/vim-vinegar"] + path = .local/share/vimcommon/pack/general/start/vim-vinegar + url = https://github.com/tpope/vim-vinegar +[submodule ".local/share/vim/pack/general/opt/birck.vim"] + path = .local/share/vimcommon/pack/general/opt/birck.vim + url = https://git.sr.ht/~torresjrjr/birck.vim +[submodule ".local/share/vim/pack/general/opt/vim-maildir"] + path = .local/share/vim/pack/general/opt/vim-maildir + url = https://github.com/ferranpm/vim-maildir +[submodule ".local/share/vimcommon/pack/general/start/vim-minisnip"] + path = .local/share/vimcommon/pack/general/start/vim-minisnip + url = https://github.com/joereynolds/vim-minisnip/ +[submodule ".local/share/vimcommon/pack/dev/opt/clang_complete"] + path = .local/share/vimcommon/pack/dev/opt/clang_complete + url = https://github.com/xavierd/clang_complete +[submodule ".local/share/vimcommon/pack/dev/opt/swift.vim"] + path = .local/share/vimcommon/pack/dev/opt/swift.vim + url = https://github.com/keith/swift.vim +[submodule ".local/share/vimcommon/pack/dev/opt/tagbar"] + path = .local/share/vimcommon/pack/dev/opt/tagbar + url = https://github.com/preservim/tagbar +[submodule ".local/share/vimcommon/pack/general/start/vim-pbxproj"] + path = .local/share/vimcommon/pack/general/start/vim-pbxproj + url = https://github.com/cfdrake/vim-pbxproj +[submodule ".local/share/vimcommon/pack/dev/opt/vim-submode"] + path = .local/share/vimcommon/pack/general/start/vim-submode + url = https://github.com/kana/vim-submode +[submodule ".local/share/vimcommon/pack/dev/opt/xcodebuild.vim"] + path = .local/share/vimcommon/pack/dev/opt/xcodebuild.vim + url = https://github.com/jerrymarino/xcodebuild.vim +[submodule ".local/share/nvim/pack/dev/opt/nvim-dap-ui"] + path = .local/share/nvim/pack/dev/opt/nvim-dap-ui + url = https://github.com/rcarriga/nvim-dap-ui +[submodule ".local/share/vimcommon/pack/dev/opt/vim-xcode"] + path = .local/share/vimcommon/pack/dev/opt/vim-xcode + url = https://github.com/gfontenot/vim-xcode diff --git a/.local/bin/call b/.local/bin/bash/call diff --git a/.local/bin/sh/cam b/.local/bin/sh/cam @@ -0,0 +1,3 @@ +#!/bin/sh + +ffplay -f avfoundation -i 1:0 -video_size 1280x720 -framerate 30 diff --git a/.local/bin/sh/irc b/.local/bin/sh/irc @@ -0,0 +1,25 @@ +#!/bin/sh + +test -z "${FUZZER}" && { printf "FUZZER not set\n"; exit 1; } + +CHATS="irc.freenode.net\nirc.libera.chat" + +startii() { + pick=`echo ${CHATS} | ${FUZZER}` + ii -s "${pick}" -n $IRC_NICK & +} + +startvim() { + vim "+packadd birck.vim | Birck" +} + + +iipid="$(pgrep ii)" + +if [ -n "${iipid}" ]; then + printf "ii is already running with pid: %s\n" "${iipid}" +else + startii +fi + +startvim diff --git a/.local/bin/sh/ncp b/.local/bin/sh/ncp @@ -0,0 +1,11 @@ +#!/bin/sh + +# Copies the given file over a server. +# 0x0.st is used for copying. +# WARNING: Don't use this for sensitive files. +if [ $# -ne 1 ]; then + printf "Usage: %s <file_to_upload>\n" "$0" + exit 1 +fi +file_to_upload="$1" +curl -F "file=@$file_to_upload" https://0x0.st diff --git a/.local/share/.gitignore b/.local/share/.gitignore @@ -1,2 +1,17 @@ +!vim/ !vim/pack/ !vim/pack/* + +!nvim/ +!nvim/pack/ +!nvim/pack/** + + +!vimcommon/ +!vimcommon/* +!vimcommon/pack/ +!vimcommon/pack/** +!vimcommon/minisnip/ +!vimcommon/minisnip/* + +tags diff --git a/.local/share/nvim/pack/dev/opt/nvim-dap b/.local/share/nvim/pack/dev/opt/nvim-dap @@ -0,0 +1 @@ +Subproject commit d2fcb949cd25fcdee0481a79672297082fc6c39e diff --git a/.local/share/nvim/pack/dev/opt/nvim-dap-ui b/.local/share/nvim/pack/dev/opt/nvim-dap-ui @@ -0,0 +1 @@ +Subproject commit 0f385f7f5268f408a546772c049271121b0d71c9 diff --git a/.local/share/nvim/pack/development/opt/vimspector b/.local/share/nvim/pack/development/opt/vimspector @@ -1 +0,0 @@ -Subproject commit a17d1e12450d3a2e55bb442a1091a1cff99bc5e2 diff --git a/.local/share/nvim/pack/development/start/nvim-dap b/.local/share/nvim/pack/development/start/nvim-dap @@ -1 +0,0 @@ -Subproject commit d2fcb949cd25fcdee0481a79672297082fc6c39e diff --git a/.local/share/nvim/pack/general/opt/vim-fugitive b/.local/share/nvim/pack/general/opt/vim-fugitive @@ -1 +0,0 @@ -Subproject commit 9a13fc87c4ab83ea81e71ccad9b846a5eb31a998 diff --git a/.local/share/nvim/pack/general/start/nvim-lspconfig b/.local/share/nvim/pack/general/start/nvim-lspconfig @@ -1 +0,0 @@ -Subproject commit 54181ddb2709a4cd594e29bf82343c79196ec0c6 diff --git a/.local/share/nvim/pack/general/start/plenary.nvim b/.local/share/nvim/pack/general/start/plenary.nvim @@ -1 +0,0 @@ -Subproject commit 986ad71ae930c7d96e812734540511b4ca838aa2 diff --git a/.local/share/nvim/pack/general/start/telescope.nvim b/.local/share/nvim/pack/general/start/telescope.nvim @@ -1 +0,0 @@ -Subproject commit b5833a682c511885887373aad76272ad70f7b3c2 diff --git a/.local/share/nvim/pack/general/start/vim-dispatch b/.local/share/nvim/pack/general/start/vim-dispatch @@ -1 +0,0 @@ -Subproject commit 00e77d90452e3c710014b26dc61ea919bc895e92 diff --git a/.local/share/nvim/pack/general/start/vim-tmux-navigator b/.local/share/nvim/pack/general/start/vim-tmux-navigator @@ -1 +0,0 @@ -Subproject commit 9ca5bfe5bd274051b5dd796cc150348afc993b80 diff --git a/.local/share/nvim/pack/general/start/vim-unimpaired b/.local/share/nvim/pack/general/start/vim-unimpaired @@ -1 +0,0 @@ -Subproject commit efdc6475f7ea789346716dabf9900ac04ee8604a diff --git a/.local/share/nvim/pack/themes/start/gruvbox-material b/.local/share/nvim/pack/themes/start/gruvbox-material @@ -1 +0,0 @@ -Subproject commit d4d5731854b5b029d33130748e33a654c216bfb4 diff --git a/.local/share/vim/pack/development/opt/emmet-vim b/.local/share/vim/pack/development/opt/emmet-vim @@ -1 +0,0 @@ -Subproject commit 1b7e460de071b7ed45cae3b5bec47310e7d12ed5 diff --git a/.local/share/vim/pack/development/opt/rust.vim b/.local/share/vim/pack/development/opt/rust.vim @@ -1 +0,0 @@ -Subproject commit c06a17151c69b9d61e60a28274932a28fd37c453 diff --git a/.local/share/vim/pack/development/opt/vim-cmake b/.local/share/vim/pack/development/opt/vim-cmake @@ -1 +0,0 @@ -Subproject commit 844b85677d52d932432eb115236d9173ebe3664d diff --git a/.local/share/vim/pack/development/opt/vim-msbuild b/.local/share/vim/pack/development/opt/vim-msbuild @@ -1 +0,0 @@ -Subproject commit 4766d9a225c433e7ce2625bcc6263bfd028c4a50 diff --git a/.local/share/vim/pack/general/opt/editorconfig-vim b/.local/share/vim/pack/general/opt/editorconfig-vim @@ -1 +0,0 @@ -Subproject commit 3078cd10b28904e57d878c0d0dab42aa0a9fdc89 diff --git a/.local/share/vim/pack/general/opt/vim-codepainter b/.local/share/vim/pack/general/opt/vim-codepainter @@ -1 +0,0 @@ -Subproject commit 1ae0ee4f48e7e196ef90bc84ecbc56cad231e9df diff --git a/.local/share/vim/pack/general/opt/vim-easymotion b/.local/share/vim/pack/general/opt/vim-easymotion @@ -1 +0,0 @@ -Subproject commit d75d9591e415652b25d9e0a3669355550325263d diff --git a/.local/share/vim/pack/general/opt/vim-fugitive b/.local/share/vim/pack/general/opt/vim-fugitive @@ -1 +0,0 @@ -Subproject commit 6f07d7e6cd23b7a76dc461fdfb1984717d233806 diff --git a/.local/share/vim/pack/general/opt/vim-maildir b/.local/share/vim/pack/general/opt/vim-maildir @@ -0,0 +1 @@ +Subproject commit 5fffc4b5ef0059dc07ed06970d7b14a581a3e35c diff --git a/.local/share/vim/pack/general/opt/vim-ninja-feet b/.local/share/vim/pack/general/opt/vim-ninja-feet @@ -1 +0,0 @@ -Subproject commit cb9b448dd468a338255aed474e6113ed115612c1 diff --git a/.local/share/vim/pack/general/opt/vim-surround b/.local/share/vim/pack/general/opt/vim-surround @@ -1 +0,0 @@ -Subproject commit f51a26d3710629d031806305b6c8727189cd1935 diff --git a/.local/share/vim/pack/general/opt/vim-textobj-user b/.local/share/vim/pack/general/opt/vim-textobj-user @@ -1 +0,0 @@ -Subproject commit 41a675ddbeefd6a93664a4dc52f302fe3086a933 diff --git a/.local/share/vim/pack/general/opt/vim-textobj-xmlattr b/.local/share/vim/pack/general/opt/vim-textobj-xmlattr @@ -1 +0,0 @@ -Subproject commit 694a297f1d75fd527e87da9769f3c6519a87ebb1 diff --git a/.local/share/vim/pack/general/start/ctrlp.vim b/.local/share/vim/pack/general/start/ctrlp.vim @@ -1 +0,0 @@ -Subproject commit 564176f01d7f3f7f8ab452ff4e1f5314de7b0981 diff --git a/.local/share/vim/pack/general/start/mru b/.local/share/vim/pack/general/start/mru @@ -1 +0,0 @@ -Subproject commit 8e8220a005d070dbd01caae86e3139d83fc444c4 diff --git a/.local/share/vim/pack/general/start/vim-checklist b/.local/share/vim/pack/general/start/vim-checklist @@ -1 +0,0 @@ -Subproject commit a63f22fdd1acfff7f4db3f79641135b9dc9a36fb diff --git a/.local/share/vim/pack/general/start/vim-dispatch b/.local/share/vim/pack/general/start/vim-dispatch @@ -1 +0,0 @@ -Subproject commit 00e77d90452e3c710014b26dc61ea919bc895e92 diff --git a/.local/share/vim/pack/general/start/vim-repeat b/.local/share/vim/pack/general/start/vim-repeat @@ -1 +0,0 @@ -Subproject commit 24afe922e6a05891756ecf331f39a1f6743d3d5a diff --git a/.local/share/vim/pack/general/start/vim-tmux-navigator b/.local/share/vim/pack/general/start/vim-tmux-navigator @@ -1 +0,0 @@ -Subproject commit 9ca5bfe5bd274051b5dd796cc150348afc993b80 diff --git a/.local/share/vim/pack/general/start/vim-unimpaired b/.local/share/vim/pack/general/start/vim-unimpaired @@ -1 +0,0 @@ -Subproject commit e4006d68cd4f390efef935bc09be0ce3bd022e72 diff --git a/.local/share/vim/pack/themes/start/gruvbox-material b/.local/share/vim/pack/themes/start/gruvbox-material @@ -1 +0,0 @@ -Subproject commit fb27ccbd20cc1eda04e181f22c722977bdf9c934 diff --git a/.local/share/vimcommon/minisnip/_c_i b/.local/share/vimcommon/minisnip/_c_i @@ -0,0 +1 @@ +#include <{{++}}.{{+h+}}> diff --git a/.local/share/vimcommon/minisnip/_c_main b/.local/share/vimcommon/minisnip/_c_main @@ -0,0 +1,4 @@ +int main(int argc, char* argv[]) { + {{++}} + return 0; +} diff --git a/.local/share/vimcommon/minisnip/_c_p b/.local/share/vimcommon/minisnip/_c_p @@ -0,0 +1 @@ +printf("{{+%s\n+}}", {{++}}); diff --git a/.local/share/vimcommon/minisnip/_cmake_min b/.local/share/vimcommon/minisnip/_cmake_min @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION {{++}}) + +project({{++}}) + +add_executable({{++}} PUBLIC {{++}}) diff --git a/.local/share/vimcommon/minisnip/_cmake_p b/.local/share/vimcommon/minisnip/_cmake_p @@ -0,0 +1 @@ +messages({{++}}) diff --git a/.local/share/vimcommon/minisnip/_cpp_cout b/.local/share/vimcommon/minisnip/_cpp_cout @@ -0,0 +1 @@ +std::cout << {{++}} << std::endl; diff --git a/.local/share/vimcommon/minisnip/_java_main b/.local/share/vimcommon/minisnip/_java_main @@ -0,0 +1,3 @@ +public static void main(String args[]) { + {{++}} +} diff --git a/.local/share/vimcommon/minisnip/_java_p b/.local/share/vimcommon/minisnip/_java_p @@ -0,0 +1 @@ +System.out.print({{++}}); diff --git a/.local/share/vimcommon/minisnip/_sh_p b/.local/share/vimcommon/minisnip/_sh_p @@ -0,0 +1 @@ +printf "{{+%s\n+}}" {{+""+}} diff --git a/.local/share/vimcommon/pack/dev/opt/clang_complete b/.local/share/vimcommon/pack/dev/opt/clang_complete @@ -0,0 +1 @@ +Subproject commit e25b6a54e5cf648eb36d5be5b82c1bbb22260fde diff --git a/.local/share/vimcommon/pack/dev/opt/swift.vim b/.local/share/vimcommon/pack/dev/opt/swift.vim @@ -0,0 +1 @@ +Subproject commit 3e0529e1a97e3da24aabd18daf8ed92c6da8c68b diff --git a/.local/share/vimcommon/pack/dev/opt/tagbar b/.local/share/vimcommon/pack/dev/opt/tagbar @@ -0,0 +1 @@ +Subproject commit 83933d557409639df53fd2ca21484279b5854c1e diff --git a/.local/share/vimcommon/pack/dev/opt/vim-cmake b/.local/share/vimcommon/pack/dev/opt/vim-cmake @@ -0,0 +1 @@ +Subproject commit 844b85677d52d932432eb115236d9173ebe3664d diff --git a/.local/share/vimcommon/pack/dev/opt/vim-msbuild b/.local/share/vimcommon/pack/dev/opt/vim-msbuild @@ -0,0 +1 @@ +Subproject commit 4766d9a225c433e7ce2625bcc6263bfd028c4a50 diff --git a/.local/share/vimcommon/pack/dev/opt/vim-xcode b/.local/share/vimcommon/pack/dev/opt/vim-xcode @@ -0,0 +1 @@ +Subproject commit 2adc409bd7bb58499218f4f487c825e55306e46d diff --git a/.local/share/vimcommon/pack/dev/opt/vimspector b/.local/share/vimcommon/pack/dev/opt/vimspector @@ -0,0 +1 @@ +Subproject commit 5c328b513485675c061558d2f25a98ee503cb243 diff --git a/.local/share/vimcommon/pack/dev/opt/xcodebuild.vim b/.local/share/vimcommon/pack/dev/opt/xcodebuild.vim @@ -0,0 +1 @@ +Subproject commit d62fa4cf952b4b8a1650778bdec284c35e468279 diff --git a/.local/share/vimcommon/pack/general/opt/birck.vim b/.local/share/vimcommon/pack/general/opt/birck.vim @@ -0,0 +1 @@ +Subproject commit e316a915b34f42f448966df7f79d10d8a49706c5 diff --git a/.local/share/vimcommon/pack/general/opt/mru b/.local/share/vimcommon/pack/general/opt/mru @@ -0,0 +1 @@ +Subproject commit 8e8220a005d070dbd01caae86e3139d83fc444c4 diff --git a/.local/share/vimcommon/pack/general/opt/vim-fugitive b/.local/share/vimcommon/pack/general/opt/vim-fugitive @@ -0,0 +1 @@ +Subproject commit 6f07d7e6cd23b7a76dc461fdfb1984717d233806 diff --git a/.local/share/vimcommon/pack/general/opt/vim-ninja-feet b/.local/share/vimcommon/pack/general/opt/vim-ninja-feet @@ -0,0 +1 @@ +Subproject commit cb9b448dd468a338255aed474e6113ed115612c1 diff --git a/.local/share/vimcommon/pack/general/opt/vim-tmux-navigator b/.local/share/vimcommon/pack/general/opt/vim-tmux-navigator @@ -0,0 +1 @@ +Subproject commit afb45a55b452b9238159047ce7c6e161bd4a9907 diff --git a/.local/share/vimcommon/pack/general/opt/vim-unimpaired b/.local/share/vimcommon/pack/general/opt/vim-unimpaired @@ -0,0 +1 @@ +Subproject commit e4006d68cd4f390efef935bc09be0ce3bd022e72 diff --git a/.local/share/vimcommon/pack/general/start/vim-checklist b/.local/share/vimcommon/pack/general/start/vim-checklist @@ -0,0 +1 @@ +Subproject commit a63f22fdd1acfff7f4db3f79641135b9dc9a36fb diff --git a/.local/share/vimcommon/pack/general/start/vim-dispatch b/.local/share/vimcommon/pack/general/start/vim-dispatch @@ -0,0 +1 @@ +Subproject commit 00e77d90452e3c710014b26dc61ea919bc895e92 diff --git a/.local/share/vimcommon/pack/general/start/vim-minisnip b/.local/share/vimcommon/pack/general/start/vim-minisnip @@ -0,0 +1 @@ +Subproject commit 1897727298c658dde9ec9deda0e56b608c8b2f32 diff --git a/.local/share/vimcommon/pack/general/start/vim-pbxproj b/.local/share/vimcommon/pack/general/start/vim-pbxproj @@ -0,0 +1 @@ +Subproject commit d230f2cc70faf47ec0b97ffefa8235991438aca8 diff --git a/.local/share/vimcommon/pack/general/start/vim-repeat b/.local/share/vimcommon/pack/general/start/vim-repeat @@ -0,0 +1 @@ +Subproject commit 24afe922e6a05891756ecf331f39a1f6743d3d5a diff --git a/.local/share/vimcommon/pack/general/start/vim-submode b/.local/share/vimcommon/pack/general/start/vim-submode @@ -0,0 +1 @@ +Subproject commit d29de4f55c40a7a03af1d8134453a703d6affbd2 diff --git a/.local/share/vimcommon/pack/general/start/vim-surround b/.local/share/vimcommon/pack/general/start/vim-surround @@ -0,0 +1 @@ +Subproject commit f51a26d3710629d031806305b6c8727189cd1935 diff --git a/.local/share/vimcommon/pack/general/start/vim-vinegar b/.local/share/vimcommon/pack/general/start/vim-vinegar @@ -0,0 +1 @@ +Subproject commit bb1bcddf43cfebe05eb565a84ab069b357d0b3d6 diff --git a/.local/share/vimcommon/pack/themes/opt/gruvbox-material b/.local/share/vimcommon/pack/themes/opt/gruvbox-material @@ -0,0 +1 @@ +Subproject commit 2807579bd0a9981575dbb518aa65d3206f04ea02 diff --git a/.local/share/vimcommon/vimrc b/.local/share/vimcommon/vimrc @@ -0,0 +1,5 @@ +set packpath^=$XDG_DATA_HOME/vimcommon + +let g:minisnip_dir=$XDG_DATA_HOME . '/vimcommon/minisnip' + +source $XDG_CONFIG_HOME/vim/hyper-red.vim diff --git a/.profile b/.profile @@ -99,4 +99,5 @@ chance "${XDG_CONFIG_HOME}/sh/unstaged" export LESS_TERMCAP_us=$'\E[0;31m' export LESS_TERMCAP_ue=$'\E[0m' export CLICOLOR=1 -export LSCOLORS="hxgxfxxxbxxxxxxxxxxxxx" +export LSCOLORS="xxexcxdxbxegxdxbagxcxd" +export LS_COLORS="di=0:ln=34:so=32:pi=33:ex=31:bd=34;46:cd=0;43:su=0;41:sg=30;46:tw=0;42:ow=0;43"