首页 公告 RSS

说一下我的vim配置

June 28, 2023 本文有 1080 个字 需要花费 3 分钟阅读

简介

昨天说到我重新去使用vim,今天就介绍下昨天的劳动成果

vim 配置

首先直接给出我的vim配置

" 启用vim高级功能
set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'plasticboy/vim-markdown'
" 美化插件
Plugin 'itchyny/lightline.vim'
" 向 NERDTree 文件和文件夹添加特定于文件类型的图标
Plugin 'ryanoasis/vim-devicons'
call vundle#end()

" 自动检测文件类型
filetype plugin indent on
" 禁用markdown折叠
let g:vim_markdown_folding_disabled = 1


" 自动打开 nerdtree
autocmd VimEnter * NERDTree
" 当 NERDTree 是最后一个窗口时,如何自动关闭 Vim 或选项卡
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
" 按照时间排序
let NERDTreeSortOrder=['\/$', '*', '[[-timestamp]]']
" 自动打开书签
let NERDTreeShowBookmarks =1

" 打开语法高亮
syntax enable
" 关闭鼠标
set mouse=

" F5执行shell文件
function! Setup_ExecNDisplay()
  let dir = expand("%:p:h")
  execute 'cd' dir
  let n=expand('%:t')
  execute "silent !%:p 2>&1 | tee ~/.vim/output_".n
  execute "vsplit ~/.vim/output_".n
  execute "redraw!"
  set autoread
endfunction
:nmap <F5> :call Setup_ExecNDisplay()<CR>

关于插件管理器

vim的插件我一直使用的是Vundle,因为安装简单方便

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

这样就安装好了,之后直接在.vimrc中添加自己的配置

set nocompatible              " be iMproved, required
filetype off                  " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
call vundle#end()            " required
filetype plugin indent on    " required

然后就好了

关于nerdtree

对于 vim 我一般都是简单够用就好,所以不喜欢 spacevim 这样子大而全的东西,所以对于插件就是能少装就少装但是再怎么少也不能少了Plugin 'scrooloose/nerdtree'

NERDTree 是 Vim 编辑器的文件系统浏览器,是把 vim 配置成 ide 的第一步

那么安装了 nerdtree 的第一步就是要简单的美化一下,Plugin 'ryanoasis/vim-devicons'这个插件可以向 nerdtree 添加各种文件类型的图标,安装完成之后就会变得很优雅好看

之后就是 nerdtree 的各种配置

" 自动打开 nerdtree
autocmd VimEnter * NERDTree
" 当 NERDTree 是最后一个窗口时,如何自动关闭 Vim 或选项卡
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
" 按照时间排序
let NERDTreeSortOrder=['\/$', '*', '[[-timestamp]]']
" 自动打开书签
let NERDTreeShowBookmarks =1

关于 markdown

我配置 vim 的第一步就是支持我去编写博客,所以 markdown 的插件是必不可少的,Plugin 'plasticboy/vim-markdown'插件提供了 markdown 的各种功能,而且还支持折叠,但是一般我会关闭折叠

let g:vim_markdown_folding_disabled = 1

关于选项卡

选项卡其实也是需要稍微美化一下的,这个就需要Plugin 'itchyny/lightline.vim'这个插件

其他配置

" 打开语法高亮
syntax enable
" 关闭鼠标
set mouse=

" F5执行shell文件
function! Setup_ExecNDisplay()
  let dir = expand("%:p:h")
  execute 'cd' dir
  let n=expand('%:t')
  execute "silent !%:p 2>&1 | tee ~/.vim/output_".n
  execute "vsplit ~/.vim/output_".n
  execute "redraw!"
  set autoread
endfunction
:nmap <F5> :call Setup_ExecNDisplay()<CR>

一个就是语法高亮

还有就是关闭鼠标

因为我写完博客之后是需要提交到 git 的,所以提交的动作我直接写成了一个脚本,当我要提交的时候直接打开这个脚本,然后按下 F5 就可以直接执行了

最后

关于效率,其实当你刚开始使用的时候不可能会有效率上的提升,vim 真的太复杂了,各种快捷键指令,但是当你熟悉之后那就是不一样的感觉了,至少鼠标你是可以丢了,hhkb你是有足够的理由去购买了

还有当你不知道自己可以安装什么插件的时候,可以看看下面这个网站

https://vimawesome.com/

欢迎关注我的博客www.bboy.app

Have Fun