Vim插件使用记录
本文最后更新于:2023年3月11日 晚上
Vim插件使用记录
顺便说一句,可以去这个网站vimawesome看看你想要的插件。
vim-visual-multi
首先说明一下,我是通过up主”theCW”得知的这个插件——多光标的更改文本,这是他的b站视频,但是他的视频中的
visual-multi
版本是较早版本的了。
Installation
Plug 'mg979/vim-visual-multi', {'branch': 'master'}
Usage
开启V-M
模式(这个插件的主要功能就是开启这个模式):press C-n
这个时候光标就选中了当前的词,然后再按C-n就开始匹配下一个词
然后n选择下一个,N返回上一个选中,q跳过当前选择下一个。(这个和up主说的不太一样,因为版本更新)
Notice
需要注意的一点是,当你使用V-M
模式的时候,你在做完修改之后按Esc之后并没有退出该模式,你还需按一次退出才能退出V-M
模式
visual-multi
同时还提供了Ctrl+Up和Ctrl+Down的组合来使你可以一次性选中多行中的一个位置,我个人觉得并没什么用,因为选择块模式(C-v)已经满足我们对这样的需求
vim-airline
Installation
Plug 'vim-airline/vim-airline'
Usage
其实很简单,你会看到vim下方出现了一个彩色的状态条
里面显示了诸如模式,文件路径,文件类型,行数列数等信息
Configuration
首先你肯定想要美化一下airline
更改主题(colorscheme)
首先你可以安装一个vim-airline-themes
Plug 'vim-airline/vim-airline-themes'
然后你就可以设置一个自己喜欢的主题, 比如
let g:airline_theme='atomic'
设置airline下方的符号
你肯定会想要一个有多个符号的airline,如果你安装了nerdfont就可以这样配置
" airline的所有符号设置 if !exists('g:airline_symbols') let g:airline_symbols={} endif " unicode symbols let g:airline_left_sep = '' let g:airline_left_alt_sep = '' let g:airline_right_sep = '' let g:airline_right_alt_sep = '' let g:airline_symbols.colnr = ' :' let g:airline_symbols.readonly = '' let g:airline_symbols.linenr = ' :' let g:airline_symbols.maxlinenr = '☰ ' let g:airline_symbols.branch = '' let g:airline_symbols.dirty='⚡'
设置airline的section配置
" ============================= " ==== airline section配置 ==== " ============================= " let g:airline_section_c = airline#section#create(['tagbar']) let g:airline_section_b = '%{strftime("%d/%m %H:%M")}' " let g:airline_section_x = '%{expand("%")}' " 显示文件名 " let g:airline_section_y = airline#section#create(['%{strftime("%D")}']) let g:airline_section_z = airline#section#create(['%{strftime("%m/%d %H:%M ")}', 'linenr', 'maxlinenr']) " let g:airline#extensions#tabline#enabled = 1
这个东西主要配置你的airline显示什么内容
NERDTree
不得不说nerdtree这个玩意真的是个大头,你可以将其理解成VS Code里面的文件管理视图。有很多配合
NERDTree
使用的插件。
Installation
Plug 'preservim/nerdtree'
Usage
可以通过绑定的键位来调出NERDTree
,比如我的就是Ctrl+b(和VS Code一样),然后按出之后就可以调出NERDTree
了。
还是不错的。
Plugin in Plugin
有很多的插件可以配合NERDTree
比如vim-devicons
,vim-nerdtree-syntax-highlight
,nerdtree-git-plugin
第一个就是我可以显示图标的必装插件,这些插件都可以到NERDTree
的主页找到
Configuration
8说了,直接上配置代码:
" =========================
" ===== 设置NerdTree ======
" =========================
map <C-b> :NERDTreeMirror<CR>
map <C-b> :NERDTreeToggle<CR>
:let g:NERDTreeWinSize=25
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif " 如果是最后一个窗口就关闭nerdTree
autocmd BufEnter * if winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif " 如果是最后一个标签就关闭nerdTree
" 设置NERDTree和nerdtree-git联动
let g:NERDTreeGitStatusUseNerdFonts = 1
let g:NERDTreeGitStatusShowIgnored = 1
let g:NERDTreeGitStatusConcealBrackets = 0
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
" nerdtree和vim-devicons联动
let g:webdevicons_conceal_nerdtree_brackets=1
" 使用nerd-highlight-syntax
let g:WebDevIconsDisableDefaultFolderSymbolColorFromNERDTreeDir = 1
let g:WebDevIconsDisableDefaultFileSymbolColorFromNERDTreeFile = 1
markdown-preview.nvim
用vim来写
.md
文件就是一种享受对么,所以当然要配备上preview插件。你可能还听说instant-markdown,也是完成同样的预览功能,而且还是纯用
vimscript
写的,连theCW大佬都是用的这一款。但是为什么我还要推荐markdown-preview呢,纯粹是我用习惯了懒得换了XD
Installation
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
可以看到因为使用了js,所以次插件依赖于node才能运行。
Usage
还是老规矩:绑定键位,然后调用
ps: 配合自己写的Run
脚本更香哦
Plugin in Plugin
推荐安装vim-table-mode
用来格式化表格的工具插件,同样是绑定键位食用
polyglot
这个玩意简直就是增强vim或者是nvim的神器,官方是这么形容这个玩意的:
One to rule them all, one to find them, one to bring them all and in the darkness bind them.
Installation
set nocompatible " 一定要确保自己开启了这个
call plug#begin()
Plug 'sheerun/vim-polyglot'
call plug#end()
Usage
怎么使用?当你再次打开你的neovim开始写代码时,你会发现很多的不一样,你觉得自己又行了
Configuration
事实上,polyglot
它的功能太过于强大,以至于将markdown文件的很多显示更新了,尽管这是一个很好的事,但是因为它渲染的东西太多了,当你的markdown文件太大的时候,很可能那些效果就无效了,这样我们还不如关闭polyglot对md的渲染
" ==============
" 设置polyglot
" ==============
let g:polyglot_disabled = ['markdown'] " 禁用polyglot在markdow中的使用
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!