IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> VIM 插件管理 -> 正文阅读

[开发工具]VIM 插件管理

1. vimrc 通用配置

syntax on					" 自动语法高亮
set number					" 显示行号

set tabstop=4				" 设定 tab 长度为 4
set shiftwidth=4			" 设置自动缩进宽度
set autoindent				" 设置自动缩进
set cindent				    " 设置使用C/C++的缩进方式
set autoread				" 设置文件在vim外改动时自动载入

set ignorecase				" 搜索时忽略大小写
set incsearch				" 输入搜索内容时就显示搜索结果
set hlsearch				" 搜索时高亮显示被找到的文本

set encoding=utf-8			" 设置编码为UTF-8
set mouse=a           	" 开启鼠标功能
set termencoding=utf-8		" 设置终端字符编码方式
set fileencoding=utf-8		" 设置文件字符编码方式
set fileencodings=ucs-bom,utf-8,chinese
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

nnoremap <CR> G				" 回车定位到文件尾
map <C-s> :wq<CR>			" ctrl+s 保存
map <C-c> :q<CR>			" ctrl+c 退出

2. vundle.vim部分(插件管理工具)

  • vundle.vim 安装:

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

3. pathogen部分(插件管理工具)

  • pathogen 安装:

    git clone git@github.com:tpope/vim-pathogen.git ~/.vim/
    
  • vimrc 配置:

    " 启用pathogen
    call pathogen#infect()
    filetype plugin indent on
    

nerdtree (文件树形界面)

  • nerdtree 安装:

    git clone git@github.com:preservim/nerdtree.git ~/.vim/bundle/nerdtree
    
  • vimrc 配置:

    nnoremap <F2> :NERDTreeToggle<CR>		" F2 键打开/关闭 nerdtree
    

ctags

  • ctags安装:

    yum install ctags
    
  • vimrc配置:

    nnoremap <F5> :!ctags -R<CR>			" 配置快捷键
    

taglist(代码结构视图)

  • 插件说明:

    插件依赖 ctags,需先安装ctags

  • taglist 安装:

    git clone git@github.com:vim-scripts/taglist.vim.git ~/.vim/bundle/taglist
    
  • vimrc 配置:

    nnoremap <F3> :TlistToggle<CR>			" F3 快捷键 打开/关闭 taglist
    
    let Tlist_Show_One_File=1               "只显示当前文件的tags
    let Tlist_Exit_OnlyWindow=1             "tagList窗口是最后一个窗口,则退出Vim
    let Tlist_Use_Right_Window=1            "在Vim窗口右侧显示taglist窗口
    let Tlist_WinHeight=100                 "设置Taglist高度
    let Tlist_WinWidth=40                   "设置taglist宽度
    

autocomplpop(变量、函数自动补全)

  • autocomplpop 安装:

    git clone git@github.com:vim-scripts/AutoComplPop.git ~/.vim/bundle/autocomplpop
    

omnicppcomplete(C++类对象自动补全)

  • omnicppcomplete 安装:

    git clone git@github.com:vim-scripts/OmniCppComplete.git ~/.vim/bundle/omnicppcomplete
    
  • vimrc 配置:

    set completeopt=menu,menuone
    let OmniCpp_GlobalScopeSearch=1         "全局查找控制。0:禁止;1:允许(缺省)
    let OmniCpp_NamespaceSearch=1           "命名空间查找控制, 0,禁止; 1, 查找当前文件缓冲区内的命名空间(缺省); 2, 查找当前文件缓冲区和包含文件中的命名空间
    let OmniCpp_MayCompleteDot=1            "操作符 .  号后自动提示; 0, 否; 1, 是
    let OmniCpp_MayCompleteArrow=1          "操作符 -> 号后自动提示; 0, 否; 1, 是
    let OmniCpp_MayCompleteScope=1          "操作符 :: 号后自动提示; 0, 否; 1, 是
    let OmniCpp_DisplayMode=0               "类成员显示控制(是否显示全部公有(public)私有(private)保护(protected)成员). 0:自动; 1:显示所有成员
    let OmniCpp_ShowPrototypeInAbbr = 1     "显示函数参数列表 
    let OmniCpp_DefaultNamespace=["std"]    "默认命名空间列表, 项目间使用','隔开.
    

vimcdoc(中文文档)

  • vimcdoc 安装:

    git clone https://github.com/leafgarland/typescript-vim.git ~/.vim/bundle/typescript-vim
    
  • vimrc 配置:

    set helplang=cn			  " 设置中文帮助
    set langmenu=zh_CN.utf-8  " 设置菜单语言为中文
    

vimcdoc(中文文档)

  • vimcdoc 安装:

    git clone git://github.com/yianwillis/vimcdoc.git ~/.vim/bundle/vimcdoc
    
  • vimrc 配置:

    set helplang=cn			  " 设置中文帮助
    set langmenu=zh_CN.utf-8  " 设置菜单语言为中文
    

4. 其他配置

  • 括号引号自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap { {}<ESC>i
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
func ClosePair(char)
	if getline('.')[col('.') - 1] == a:char
		return "\<Right>"
	else
		return a:char
	endif
endfunc
  • 新建文件时自动插入文件头
" 新建指定类型文件时,调用SetTitle函数 
autocmd BufNewFile *.cpp,*.c,*.h,*.py,*.sh exec ":call SetTitle()" 
" 定义函数SetTitle,自动插入文件头 
func SetTitle()
	if &filetype == 'python'
		call setline(1,	         "\#===================================================================================")
		call append(line(".")+0, "\#	Copyright (C) ".strftime("%Y")." by xxx. All rights reserved")
		call append(line(".")+1, "\# 	文 件 名: ".expand("%"))
		call append(line(".")+2, "\# 	作    者: xxx")
		call append(line(".")+3, "\# 	创建时间: ".strftime("%Y年%m月%d日"))
		call append(line(".")+4, "\#    描    述:  ")
		call append(line(".")+5, "\#===================================================================================*/")
		call append(line(".")+6, "")
		call append(line(".")+7, "\#!/usr/bin/python3")
		call append(line(".")+8,"")
	elseif &filetype == 'sh'
		call setline(1,	         "\#===================================================================================")
		call append(line(".")+0, "\#	Copyright (C) ".strftime("%Y")." by xxx. All rights reserved")
		call append(line(".")+1, "\# 	文 件 名: ".expand("%"))
		call append(line(".")+2, "\# 	作    者: xxx")
		call append(line(".")+3, "\# 	创建时间: ".strftime("%Y年%m月%d日"))
		call append(line(".")+4, "\#    描    述:  ")
		call append(line(".")+5, "\#===================================================================================*/")
		call append(line(".")+6, "")
		call append(line(".")+7, "\#!/bin/bash")
		call append(line(".")+8,"")
	elseif &filetype == 'c' || &filetype == 'cpp' || &filetype == 'h'
		call setline(1,          "\/\/ =====================================================================================")
		call append(line(".")+0, "\/\/  Copyright (C) ".strftime("%Y")." by xxx. All rights reserved")
		call append(line(".")+1, "\/\/  文 件 名:  ".expand("%"))
		call append(line(".")+2, "\/\/  作    者:  xxx")
		call append(line(".")+4, "\/\/  创建时间:  ".strftime("%Y年%m月%d日"))
		call append(line(".")+6, "\/\/  描    述:  ")
		call append(line(".")+7,"\/\/ =====================================================================================")
		call append(line(".")+8,"")
	endif
	"新建文件后,自动定位到文件末尾
	autocmd BufNewFile * normal G
endfunc
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:45:36  更:2022-03-08 22:47:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 15:21:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码