From 0e248d1e44d9f41f90a3bbab1bec84bd7dafd5ff Mon Sep 17 00:00:00 2001 From: Alexander Kiryukhin Date: Tue, 31 Aug 2021 03:26:52 +0300 Subject: [PATCH] Initial --- git/config | 139 +++++++++++++++++++++++++++++++++++++++++ git/ignore | 29 +++++++++ install.sh | 7 +++ nvim/coc-settings.json | 9 +++ nvim/init.vim | 105 +++++++++++++++++++++++++++++++ 5 files changed, 289 insertions(+) create mode 100644 git/config create mode 100644 git/ignore create mode 100755 install.sh create mode 100644 nvim/coc-settings.json create mode 100644 nvim/init.vim diff --git a/git/config b/git/config new file mode 100644 index 0000000..ffab2d5 --- /dev/null +++ b/git/config @@ -0,0 +1,139 @@ +[user] + name = Alexander Kiryukhin + email = a.kiryukhin@mail.ru + signingkey = 1F234ED9217CA16DE1ACBA686DF7A2910D0699E9 + +[alias] + co = checkout + ci = commit + st = status + br = branch + hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short + type = cat-file -t + dump = cat-file -p + +[http] + sslVerify = false + +[commit] + gpgsign = true + verbose = true + +[branch] + autosetuprebase = always + +[help] + autocorrect = 1 + +[filter "media"] + clean = git-media-clean %f + smudge = git-media-smudge %f + +[remote "origin"] + fetch = +refs/pull/*/head:refs/remotes/origin/pull/* + +[receive] + fsckObjects = true + +[filter "lfs"] + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true + +[rebase] + autoStash = true + +[pull] + rebase = true + recurseSubmodules = on-demand + +[fetch] + prune = true + pruneTags = true + output = full + +[core] + preloadindex = true + excludesfile = ~/.gitignore + trustctime = false + commitGraph = true + +[color] + ui = auto + +[color "diff"] + meta = yellow bold + commit = green bold + frag = magenta bold + old = red bold + new = green bold + whitespace = red reverse + +[color "diff-highlight"] + oldNormal = red bold + oldHighlight = red bold 52 + newNormal = green bold + newHighlight = green bold 22 + +[color "branch"] + current = yellow reverse + local = yellow + remote = green + +[color "status"] + added = yellow + changed = green + untracked = cyan + +[diff] + indentHeuristic = true + algorithm = histogram + tool = vimdiff + +[log] + date = local + +[rerere] + enabled = true + +[pager] + color = true + +[status] + color = true + submodulesummary = true + +[sendemail] + smtpserver = smtp.mail.ru + smtpuser = a.kiryukhin@mail.ru + smtpserverport = 25 + smtpencryption = tls + +[init] + defaultBranch = master + +[pager] + diff = delta + log = delta + reflog = delta + show = delta + +[interactive] + diffFilter = delta --color-only --features=interactive + +[delta] + features = decorations + +[delta "interactive"] + keep-plus-minus-markers = false + +[delta "decorations"] + commit-decoration-style = blue ol + commit-style = raw + file-style = omit + hunk-header-decoration-style = blue box + hunk-header-file-style = red + hunk-header-line-number-style = "#067a00" + hunk-header-style = file line-number syntax + diff --git a/git/ignore b/git/ignore new file mode 100644 index 0000000..b055bbe --- /dev/null +++ b/git/ignore @@ -0,0 +1,29 @@ +# Packages +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Logs and databases +*.log +*.sqlite + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db + +# VS Code +.vscode + +# Ides +.Idea diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..b37e886 --- /dev/null +++ b/install.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +ln -s $(pwd)/nvim ${HOME}/.config/nvim +ln -s $(pwd)/git/config ${HOME}/.gitconfig +ln -s $(pwd)/git/ignore ${HOME}/.gitignore +ln -s $(pwd)/zsh/zsh ${HOME}/.oh-my-zsh +ln -s $(pwd)/zsh/zshrc ${HOME}/.zshrc diff --git a/nvim/coc-settings.json b/nvim/coc-settings.json new file mode 100644 index 0000000..cbac8e1 --- /dev/null +++ b/nvim/coc-settings.json @@ -0,0 +1,9 @@ +{ + "languageserver": { + "golang": { + "command": "gopls", + "rootPatterns": ["go.mod", ".vim/", ".git/", ".hg/"], + "filetypes": ["go"] + } + } +} diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 0000000..a590715 --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,105 @@ +call plug#begin('~/.vim/plugged') + +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' +Plug 'scrooloose/nerdtree' +Plug 'fatih/vim-go' +Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'} + +call plug#end() + +set noeb vb t_vb= +let mapleader = ',' +let g:go_def_mode='gopls' +let g:go_info_mode='gopls' +set colorcolumn=160 + + + +set number relativenumber +set nu rnu +set tabstop=4 +set shiftwidth=0 +set softtabstop=-1 +set expandtab +set autoindent +set cursorline +syntax enable +nnoremap :noh + +" autocmd vimenter * NERDTree + +" ------------------------------------------------------------------------------------------------- +" coc.nvim default settings +" ------------------------------------------------------------------------------------------------- + +" if hidden is not set, TextEdit might fail. +set hidden +" Better display for messages +set cmdheight=2 +" Smaller updatetime for CursorHold & CursorHoldI +set updatetime=300 +" don't give |ins-completion-menu| messages. +set shortmess+=c +" always show signcolumns +set signcolumn=yes + +" Use tab for trigger completion with characters ahead and navigate. +" Use command ':verbose imap ' to make sure tab is not mapped by other plugin. +inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() +inoremap pumvisible() ? "\" : "\" + +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +" Use to trigger completion. +inoremap coc#refresh() + +" Use `[c` and `]c` to navigate diagnostics +nmap [c (coc-diagnostic-prev) +nmap ]c (coc-diagnostic-next) + +" Remap keys for gotos +nmap gd (coc-definition) +nmap gy (coc-type-definition) +nmap gi (coc-implementation) +nmap gr (coc-references) + +" Use U to show documentation in preview window +nnoremap U :call show_documentation() + +" Remap for rename current word +nmap rn (coc-rename) + +" Remap for format selected region +vmap f (coc-format-selected) +nmap f (coc-format-selected) +" Show all diagnostics +nnoremap u :CocList diagnostics +" Manage extensions +nnoremap e :CocList extensions +" Show commands +nnoremap c :CocList commands +" Find symbol of current document +nnoremap o :CocList outline +" Search workspace symbols +nnoremap s :CocList -I symbols +" Do default action for next item. +nnoremap j :CocNext +" Do default action for previous item. +nnoremap k :CocPrev +" Resume latest coc list +nnoremap p :CocListResume + +" disable vim-go :GoDef short cut (gd) +" this is handled by LanguageClient [LC] +let g:go_def_mapping_enabled = 0 + + + +