133 lines
3.3 KiB
VimL
133 lines
3.3 KiB
VimL
""" Install plugin manager if not installed yet
|
|
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
|
|
if empty(glob(data_dir . '/autoload/plug.vim'))
|
|
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
|
endif
|
|
"""
|
|
|
|
""" It's for manpage in vim. `:Man 3 printf`
|
|
runtime! ftplugin/man.vim
|
|
"""
|
|
|
|
""" Save position in file.
|
|
autocmd BufReadPost * silent! normal! g`"zv
|
|
"""
|
|
|
|
""" Plugin manager
|
|
call plug#begin()
|
|
" List your plugins here
|
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
|
Plug 'junegunn/fzf.vim'
|
|
Plug 'tpope/vim-commentary'
|
|
Plug 'vimwiki/vimwiki'
|
|
Plug 'machakann/vim-highlightedyank'
|
|
Plug 'unblevable/quick-scope'
|
|
call plug#end()
|
|
"""
|
|
" let g:vimwiki_list = [{'path': '/Users/norets/Library/Mobile Documents/iCloud~md~obsidian/Documents/Main/',
|
|
" \ 'syntax': 'markdown', 'ext': 'md'}]
|
|
let g:vimwiki_list = [{'path': '/Users/norets/Library/Mobile Documents/iCloud~com~logseq~logseq/Documents/logseqnotes/pages',
|
|
\ 'syntax': 'markdown', 'ext': 'md'}]
|
|
|
|
|
|
""" quick-scope settings:
|
|
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
|
|
|
|
""" Remaping
|
|
let mapleader = " "
|
|
" FZF
|
|
nnoremap <leader>pf :Files<CR>
|
|
nnoremap <leader>bb :Buffers<CR>
|
|
nnoremap <leader>pg :GFiles<CR>
|
|
nnoremap <leader>ps :RG<CR>
|
|
" end_fzf
|
|
nnoremap <leader>z :noh<CR>
|
|
nnoremap <leader>bk :bdelete<CR>
|
|
vnoremap <leader>y "+y
|
|
nnoremap <leader>y "+y
|
|
" inoremap jk <ESC>
|
|
" inoremap kj <ESC>
|
|
nnoremap <leader>s :%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>
|
|
vnoremap J :m '>+1<CR>gv=gv
|
|
vnoremap K :m '<-2<CR>gv=gv
|
|
nnoremap <C-d> <C-d>zz
|
|
nnoremap <C-u> <C-u>zz
|
|
nnoremap n nzzzv
|
|
nnoremap N Nzzzv
|
|
nnoremap <leader>vsl :set wrap!<CR>
|
|
nnoremap <C-z> :cnext<CR>
|
|
nnoremap <C-q> :cprev<CR>
|
|
"""
|
|
|
|
syntax on
|
|
filetype plugin indent on
|
|
set cursorlineopt=number
|
|
set cul
|
|
set tabstop=4
|
|
set shiftwidth=4
|
|
set expandtab
|
|
set nowrap
|
|
" set guifont=Iosevka\ 20
|
|
set guioptions-=m
|
|
set guioptions-=T
|
|
set noesckeys
|
|
set relativenumber
|
|
set number
|
|
set ignorecase
|
|
set smartcase
|
|
set incsearch
|
|
set cinoptions=l1
|
|
set modeline
|
|
set keymap=russian-jcukenwin
|
|
set iminsert=0
|
|
set imsearch=0
|
|
set autoindent
|
|
set autochdir
|
|
set hlsearch
|
|
set ruler
|
|
set termguicolors
|
|
" colorscheme habamax
|
|
colorscheme jimbo
|
|
|
|
|
|
"" Cursor changer for `insert mode`
|
|
let &t_SI = "\e[6 q"
|
|
let &t_EI = "\e[2 q"
|
|
|
|
" reset the cursor on start (for older versions of vim, usually not required)
|
|
augroup myCmds
|
|
au!
|
|
autocmd VimEnter * silent !echo -ne "\e[2 q"
|
|
augroup END
|
|
"" End Cursor changer
|
|
|
|
map gf :e <cfile><CR>
|
|
|
|
set laststatus=1
|
|
set statusline=%4r
|
|
set statusline+=[
|
|
set statusline+=%n
|
|
set statusline+=]\
|
|
set statusline+=%F " Path to the file
|
|
set statusline+=%4m
|
|
set statusline+=%= " Switch to the right side
|
|
set statusline+=%y\ " Filetype of the file
|
|
set statusline+=%l,%c%V\ %P " Current line
|
|
" set statusline+=/ " Separator
|
|
" set statusline+=%L " Total lines
|
|
|
|
|
|
" autocmd FileType c setlocal makeprg=cc\
|
|
" augroup Linting
|
|
" autocmd!
|
|
" autocmd FileType c compiler gcc
|
|
" autocmd BufWritePost *.c silent make! <afile> | silent redraw!
|
|
" autocmd QuickFixCmdPost [^l]* cwindow
|
|
" augroup END
|
|
" augroup project
|
|
" autocmd!
|
|
" autocmd BufRead,BufNewFile *.h,*.c set filetype=c
|
|
" augroup END
|
|
|