大数跨境
0
0

vim 个人专属IDE构建

vim 个人专属IDE构建 JOB情报局
2021-08-18
0
导读:一:插件管理器Vundle1.简介Vundle是vim的一个插件管理器, 同时它本身也是vim的一个插件。插

一:插件管理器Vundle

1.简介

Vundle是vim的一个插件管理器, 同时它本身也是vim的一个插件。插件管理器用于方便、快速的安装、删除、Vim更新插件。vim Vundle插件官方地址:https://github.com/VundleVim/Vundle.vim

2.安装步骤

a.安装git工具,如已安装可忽略  

yum install git

b.创建目录  

mkdir -p ~/.vim/bundle/

c.克隆插件    

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

如果报如下错误:则进行如下处理:

vim /etc/resolv.conf

增加如下内容:

nameserver 8.8.8.8 或者 nameserver 114.114.114.114

然后重启网络服务:

systemctl restart NetworkManager

d.vim编辑器配置文件~/.vimrc:

syntax on                         
"tab宽度和缩进同样设置为4
set tabstop=4
set number
set softtabstop=4
set shiftwidth=4
set showmatch
set noerrorbells
set autoread
set cindent
set cursorcolumn
set cursorline
highlight CursorLine   cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
highlight CursorColumn cterm=NONE ctermbg=black ctermfg=green  guibg=NONE guifg=NONE
 
set nocompatible
"你在此设置运行时路径
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
 
"在这里面输入安装的插件
"Vundle 本身就是一个插件
Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'DoxygenToolkit.vim'
Plugin 'https://gitee.com/yaozhijin/vim-autoformat.git'
Plugin 'https://gitee.com/yanzhongqian/vim-airline.git'
Plugin 'https://gitee.com/mirrors/taglist.vim.git'
Plugin 'https://gitee.com/daoshuti/vim-gutentags.git'
Plugin 'https://gitee.com/AllanDowney/ultisnips.git'
Plugin 'https://gitee.com/zhzhzhy/vim-snippets.git'
Plugin 'https://gitee.com/myqcyz/ctrlp.vim.git'
"所有插件都应该在这一行之前
call vundle#end()
"filetype off
filetype plugin indent on
"autocmd vimenter * NERDTree
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
set tags=./.tags;,.tags
map <silent> <F4> :TlistToggle<cr>
"启动vim后自动打开taglist窗口
let Tlist_Auto_Open = 1
let Tlist_Use_Right_Window =1
"不同时显示多个文件的tag,仅显示一个
let Tlist_Show_One_File = 1
"taglist为最后一个窗口时,退出vim
let Tlist_Exit_OnlyWindow = 1
"设置taglist窗口大小
"let Tlist_WinHeight = 100
let Tlist_WinWidth = 40
"gutentags 搜索工程目录的标志,碰到这些文件/目录名就停止向上一级目录递归
let g:gutentags_project_root = ['.root', '.svn', '.git', '.hg', '.project']

"所生成的数据文件的名称
let g:gutentags_ctags_tagfile = '.tags'

"将自动生成的 tags 文件全部放入 ~/.cache/tags 目录中,避免污染工程目录
let s:vim_tags = expand('~/.cache/tags')
let g:gutentags_cache_dir = s:vim_tags

"配置 ctags 的参数
let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extra=+q']
let g:gutentags_ctags_extra_args += ['--c++-kinds=+px']
let g:gutentags_ctags_extra_args += ['--c-kinds=+px']

"检测 ~/.cache/tags 不存在就新建
if !isdirectory(s:vim_tags)
  silent! call mkdir(s:vim_tags, 'p')
endif
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-h>"
let g:UltiSnipsJumpBackwardTrigger="<c-l>"
function! UpdateCtags()
  TlistUpdate
endfunction

autocmd BufWritePost *.c,*.h,*.cpp call UpdateCtags()
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'                

本配置文件中已安装vundle、NERDTree、ctrlp、powerline等插件。

e、 安装,提示done表示安装成功  

上一步中:w保存.vimrc文件的内容后,直接执行命令:PluginInstall即可进行插件安装。

3.安装需要的插件

