Change vim for neovim
This commit is contained in:
parent
f37de2a180
commit
013d6c4266
5
aliases
5
aliases
|
@ -1,4 +1,8 @@
|
|||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export EDITOR="/usr/bin/nvim"
|
||||
|
||||
#vim
|
||||
alias vim="nvim"
|
||||
|
||||
#ls
|
||||
alias ls="ls --color=auto"
|
||||
|
@ -7,7 +11,6 @@ alias ..="cd .."
|
|||
alias ...="cd ../.."
|
||||
alias ....="cd ../../.."
|
||||
alias .....="cd ../../../.."
|
||||
export EDITOR="/usr/bin/vim"
|
||||
|
||||
# improved reset and clear
|
||||
alias reset="tput reset"
|
||||
|
|
|
@ -287,7 +287,7 @@
|
|||
# On the US keyboard layout "grave" is normally above TAB and left
|
||||
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||
# e.g. check output of 'xmodmap -pke'
|
||||
history = ctrl+p
|
||||
history = ctrl+bracketleft
|
||||
|
||||
# Context menu.
|
||||
context = ctrl+shift+period
|
||||
|
|
|
@ -0,0 +1,119 @@
|
|||
syntax on
|
||||
filetype on
|
||||
filetype plugin on
|
||||
set encoding=utf-8
|
||||
set clipboard=unnamedplus
|
||||
set nu rnu
|
||||
set smartindent
|
||||
set nocp
|
||||
set bo=all
|
||||
colorscheme torte
|
||||
set ts=8
|
||||
set list
|
||||
set listchars=tab:*·,lead:·,trail:~,extends:>,precedes:<
|
||||
hi Whitespace ctermfg=233
|
||||
hi SignColumn ctermbg=233
|
||||
|
||||
nnoremap <F5> :set list!<cr>
|
||||
|
||||
noremap - ddp
|
||||
nnoremap _ ddkP
|
||||
|
||||
let mapleader = " "
|
||||
let maplocalleader = ","
|
||||
|
||||
nnoremap <leader>ev :vsplit $MYVIMRC<cr>
|
||||
nnoremap <leader>sv :source $MYVIMRC<cr>
|
||||
nnoremap <C-s> :%s//gc<left><left><left>
|
||||
nnoremap <C-w>t :tabnew<cr>
|
||||
|
||||
vnoremap <leader>" <esc>a"<esc>`<i"<esc>`>
|
||||
nnoremap H 0
|
||||
nnoremap L $
|
||||
|
||||
augroup html
|
||||
autocmd!
|
||||
autocmd FileType html inoremap <buffer> > ><esc>F<"tyef>"tpa><esc>T<i/<c-o>T>
|
||||
autocmd FileType html inoremap <buffer> = =""<left>
|
||||
autocmd FileType html inoremap <buffer> \= =
|
||||
autocmd FileType html inoremap <buffer> \> >
|
||||
autocmd FileType html iabbrev <buffer> <! <!DOCTYPE html><c-o>df>
|
||||
autocmd FileType html nnoremap <buffer> <localleader>f Vatzf
|
||||
autocmd FileType html vnoremap <buffer> H "tdh?><CR>"tpvT>
|
||||
autocmd FileType html vnoremap <buffer> L "td/<<CR>"tPg;vt<
|
||||
augroup END
|
||||
|
||||
call plug#begin('~/.config/nvim/plugged')
|
||||
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
|
||||
Plug 'scrooloose/nerdtree'
|
||||
Plug 'scrooloose/nerdcommenter'
|
||||
|
||||
" LSP config
|
||||
Plug 'neovim/nvim-lspconfig'
|
||||
" *auto* completion
|
||||
Plug 'hrsh7th/nvim-compe'
|
||||
|
||||
Plug 'tpope/vim-fugitive'
|
||||
|
||||
call plug#end()
|
||||
|
||||
let g:airline_theme = "powerlineish"
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
let g:airline_powerline_fonts = 1
|
||||
|
||||
|
||||
lua << EOF
|
||||
--- nvim-compe
|
||||
require'compe'.setup {
|
||||
enabled = true;
|
||||
autocomplete = true;
|
||||
debug = false;
|
||||
min_length = 1;
|
||||
preselect = 'enable';
|
||||
throttle_time = 80;
|
||||
source_timeout = 200;
|
||||
incomplete_delay = 400;
|
||||
max_abbr_width = 100;
|
||||
max_kind_width = 100;
|
||||
max_menu_width = 100;
|
||||
documentation = true;
|
||||
|
||||
source = {
|
||||
path = true;
|
||||
nvim_lsp = true;
|
||||
};
|
||||
}
|
||||
|
||||
--- IMPORTANT
|
||||
vim.api.nvim_set_keymap('i', '<cr>', 'compe#confirm("<cr>")', { expr = true })
|
||||
|
||||
--- LSP
|
||||
local nvim_lsp = require('lspconfig')
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(client, bufnr)
|
||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||
|
||||
--Enable completion triggered by <c-x><c-o>
|
||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = { 'pyright', 'clangd' }
|
||||
for _, lsp in ipairs(servers) do
|
||||
nvim_lsp[lsp].setup {
|
||||
on_attach = on_attach,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
}
|
||||
}
|
||||
end
|
||||
EOF
|
||||
|
||||
" auto close scratch buffer (preview window)
|
||||
autocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif
|
69
home/vimrc
69
home/vimrc
|
@ -1,69 +0,0 @@
|
|||
syntax on
|
||||
filetype on
|
||||
colorscheme torte
|
||||
set clipboard=unnamedplus
|
||||
set nu rnu
|
||||
set smartindent
|
||||
|
||||
noremap - ddp
|
||||
nnoremap _ ddkP
|
||||
|
||||
let mapleader = " "
|
||||
let maplocalleader = ","
|
||||
|
||||
nnoremap <leader>ev :vsplit $MYVIMRC<cr>
|
||||
nnoremap <leader>sv :source $MYVIMRC<cr>
|
||||
nnoremap <C-s> :%s//gc<left><left><left>
|
||||
nnoremap <C-w>t :tabnew<cr>
|
||||
|
||||
vnoremap <leader>" <esc>a"<esc>`<i"<esc>`>
|
||||
nnoremap H 0
|
||||
nnoremap L $
|
||||
|
||||
augroup comments
|
||||
autocmd!
|
||||
autocmd FileType javascript nnoremap <buffer> <localleader>c 0i//<esc>
|
||||
autocmd FileType c nnoremap <buffer> <localleader>c 0i//<esc>
|
||||
autocmd FileType python nnoremap <buffer> <localleader>c 0i#<esc>
|
||||
autocmd FileType html nnoremap <buffer> <localleader>c 0i<!--<esc>A--><esc>
|
||||
augroup END
|
||||
|
||||
augroup html
|
||||
autocmd!
|
||||
autocmd FileType html inoremap <buffer> > ><esc>F<"tyef>"tpa><esc>T<i/<c-o>T>
|
||||
autocmd FileType html inoremap <buffer> = =""<left>
|
||||
autocmd FileType html inoremap <buffer> \= =
|
||||
autocmd FileType html inoremap <buffer> \> >
|
||||
autocmd FileType html iabbrev <buffer> <! <!DOCTYPE html><c-o>df>
|
||||
autocmd FileType html nnoremap <buffer> <localleader>f Vatzf
|
||||
autocmd FileType html vnoremap <buffer> H "tdh?><CR>"tpvT>
|
||||
autocmd FileType html vnoremap <buffer> L "td/<<CR>"tPg;vt<
|
||||
augroup END
|
||||
|
||||
augroup python
|
||||
autocmd!
|
||||
" autocmd FileType python set et
|
||||
autocmd FileType python set ts=4
|
||||
augroup END
|
||||
|
||||
call plug#begin()
|
||||
|
||||
Plug 'valloric/youcompleteme', { 'do': './install.py --clangd-completer'}
|
||||
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
|
||||
Plug 'scrooloose/nerdtree'
|
||||
Plug 'scrooloose/nerdcommenter'
|
||||
|
||||
Plug 'tpope/vim-fugitive'
|
||||
|
||||
call plug#end()
|
||||
|
||||
nnoremap <C-n> :NERDTree<cr>
|
||||
|
||||
let g:airline_theme = "powerlineish"
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
|
||||
:let g:ycm_autoclose_preview_window_after_completion = 1
|
||||
nnoremap <C-F12> :!compiledb make<cr>
|
|
@ -0,0 +1,150 @@
|
|||
" no highlighting search
|
||||
set nohlsearch
|
||||
|
||||
" encoding:
|
||||
set encoding=utf-8
|
||||
|
||||
" line numbers:
|
||||
set number relativenumber
|
||||
|
||||
" color highlighting:
|
||||
syntax on
|
||||
|
||||
" Use 256 colours
|
||||
set t_Co=256
|
||||
|
||||
" copying/paste from system register (requires xclip)
|
||||
set clipboard+=unnamedplus
|
||||
|
||||
" Always show statusline:
|
||||
set laststatus=2
|
||||
|
||||
" Easier panel navigation
|
||||
map <C-h> <C-w>h
|
||||
map <C-j> <C-w>j
|
||||
map <C-k> <C-w>k
|
||||
map <C-l> <C-w>l
|
||||
|
||||
" Easier tab
|
||||
nnoremap <silent> <C-w>t :tabnew<CR>
|
||||
|
||||
" Easier find and replace
|
||||
nnoremap <C-s> :%s//gc<Left><Left><Left>
|
||||
|
||||
" Disable annoying keybindings
|
||||
"Command/Search History
|
||||
nnoremap q: <Nop>
|
||||
nnoremap q/ <Nop>
|
||||
nnoremap q? <Nop>
|
||||
cnoremap <C-f> <Nop>
|
||||
"Manual (wtf??)
|
||||
nnoremap <S-k> <Nop>
|
||||
"Select mode
|
||||
vnoremap <C-g> <Nop>
|
||||
|
||||
" base
|
||||
hi User1 ctermfg=231 ctermbg=234
|
||||
" base light
|
||||
hi User4 ctermfg=231 ctermbg=237
|
||||
" blue bg
|
||||
hi User2 ctermfg=231 ctermbg=27
|
||||
" default
|
||||
hi User3 ctermfg=white ctermbg=27
|
||||
|
||||
function! GetMode()
|
||||
if mode() == 'n'
|
||||
hi User3 ctermfg=white ctermbg=27
|
||||
return ' NORMAL '
|
||||
elseif mode() == 'i'
|
||||
hi User3 ctermfg=black ctermbg=green
|
||||
return ' INSERT '
|
||||
elseif mode() == 'v' || mode() == 'V' || mode() == ''
|
||||
hi User3 ctermfg=black ctermbg=190
|
||||
if mode() == 'V'
|
||||
return ' VISUAL LINE '
|
||||
elseif mode() == ''
|
||||
return ' VISUAL BLOCK '
|
||||
else
|
||||
return ' VISUAL '
|
||||
endif
|
||||
elseif mode() == 'c'
|
||||
hi User3 ctermfg=white ctermbg=27
|
||||
return ' COMMAND '
|
||||
elseif mode() == 'R'
|
||||
hi User3 ctermfg=white ctermbg=196
|
||||
return ' 易REPLACE '
|
||||
else
|
||||
hi User3 ctermfg=white ctermbg=27
|
||||
return ' UNKNOWN '
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! DrawStatusLine()
|
||||
set statusline=%1* "bare
|
||||
set statusline+=\ \ \ "Vim logo
|
||||
set statusline+=%3* "mode color
|
||||
set statusline+=%{GetMode()} "mode
|
||||
set statusline+=%1*\ "space
|
||||
set statusline+=%4* "base light
|
||||
set statusline+=\ \ \ %f\ "file name
|
||||
set statusline+=%1* "bare
|
||||
set statusline+=%= "switch side
|
||||
set statusline+=%2* "blue
|
||||
set statusline+=\ \ %l:%c/%L\ "line and collon
|
||||
endfunction
|
||||
|
||||
call DrawStatusLine()
|
||||
|
||||
" TabLine colors
|
||||
hi clear TabLine
|
||||
hi clear TabLineFill
|
||||
hi clear TabLineSel
|
||||
hi TabLineFill ctermfg=231 ctermbg=234
|
||||
hi TabLine ctermfg=231 ctermbg=237
|
||||
hi TabLineSel ctermfg=231 ctermbg=27
|
||||
|
||||
" Disable -- INSERT --, etc
|
||||
set noshowmode
|
||||
set noshowcmd
|
||||
|
||||
" VUNDLE START
|
||||
set nocompatible " be iMproved, required
|
||||
filetype off " required
|
||||
|
||||
" set the runtime path to include Vundle and initialize
|
||||
set rtp+=~/.config/nvim/bundle/Vundle.vim
|
||||
"call vundle#begin()
|
||||
" alternatively, pass a path where Vundle should install plugins
|
||||
call vundle#begin('~/.config/nvim/bundle')
|
||||
|
||||
"let Vundle manage Vundle, required
|
||||
Plugin 'VundleVim/Vundle.vim'
|
||||
|
||||
"Plugin 'ycm-core/YouCompleteMe'
|
||||
|
||||
" All of your Plugins must be added before the following line
|
||||
call vundle#end() " required
|
||||
filetype plugin indent on " required
|
||||
" To ignore plugin indent changes, instead use:
|
||||
"filetype plugin on
|
||||
"
|
||||
" Brief help
|
||||
" :PluginList - lists configured plugins
|
||||
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
|
||||
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
|
||||
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
|
||||
"
|
||||
" see :h vundle for more details or wiki for FAQ
|
||||
" Put your non-Plugin stuff after this line
|
||||
" VUNDLE END
|
||||
|
||||
" YCM
|
||||
"set completeopt-=preview
|
||||
"let g:ycm_clangd_args=['--header-insertion=never']
|
||||
"hi clear SignColumn
|
||||
"hi link YcmWarningLine WarningMsg
|
||||
"hi link YcmWarningSign WarningMsg
|
||||
"hi link YcmWarningSection Error
|
||||
"hi link YcmErrorLine Question
|
||||
"hi link YcmErrorSign Question
|
||||
"hi link YcmErrorSection Todo
|
Loading…
Reference in New Issue