nvim

init.vim
call plug#begin()
" 当前配置文件默认所在位置
" Linux/macOS:./config/nvim/init.vim
" Windows:
"
" The default plugin directory will be as follows:
"   - Vim (Linux/macOS): '~/.vim/plugged'
"   - Vim (Windows): '~/vimfiles/plugged'
"   - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged'
" You can specify a custom plugin directory by passing it as the argument
"   - e.g. `call plug#begin('~/.vim/plugged')`
"   - Avoid using standard Vim directory names like 'plugin'
"
" https://github.com/junegunn/vim-plug/
" :PlugInstall # 安装插件
" :PlugUpdate  # 安装或更新插件
" :PlugUpgrade # 升级 vim-plug 本身
" :PlugStatus  # 检查插件状态
" :PlugClean   # 删除未列出的插件

" Make sure you use single quotes


" 插件管理器(coc.nvim)
" 项目 https://github.com/neoclide/coc.nvim/tree/release
" :CocInstall coc-python   # 安装插件
" :CocUninstall coc-python # 卸载插件
" :h coc-nvim              # 帮助
" :CocConfig               # 语言服务器配置
Plug 'neoclide/coc.nvim', {'branch': 'release'}


" 目录管理: The NERDTree is a file system explorer for the Vim editor.
Plug 'preservim/nerdtree'
" Vim 状态栏插件,包括显示行号,列号,文件类型,文件名,以及 Git 状态
" 依赖 nerd-font 字体
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
" 在 NERDTree 中显示文件类型图标, 必须要在 airline 后面?
" 图标会显示为 ?号,可能是依赖某种字体,暂时先不使用了
" Plug 'ryanoasis/vim-devicons'


" 可以在文件目录中看到 git 版本信息
Plug 'Xuyuanp/nerdtree-git-plugin'
" 可以在文档中显示 Git 信息
Plug 'airblade/vim-gitgutter'
" Vim 编辑器中的 Git 包装器插件,它可以让我们在 Vim 编辑器中完成 Git 操作
Plug 'tpope/vim-fugitive'
" Flog是一个轻量级、功能强大的git分支查看器,与Survious集成
Plug 'rbong/vim-flog'



" Ctrl + p,实现模糊匹配快速打开文件等功能
" Plugin 'kien/ctrlp.vim'
" 这个插件其实是上边 ctrlp 插件的一个补充,它主要是提升了文件查找的速度
" Plug 'FelikZ/ctrlp-py-matcher'
" LeaderF 无论是从性能还是匹配精度上,都远远超越 ctrlp,
" 快速打开或定位某个 buffer、最近使用的文件(mru)、tags(包括函数、类、变量等)、
" 命令历史、文件中的某一行、Vim 的 help、marks 等
" Plugin 'Yggdroot/LeaderF', { 'do': './install.sh' }


" indentation guides to all lines
Plug 'lukas-reineke/indent-blankline.nvim'

" fzf
" 实用且美观的命令行工具,依赖 brew install fzf
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'

" tagbar
" 提供了一种简单的方法来浏览当前文件的标记并获得其结构的概述
" 它通过创建一个侧边栏来显示当前文件的ctags-generated标记,并按其范围排序
Plug 'majutsushi/tagbar'

" 查看当前代码文件中的变量和函数列表的插件,
" 可以切换和跳转到代码中对应的变量和函数的位置
" 大纲式导航, Go 需要 https://github.com/jstemmer/gotags 支持
Plug 'preservim/tagbar'

" go
Plug 'fatih/vim-go', {'tag': '*'}
" go 中的代码跟踪,输入 gd 就可以自动跳转
" Plug 'dgryski/vim-godef'

" vim开屏页美化插件,可以记录最近编辑的文件,使用对应数字编号就可以快速打开文件,使用起来非常方便。
" Plug 'mhinz/vim-startify'

" AutoComplete
" 安装依赖 pip3 install pynvim
" pipe install msgpack
Plug 'Shougo/deoplete.nvim'
" Python AutoComplete
Plug 'deoplete-plugins/deoplete-jedi'
let g:deoplete#enable_at_startup = 1

" Insert or delete brackets, parens, quotes in pair.
Plug 'jiangmiao/auto-pairs'

" 配色方案
Plug 'morhetz/gruvbox'



call plug#end()



set encoding=utf-8
set tabstop=4
set softtabstop=4
set shiftwidth=4
" 表示Tab自动转换成空格
set expandtab
" 表示换行后自动缩进
set autoindent

" 智能对齐
set smartindent

" 当文件在外部被修改时,自动重新读取
set autoread

" 显示行号、 显示当前行行号,其它行的行号都是以当前行为基准从 1 开始增加(即相对行号)
set number relativenumber

" 设置配色方案
colorscheme gruvbox
let g:airline_theme='gruvbox'

" 启用语法高亮
syntax enable
" 使用黑色主题-light dark
set bg=dark
" vim记住的历史操作的数量,默认的是20
set history=40

set viminfo+=n$HOME/.vim/files/info
set viminfo='100,n$HOME/.vim/files/info


" nmap 普通模式下的递归映射
" imap 插入模式下的递归映射
" vmap 可视模式下的递归映射
" cmap 命令模式下的递归映射
" nnoremap 普通模式下的非递归映射
" inoremap 插入模式下的非递归映射
" vnoremap 可视模式下的非递归映射
" cnoremap 命令模式下的非递归映射
" 一般我们都使用非递归映射。因为递归映射容易循环递归,容易出错,意思也不清晰。

" NERDTree
nnoremap <leader>n :NERDTreeFocus<CR>
nnoremap <C-n> :NERDTree<CR>
nnoremap <C-t> :NERDTreeToggle<CR>
nnoremap <C-f> :NERDTreeFind<CR>

nnoremap <F8> :TagbarToggle<cr>

" <TAB>: completion.
inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
posted @ 2023-04-08 16:13  bm小明  阅读(147)  评论(0编辑  收藏  举报