将想要安装的插件,按照地址填写方法,将地址填写在vundle#beginvundle#end之间就可以保存之后,有两种方法安装插件。

(1) 运行 vim ,再运行 :PluginInstall

$vim
:PlugInstall

(2) 通过命令行直接安装 vim +PluginInstall +qall

vim +PluginInstall +qall

安装完成之后,插件就可以使用。

4.移除不需要的插件

编辑.vimrc文件移除的你要移除的插件所对应的Plugin那一行。保存退出当前的vim重新打开vim,输入命令BundleClean。

5.其他常用命令

1、更新插件BundleUpdate

2、列出所有插件BundleList      

3、查找插件BundleSearch

二、linux配置powerline(bash/vim)美化

pip

安装powerline需要pip,如下链接中有get-pip.py文件,可用来安装pip。

链接:https://pan.baidu.com/s/1DuNYYJpBp2C3B7R7XouVcA       提取码:icj3

或者通过如下方式获取get-pip.py来安装pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py

利用pip安装powerline

powerline

pip install powerline-status

测试

pip show powerline-status

安装字体

字体下载(内含PowerlineSymbols.otf和10-powerline-symbols)

链接:https://pan.baidu.com/s/13M92Acrr_YaC_c-iwHoTug    提取码:z34p

安装

cp PowerlineSymbols.otf /usr/share/fonts
执行命令刷新加入字体
fc-cache -vf /usr/share/fonts/
(如果没有fc-cache则需安装fontconfig)

cp 10-powerline-symbols.conf /etc/fonts/conf.d/

配置bash

vim ~/.bashrc

#powerline
if [ -f `which powerline-daemon` ];then
  powerline-daemon -q
   POWERLINE_BASH_CONTINUATION=1
   POWERLINE_BASH_SELECT=1
  . /usr/local/lib/python3.6/site-packages/powerline/bindings/bash/powerline.sh
fi
export TERM="screen-256color"

source ~/.bashrc

配置vim

vim ~/.vimrc

set rtp+=/usr/local/lib/python3.6/site-packages/powerline/bindings/vim
set laststatus=2
set t_Co=256

source ~/.vimrc

效果

三、NERDTree配置

在linux命令行界面,输入vim;输入:NERDTree ,回车。

在".vimrc"文件中增加下面配置代码:

Plugin 'scrooloose/nerdtree'
" 设置NerdTree
" 打开vim时,自动打开NERDTree
autocmd vimenter * NERDTree
" 设置NerdTree打开的快捷键,可自行更改
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>

按Fn+F3即可显示或隐藏NerdTree区域了。进入当前目录的树形界面,通过小键盘"上下"键,能移动选中的目录或文件。目录前面有"+"号,按Enter会展开目录,文件前面是"-"号,按Enter会在右侧窗口展现该文件的内容,并光标的焦点focus右侧。"ctr+w+h"光标focus左侧树形目录,"ctrl+w+l"光标focus右侧文件显示窗口。多次按"ctrl+w",光标自动在左右侧窗口切换。光标focus左侧树形窗口,按"?"弹出NERDTree的帮助,再次按"?"关闭帮助显示。输入":q"回车,关闭光标所在窗口。进入当前目录的树形界面,通过小键盘"上下"键,能移动选中的目录或文件。目录前面有"+"号,按Enter会展开目录,文件前面是"-"号,按Enter会在右侧窗口展现该文件的内容,并光标的焦点focus右侧。"ctr+w+h"光标focus左侧树形目录,"ctrl+w+l"光标focus右侧文件显示窗口。多次按"ctrl+w",光标自动在左右侧窗口切换。光标focus左侧树形窗口,按"?"弹出NERDTree的帮助,再次按"?"关闭帮助显示。输入":q"回车,关闭光标所在窗口。

