aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitconfig2
-rw-r--r--.tmux.conf16
-rw-r--r--.vim/init.vim93
-rw-r--r--.vim/plugins/ack.vim7
-rw-r--r--.vim/plugins/ime.vim4
-rw-r--r--.vim/plugins/leaderf.vim8
-rw-r--r--.vim/plugins/ledger.vim14
-rw-r--r--.vim/plugins/markdown.vim4
-rw-r--r--.vim/plugins/misc.vim6
-rw-r--r--.vim/plugins/slime.vim15
-rw-r--r--.vim/plugins/vimspector.vim68
-rw-r--r--.vim/plugins/vimwiki.vim2
-rw-r--r--.vim/plugins/youcompleteme.vim8
-rw-r--r--.vimrc83
-rw-r--r--install.sh2
15 files changed, 221 insertions, 111 deletions
diff --git a/.gitconfig b/.gitconfig
index b99f85e..545ffb1 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -1,7 +1,5 @@
[user]
name = gxlin
-[http]
- proxy = http://127.0.0.1:7890
[init]
defaultBranch = main
diff --git a/.tmux.conf b/.tmux.conf
index b2e3fff..1813106 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -1,19 +1,19 @@
# modify the prefix
-unbind ^b
-set -g prefix 'M-`'
+# unbind ^b
+# set -g prefix 'M-`'
# vim mode
setw -g mode-keys vi
# copy and paste like vim
-bind -T copy-mode-vi 'v' send -X begin-selection
-bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
+# bind -T copy-mode-vi 'v' send -X begin-selection
+# bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
# swtich between pane
-bind h select-pane -L
-bind j select-pane -D
-bind k select-pane -U
-bind l select-pane -R
+# bind h select-pane -L
+# bind j select-pane -D
+# bind k select-pane -U
+# bind l select-pane -R
# resize the pane
# bind h resize-pane -L 10
diff --git a/.vim/init.vim b/.vim/init.vim
index 2a5d6df..bd00085 100644
--- a/.vim/init.vim
+++ b/.vim/init.vim
@@ -1 +1,94 @@
+" General Config
+
+set nocompatible
+set number
+set backspace=indent,eol,start
+syntax on
+set encoding=utf-8
+set t_Co=256
+set showcmd
+set autoread
+set mouse=a
+filetype indent on
+set modeline
+set textwidth=72
+set formatoptions+=mB
+set formatoptions-=t
+set secure
+
+set hidden
+
+set completeopt=menu,menuone
+
+if $COLORTERM is 'truecolor'
+ set termguicolors
+endif
+
+" MacVim
+
+if has("gui_running")
+ if has("gui_macvim")
+ set guifont=Monaco:h15
+ set noimdisable
+ set transparency=10
+ endif
+endif
+
+if has("macunix")
+endif
+
+" Identation
+
+set autoindent
+set tabstop=4
+set shiftwidth=4
+set expandtab
+set softtabstop=4
+
+autocmd FileType html setlocal shiftwidth=2 softtabstop=2 expandtab
+autocmd FileType css setlocal shiftwidth=2 softtabstop=2 expandtab
+autocmd FileType javascript setlocal shiftwidth=2 softtabstop=2 expandtab
+
+set wrap
+"set nowrap
+"set wrapmargin=4
+set scrolloff=5
+"set sidescrolloff=5
+set laststatus=2
+set ruler
+
+set hlsearch
+set incsearch
+set ignorecase
+set smartcase
+
+" Completion
+
+set wildmenu
+set wildmode=longest:list,full
+set wildignore=*.o,*.obj,*~
+set wildignore+=*DS_Store*
+set wildignore+=*.gem
+set wildignore+=*.png,*.jpg,*.gif
+
+" change default directory
+let s:vim_swapfiles_dir = expand('~/.vim/.swp/')
+if !isdirectory(s:vim_swapfiles_dir)
+ silent! call mkdir(s:vim_swapfiles_dir, 'p')
+endif
+set directory=~/.vim/.swp//
+
+" tags
+set tags=./.tags;,.tags
+
+" mapping
+let mapleader=',' " change the key <leader>
+nnoremap <leader>n :bn<CR>
+nnoremap <leader>p :bp<CR>
+
source ~/.dotfiles/.vim/plugins/init.vim
+
+silent colorscheme onehalfdark
+
+highlight Pmenu ctermbg=grey
+set exrc
diff --git a/.vim/plugins/ack.vim b/.vim/plugins/ack.vim
deleted file mode 100644
index dd96e47..0000000
--- a/.vim/plugins/ack.vim
+++ /dev/null
@@ -1,7 +0,0 @@
-Plug 'mileszs/ack.vim'
-
-if executable('ag')
- let g:ackprg = 'ag --vimgrep'
-endif
-cnoreabbrev Ack Ack!
-nnoremap <Leader>a :Ack!<Space>
diff --git a/.vim/plugins/ime.vim b/.vim/plugins/ime.vim
new file mode 100644
index 0000000..de7dcf2
--- /dev/null
+++ b/.vim/plugins/ime.vim
@@ -0,0 +1,4 @@
+Plug 'pi314/ime.vim'
+Plug 'pi314/ime-phonetic.vim'
+
+let g:ime_plugins = ['pinyin']
diff --git a/.vim/plugins/leaderf.vim b/.vim/plugins/leaderf.vim
index 4d6d0ac..584322a 100644
--- a/.vim/plugins/leaderf.vim
+++ b/.vim/plugins/leaderf.vim
@@ -1,10 +1,8 @@
-Plug 'Yggdroot/LeaderF', {'do': './install.sh'}
+Plug 'Yggdroot/LeaderF', {'do': ':LeaderfInstallCExtension'}
" " Show icons, icons are shown by default
let g:Lf_ShowDevIcons = 1
-" For GUI vim, the icon font can be specify like this, for example
-let g:Lf_DevIconsFont = "DejaVuSansMono Nerd Font Mono"
let g:Lf_WindowPosition = 'popup'
let g:Lf_ShortcutF = "<leader>ff"
@@ -12,11 +10,13 @@ noremap <leader>fb :<C-U><C-R>=printf("Leaderf buffer %s", "")<CR><CR>
noremap <leader>fm :<C-U><C-R>=printf("Leaderf mru %s", "")<CR><CR>
noremap <leader>ft :<C-U><C-R>=printf("Leaderf bufTag %s", "")<CR><CR>
noremap <leader>fl :<C-U><C-R>=printf("Leaderf line %s", "")<CR><CR>
+noremap <leader>fr :<C-U><C-R>=printf("Leaderf rg %s", "")<CR><CR>
noremap <C-B> :<C-U><C-R>=printf("Leaderf! rg --current-buffer -e %s ", expand("<cword>"))<CR>
noremap <C-F> :<C-U><C-R>=printf("Leaderf! rg -e %s ", expand("<cword>"))<CR>
" search visually selected text literally
xnoremap gf :<C-U><C-R>=printf("Leaderf! rg -F -e %s ", leaderf#Rg#visual())<CR>
noremap go :<C-U>Leaderf! rg --recall<CR>
-let g:Lf_RootMarkers = ['.project', '.root', '.svn', '.git']
+
let g:Lf_WorkingDirectoryMode = 'AF'
+let g:Lf_RootMarkers = ['.project', '.root', '.svn', '.git', '.hg']
diff --git a/.vim/plugins/ledger.vim b/.vim/plugins/ledger.vim
new file mode 100644
index 0000000..b3a1e25
--- /dev/null
+++ b/.vim/plugins/ledger.vim
@@ -0,0 +1,14 @@
+Plug 'ledger/vim-ledger', {'for': 'ledger'}
+
+let g:ledger_bin = 'ledger'
+let g:ledger_align_at = 50
+let g:ledger_commodity_before = 0
+
+au FileType ledger call s:ledger_keymap()
+
+function! s:ledger_keymap() abort
+ noremap { ?^\d<CR>
+ noremap } /^\d<CR>
+ inoremap <silent> <Tab> <C-r>=ledger#autocomplete_and_align()<CR>
+ vnoremap <silent> <Tab> :LedgerAlign<CR>
+endfunction
diff --git a/.vim/plugins/markdown.vim b/.vim/plugins/markdown.vim
new file mode 100644
index 0000000..1e12dad
--- /dev/null
+++ b/.vim/plugins/markdown.vim
@@ -0,0 +1,4 @@
+Plug 'iamcco/markdown-preview.nvim', {
+ \ 'do': {-> mkdp#util#install()},
+ \ 'for': ['markdown', 'vim-plug']
+ \ }
diff --git a/.vim/plugins/misc.vim b/.vim/plugins/misc.vim
index a07c23c..5067f5a 100644
--- a/.vim/plugins/misc.vim
+++ b/.vim/plugins/misc.vim
@@ -9,11 +9,7 @@ let g:asyncrun_bell = 1 " the bell rings when the task is done
" use f10 to open/close asyncrun quickfix window
nnoremap <F10> :call asyncrun#quickfix_toggle(6)<cr>
-Plug 'puremourning/vimspector'
-
-let g:vimspector_enable_mappings = 'HUMAN'
-
Plug 'mhinz/vim-signify'
Plug 'tpope/vim-unimpaired'
Plug 'godlygeek/tabular'
-Plug 'ledger/vim-ledger', {'for': 'ledger'}
+Plug 'sonph/onehalf', { 'rtp': 'vim' }
diff --git a/.vim/plugins/slime.vim b/.vim/plugins/slime.vim
new file mode 100644
index 0000000..0989a66
--- /dev/null
+++ b/.vim/plugins/slime.vim
@@ -0,0 +1,15 @@
+Plug 'jpalardy/vim-slime', {
+ \'on': [
+ \'<Plug>SlimeRegionSend',
+ \'<Plug>SlimeParagraphSend',
+ \'<Plug>SlimeConfig'
+ \]
+ \}
+
+let g:slime_no_mappings = 1
+
+xmap <c-c><c-c> <Plug>SlimeRegionSend
+nmap <c-c><c-c> <Plug>SlimeParagraphSend
+nmap <c-c>v <Plug>SlimeConfig
+
+let g:slime_target = 'tmux'
diff --git a/.vim/plugins/vimspector.vim b/.vim/plugins/vimspector.vim
new file mode 100644
index 0000000..a39d4bd
--- /dev/null
+++ b/.vim/plugins/vimspector.vim
@@ -0,0 +1,68 @@
+Plug 'puremourning/vimspector', { 'on': '<Plug>VimspectorContinue' }
+
+let g:vimspector_install_gadgets = ['debugpy']
+
+nmap <silent> <Leader>dc <Plug>VimspectorContinue
+nmap <silent> <Leader>dq <Plug>VimspectorStop
+nmap <silent> <Leader>db <Plug>VimspectorToggleBreakpoint
+nmap <silent> <Leader>dn <Plug>VimspectorStepOver
+nmap <silent> <Leader>ds <Plug>VimspectorStepInto
+nmap <silent> <Leader>df <Plug>VimspectorStepOut
+nmap <silent> <Leader>di <Plug>VimspectorBalloonEval
+xmap <silent> <Leader>di <Plug>VimspectorBalloonEval
+
+let s:mapped = {}
+
+function! s:set_debug_keymaps() abort
+ if has_key(s:mapped, string(bufnr()))
+ return
+ endif
+
+ " nmap <silent> <buffer> c <Plug>VimspectorContinue
+ " nmap <silent> <buffer> q <Plug>VimspectorStop
+ " nmap <silent> <buffer> b <Plug>VimspectorToggleBreakpoint
+ nmap <silent> <buffer> m <Plug>VimspectorStepOver
+ " nmap <silent> <buffer> s <Plug>VimspectorStepInto
+ " nmap <silent> <buffer> f <Plug>VimspectorStepOut
+ " nmap <silent> <buffer> i <Plug>VimspectorBalloonEval
+ " xmap <silent> <buffer> i <Plug>VimspectorBalloonEval
+
+ let s:mapped[string(bufnr())] = {'modifiable': &modifiable}
+
+ setlocal nomodifiable
+endfunction
+
+function! s:unset_debug_keymaps() abort
+ let original_buf = bufnr()
+ let hidden = &hidden
+
+ try
+ set hidden
+ for bufnr in keys(s:mapped)
+ try
+ execute 'noautocmd buffer' bufnr
+ " silent! nunmap <buffer> c
+ " silent! nunmap <buffer> q
+ " silent! nunmap <buffer> b
+ silent! nunmap <buffer> m
+ " silent! nunmap <buffer> s
+ " silent! nunmap <buffer> f
+ " silent! nunmap <buffer> i
+ " silent! xunmap <buffer> i
+
+ let &l:modifiable = s:mapped[bufnr]['modifiable']
+ endtry
+ endfor
+ finally
+ execute 'noautocmd buffer' original_buf
+ let &hidden = hidden
+ endtry
+
+ let s:mapped = {}
+endfunction
+
+augroup CustomMappings
+ au!
+ autocmd User VimspectorJumpedToFrame call s:set_debug_keymaps()
+ autocmd User VimspectorDebugEnded call s:unset_debug_keymaps()
+augroup end
diff --git a/.vim/plugins/vimwiki.vim b/.vim/plugins/vimwiki.vim
index 226e135..f2930e4 100644
--- a/.vim/plugins/vimwiki.vim
+++ b/.vim/plugins/vimwiki.vim
@@ -2,3 +2,5 @@ Plug 'vimwiki/vimwiki'
let g:vimwiki_list = [{'path': '~/Documents/notes',
\ 'syntax': 'markdown', 'ext': '.md'}]
+
+au FileType vimwiki setlocal textwidth=72
diff --git a/.vim/plugins/youcompleteme.vim b/.vim/plugins/youcompleteme.vim
index 449e8ff..e289214 100644
--- a/.vim/plugins/youcompleteme.vim
+++ b/.vim/plugins/youcompleteme.vim
@@ -1,4 +1,7 @@
-Plug 'Valloric/YouCompleteMe', {'do': 'python3 ./install.py --clangd-completer'}
+Plug 'Valloric/YouCompleteMe', {
+ \ 'do': 'python3 ./install.py --clangd-completer',
+ \ 'for': ['python', 'cpp']
+ \ }
let g:ycm_server_log_level = 'info'
let g:ycm_add_preview_to_completeopt = 0
@@ -10,3 +13,6 @@ let g:ycm_filetype_whilelist = {
\ "c": 1, "cpp": 1, "sh": 1, "zsh": 1,
\ "python": 1,
\ }
+let g:ycm_filetype_blacklist = {
+ \ 'ledger': 1
+ \ }
diff --git a/.vimrc b/.vimrc
deleted file mode 100644
index 092ea6b..0000000
--- a/.vimrc
+++ /dev/null
@@ -1,83 +0,0 @@
-" General Config
-
-set nocompatible
-set number
-set backspace=indent,eol,start
-syntax on
-set encoding=utf-8
-set t_Co=256
-set showcmd
-set autoread
-set mouse=a
-filetype indent on
-
-set hidden
-
-set completeopt=menu,menuone
-
-" MacVim
-
-if has("gui_running")
- if has("gui_macvim")
- set guifont=Monaco:h16
- set transparency=10
- endif
-endif
-
-if has("macunix")
-endif
-
-" Identation
-
-set autoindent
-set tabstop=4
-set shiftwidth=4
-set expandtab
-set softtabstop=4
-
-autocmd FileType html setlocal shiftwidth=2 softtabstop=2 expandtab
-autocmd FileType css setlocal shiftwidth=2 softtabstop=2 expandtab
-autocmd FileType javascript setlocal shiftwidth=2 softtabstop=2 expandtab
-
-set wrap
-"set nowrap
-"set wrapmargin=4
-set scrolloff=5
-"set sidescrolloff=5
-set laststatus=2
-set ruler
-
-set hlsearch
-set incsearch
-set ignorecase
-set smartcase
-
-" Completion
-
-set wildmenu
-set wildmode=longest:list,full
-set wildignore=*.o,*.obj,*~
-set wildignore+=*DS_Store*
-set wildignore+=*.gem
-set wildignore+=*.png,*.jpg,*.gif
-
-" change default directory
-let s:vim_swapfiles_dir = expand('~/.vim/.swp/')
-if !isdirectory(s:vim_swapfiles_dir)
- silent! call mkdir(s:vim_swapfiles_dir, 'p')
-endif
-set directory=~/.vim/.swp//
-
-" tags
-set tags=./.tags;,.tags
-
-" mapping
-let mapleader=',' " change the key <leader>
-nnoremap <leader>n :bn<CR>
-nnoremap <leader>p :bp<CR>
-nnoremap <leader>d :bd<CR>
-
-if filereadable(expand('~/.dotfiles/.vim/init.vim'))
- exec "source " . '~/.dotfiles/.vim/init.vim'
-endif
-
diff --git a/install.sh b/install.sh
index 7dd7ea4..e4a5761 100644
--- a/install.sh
+++ b/install.sh
@@ -24,13 +24,13 @@ get_dotfiles() {
cd "$HOME"
rm -rf .vimrc .tmux.conf .bashrc .zshrc .i3/config .emacs.d/init.el .gitconfig
- ln -s ~/.dotfiles/.vimrc .vimrc
ln -s ~/.dotfiles/.tmux.conf .tmux.conf
ln -s ~/.dotfiles/.bashrc .bashrc
ln -s ~/.dotfiles/.zshrc .zshrc
ln -s ~/.dotfiles/.emacs.d/init.el .emacs.d/init.el
ln -s ~/.dotfiles/.i3/config .i3/config
ln -s ~/.dotfiles/.gitconfig .gitconfig
+ echo "source ~/.dotfiles/.vim/init.vim" > ~/.vimrc
)
}