windows 上的 neovim 配置

可以使用简单的 linux 下 neovim 配置,增加了对 golang, python,  ruby 脚本文件一键运行快捷方式。

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" PlugList "
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Specify a directory for plugins
" - For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.local/share/nvim/plugged') " Make sure you use single quotes " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
Plug 'junegunn/vim-easy-align' " Any valid git URL is allowed
Plug 'https://github.com/junegunn/vim-github-dashboard.git' " Multiple Plug commands can be written in a single line using | separators
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
Plug 'isRuslan/vim-es6' | Plug 'mxw/vim-jsx' " On-demand loading
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'tpope/vim-fireplace', { 'for': 'clojure' } "comments-auto
Plug 'scrooloose/nerdcommenter' " Using a non-master branch
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) " Plugin outside ~/.vim/plugged with post-update hook
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " Unmanaged plugin (manually installed and updated)
Plug '~/my-prototype-plugin' "theme color
Plug 'tomasr/molokai' | Plug 'altercation/solarized' "Fuzzy file, buffer, mru, tag, etc finder.
Plug 'kien/ctrlp.vim' "multiple selections
Plug 'terryma/vim-multiple-cursors' "Highlights trailing whitespace
Plug 'bronson/vim-trailing-whitespace' "emmet quick-html
Plug 'mattn/emmet-vim' """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" plugin settings "
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set nocompatible let mapleader=";" " Initialize plugin system
call plug#end() filetype plugin indent on "NerdTree ####
map <C-t> :NERDTreeToggle<CR> "ctrlp ####
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_working_path_mode = 'ra'
set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe
"let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d' "ultisnip ####
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>" "nerdcommenter ####
let g:NERDSpaceDelims = 1
let g:NERDTrimTrailingWhitespace = 1 "vim-easy-align ####
xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign) "vim-jsx ####
let g:jsx_ext_required = 0 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" common setting "
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set showcmd set background=dark
set t_Co=256
colorscheme molokai
set number set autoindent
set smartindent
set showmatch
set ignorecase set cursorline set incsearch set display+=lastline set guifont=Inconsolata:h15:cANSI set tabstop=2
set shiftwidth=2
set expandtab set nobackup
set noswapfile
set history=1024
set autochdir
set whichwrap=b,s,<,>,[,]
set nobomb
set backspace=indent,eol,start whichwrap+=<,>,[,]
" set clipboard+=unnamed set clipboard=unnamed set winaltkeys=no set undofile " keep an undo file (undo changes after closing) set ruler " show the cursor position all the time set showcmd " display incomplete commands set cmdheight=1 " 1 screen lines to use for the command-line set showfulltag " show tag with function protype. set guioptions+=b " present the bottom scrollbar when the longest visible line exceed the window set fileencodings=utf-8,gbk2312,gbk,gb18030,cp936 set encoding=utf-8 set tenc=utf-8 set langmenu=zh_CN let $LANG = 'en_US.UTF-8' syntax on syntax enable set autoread set hlsearch """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" keyboard-binding "
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" nmap <leader>s :update<CR>
vmap <leader>s :update<CR>
inoremap <C-BS> <Esc>bdei
nnoremap <C-left> :bn<CR>
nnoremap <C-right> :bp<CR> nnoremap <leader>a ^
vnoremap <leader>a ^ inoremap <leader>a ^
nnoremap <leader>n $
vnoremap <leader>n $ inoremap <leader>n $ nmap <leader>tn :tabnew<cr>
nmap <leader>tc :tabclose<cr>
nmap <leader>th :tabp<cr>
nmap <leader>tl :tabn<cr> " 移动分割窗口
nmap <C-j> <C-W>j
nmap <C-k> <C-W>k
nmap <C-h> <C-W>h
nmap <C-l> <C-W>l " 正常模式下 alt+j,k,h,l 调整分割窗口大小
nnoremap <M-j> :resize +5<cr>
nnoremap <M-k> :resize -5<cr>
nnoremap <M-h> :vertical resize -5<cr>
nnoremap <M-l> :vertical resize +5<cr> " 插入模式移动光标 alt + 方向键
inoremap <M-j> <Down>
inoremap <M-k> <Up>
inoremap <M-h> <left>
inoremap <M-l> <Right> " Don't use Ex mode, use Q for formatting
noremap Q gq " trailling whitespace
nnoremap <leader>d :%s/\s\+$//<cr>:let @/=''<CR> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" others "
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Put these in an autocmd group, so that we can delete them easily. augroup vimrcEx
autocmd! " When editing a file, always jump to the last known cursor position.
" Don't do it for commit messages, when the position is invalid, or when
" inside an event handler (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif " Enable spellchecking for Markdown
autocmd FileType markdown setlocal spell " Automatically wrap at 80 characters for Markdown
autocmd BufRead,BufNewFile *.md setlocal textwidth=80 " Disable wrap on some languages
autocmd BufRead,BufNewFile *.slim setlocal textwidth=0
autocmd BufRead,BufNewFile *.erb setlocal textwidth=0
autocmd BufRead,BufNewFile *.html setlocal textwidth=0 " Automatically wrap at 72 characters and spell check git commit messages
autocmd FileType gitcommit setlocal textwidth=72
autocmd FileType gitcommit setlocal spell " Allow stylesheets to autocomplete hyphenated words
autocmd FileType css,scss,sass setlocal iskeyword+=- " Autocomplete ids and classes in CSS
autocmd FileType css,scss set iskeyword=@,48-57,_,-,?,!,192-255
" Add the '-' as a keyword in erb files
autocmd FileType eruby set iskeyword=@,48-57,_,192-255,$,- " Auto reload VIM when settings changed
autocmd BufWritePost .vimrc so $MYVIMRC
autocmd BufWritePost *.vim so $MYVIMRC
autocmd BufWritePost vimrc.symlink so $MYVIMRC " Make those debugger statements painfully obvious
au BufEnter *.rb syn match error contained "\<binding.pry\>"
au BufEnter *.rb syn match error contained "\<debugger\>"
au BufEnter *.js syn match error contained "\<debugger\>"
au BufEnter *.coffee syn match error contained "\<debugger\>"
augroup END """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" i & r color setting "
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" function! InsertStatuslineColor(mode)
if a:mode == 'i'
hi statusline guibg=red
set cursorline
elseif a:mode == 'r'
hi statusline guibg=blue
else
hi statusline guibg= magenta
endif
endfunction function! InsertLeaveActions()
hi statusline guibg=green
set nocursorline
endfunction au InsertEnter * call InsertStatuslineColor(v:insertmode)
au InsertLeave * call InsertLeaveActions()

end

上一篇:ruby gsub gsub! chomp chomp! 以及所有类似函数用法及区别


下一篇:Python补充--Python内置函数清单