* ?: 快速帮助文档
* o: 打开一个目录或者打开文件,创建的是 buffer,也可以用来打开书签
* go: 打开一个文件,但是光标仍然留在 NERDTree,创建的是 buffer
* t: 打开一个文件,创建的是Tab,对书签同样生效
* T: 打开一个文件,但是光标仍然留在 NERDTree,创建的是 Tab,对书签同样生效
* i: 水平分割创建文件的窗口,创建的是 buffer
* gi: 水平分割创建文件的窗口,但是光标仍然留在 NERDTree
* s: 垂直分割创建文件的窗口,创建的是 buffer
* gs: 和 gi,go 类似
* x: 收起当前打开的目录
* X: 收起所有打开的目录
* e: 以文件管理的方式打开选中的目录
* D: 删除书签
* P: 大写,跳转到当前根路径
* p: 小写,跳转到光标所在的上一级路径
* K: 跳转到第一个子路径
* J: 跳转到最后一个子路径
* <C-j> 和 <C-k>: 在同级目录和文件间移动,忽略子目录和子文件
* C: 将根路径设置为光标所在的目录
* u: 设置上级目录为根路径
* U: 设置上级目录为跟路径,但是维持原来目录打开的状态
* r: 刷新光标所在的目录
* R: 刷新当前根路径
* I: 显示或者不显示隐藏文件
* f: 打开和关闭文件过滤器
* q: 关闭 NERDTree
* A: 全屏显示 NERDTree,或者关闭全屏

四、Ctrlp插件配置

~/.vimrc配置:

let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'

搜索框出来后, 输入关键字, 然后输入如下命令:

ctrl + j/k 进行上下选择
ctrl + x 在当前窗口水平分屏打开文件
ctrl + v 同上, 垂直分屏
ctrl + t 在tab中打开

五、函数跳转利器Taglist.vim

taglist.vim 插件依赖ctags,所有首先得安装ctags。

安装ctags

wget  http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gztar zxvf ctags-5.8.tar.gzcd ctags-5.8./configure && make && make install

在.vimrc上配置

set tags=./.tags;,.tags

或者

set tags=./tags,tags;$HOME

安装taglist.vim插件

Plugin 'https://gitee.com/mirrors/taglist.vim.git'

插件配置

map <silent> <F4> :TlistToggle<cr>

#设置taglist自动开启let Tlist_Auto_Open = 1#taglist窗口靠右侧显示let Tlist_Use_Right_Window =1
配置插件:" gutentags 搜索工程目录的标志,碰到这些文件/目录名就停止向上一级目录递归let g:gutentags_project_root = ['.root', '.svn', '.git', '.hg', '.project']" 所生成的数据文件的名称 let g:gutentags_ctags_tagfile = '.tags' " 将自动生成的 tags 文件全部放入 ~/.cache/tags 目录中,避免污染工程目录let s:vim_tags = expand('~/.cache/tags')let g:gutentags_cache_dir = s:vim_tags" 配置 ctags 的参数let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extra=+q'] let g:gutentags_ctags_extra_args += ['--c++-kinds=+px'] let g:gutentags_ctags_extra_args += ['--c-kinds=+px'] " 检测 ~/.cache/tags 不存在就新建if !isdirectory(s:vim_tags)silent! call mkdir(s:vim_tags, 'p')endif注:gutentags 需要靠上面定义的 project_root 里的标志,判断文件所在的工程,如果一个文件没有托管在 .git/.svn 中,gutentags 找不到工程目录的话,就不会为该野文件生成 tags,这也很合理。想要避免的话,你可以在你的野文件目录中放一个名字为 .root 的空白文件,主动告诉 gutentags 这里就是工程目录。更新symbol:function! UpdateCtags() TlistUpdate endfunction autocmd BufWritePost *.c,*.h,*.cpp call UpdateCtags()保存文件时候,更新symbol。

函数跳转也是用到了tags文件,symbol管理已经将相关环境安装好了。

Ctrl+]:跳转到函数,或者变量的定义处Ctrl+o:返回到上个位置Ctrl+w+w:窗口切换,如可以切到taglist窗口<c-]>:跳转到定义处。<c-t>:往回跳转<c-w ]>:新建一个窗口,并显示定义。<c-w>c:关闭窗口
【声明】内容源于网络
0
0
JOB情报局
IT招聘及行业相关信息分享平台
内容 54
粉丝 0
JOB情报局 IT招聘及行业相关信息分享平台
总阅读20
粉丝0
内容54