linux下的IDE普遍不好用,写代码看代码的活还是交给编辑器的神吧
安装vim
工欲善其事必先利其器,所以我们还是先安装一个vim吧。后续需要从github上面下载插件,所以我们一并将git也安装上
sudo apt-get install vim git
安装vundle
vundle是用于管理vim插件的一个工具,使用它可以很方便地从Github上面下载想要的插件和删除相关插件。
同步vundle.vim到~/.vim/bundle/目录下
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
将下列配置vundle和插件的语句添加到.vimrc文件的最顶部,确保vim在启动的时候优先加载
"""""""""""""""""""""""""""""""""""""""
" VIM PLUGIN MANAGEMENT CONFIGURATION "
"""""""""""""""""""""""""""""""""""""""
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
以后需要安装的插件可以使用Plugin格式的语法先在.vimrc中添加,然后在vim软件界面使用:PluginInstall安装即可。
状态栏插件 vim-airline
vim-airline是一个窗口状态插件,集成了buffer显示条,可用于替代Minibuf插件。个人非常喜欢,此插件使用了powerline字体,为了更好的显示,需要提前下载。
下载并安装powerline字体
cd ~/Downloads
git clone https://github.com/powerline/fonts.git
选择一个字体拷贝到$HOME/.local/share/fonts/目录下
cd ~/.local/share/fonts/
cp ~/Downloads/fonts-master/Monofur/Monofur\ for\ Powerline.ttf ./
在终端使用fc-cache命令将字体缓存到系统中
在.vimrc文件中加入下列语句以加载指定字号的字体(GVim)
set guifont=Monofur\ for\ Powerline\ 12
重新启动gvim即可看到效果
安装vim-airline
在.vimrc顶部指定区域添加下列语句以添加插件
Plugin 'vim-airline/vim-airline'
在vim软件界面输入:PluginInstall安装此插件
在.vimrc中添加下列配置以启用vim-airline
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
set laststatus=2
tab状态栏和快捷键设置
在.vimrc中添加下列配置以设置快捷键和状态栏标签
let g:airline#extensions#tabline#buffer_idx_mode = 1
nmap <leader>1 <Plug>AirlineSelectTab1
nmap <leader>2 <Plug>AirlineSelectTab2
nmap <leader>3 <Plug>AirlineSelectTab3
nmap <leader>4 <Plug>AirlineSelectTab4
nmap <leader>5 <Plug>AirlineSelectTab5
nmap <leader>6 <Plug>AirlineSelectTab6
nmap <leader>7 <Plug>AirlineSelectTab7
nmap <leader>8 <Plug>AirlineSelectTab8
nmap <leader>9 <Plug>AirlineSelectTab9
nmap <leader>- <Plug>AirlineSelectPrevTab
nmap <leader>+ <Plug>AirlineSelectNextTab
使用方法:按''+'x'实现状态标签的跳转和切换
为第三方插件添加状态栏显示
在.vimrc中添加下列配置以添加第三方插件的支持
let g:airline#extensions#tagbar#enabled = 1
let g:airline#extensions#syntastic#enabled = 1
目录树插件 NerdTree
在.vimrc顶部指定区域添加下列语句以添加插件
Plugin 'scrooloose/nerdtree'
在vim软件界面输入:PluginInstall安装此插件
在.vimrc中添加下列配置以启用nerdtree
map <C-n> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
第一行是用于将ctrl+n快捷键映射为打开nerdtree窗口
第二行是保证只是nerdtree窗口时关闭vim
Outline列表 tagbar
在.vimrc顶部指定区域添加下列语句以添加插件
Plugin 'majutsushi/tagbar'
在vim软件界面输入:PluginInstall安装此插件
在.vimrc中添加下列配置以启用tagbar
map <C-b> :TagbarToggle<CR>
超频的ctags cscope
安装cscope
sudo apt-get install cscope
下载键位映射
wget -P ~/.vim/plugin http://cscope.sourceforge.net/cscope_maps.vim
使用方法:
- 在工程根目录下使用命令cscope -Rbq生成cscope.out数据库
- 在Vim中使用命令cs add cscope.out添加此数据库
-
使用快捷方式ctrl+ x调用即可
所有快捷方式:Ctrl-\ and
c: Find functions calling this function
d: Find functions called by this function
e: Find this egrep pattern
f: Find this file
g: Find this definition
i: Find files #including this file
s: Find this C symbol
t: Find assignments to语法检测神器 Syntastic配置
在.vimrc顶部指定区域添加下列语句以添加插件
Plugin 'scrooloose/syntastic'
在.vimrc中添加下列配置以启用Syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0使用.syntastic_c_config配置
阅读一些源代码时,如果不对syntastic进行相关配置,往往由于目录设置的原因,syntastic会报头文件目录不存在的错误。针对c语言我们可以在项目工程根目录下添加.syntastic_c_config文件进行配置
.syntastic_c_config文件中每条选项独立一行
示例-I/home/sammy/workspace/hostapd-2.5/src
-I/home/sammy/workspace/hostapd-2.5/src/utils内嵌Git diff显示 Gitgutter
在.vimrc顶部指定区域添加下列语句以添加插件
Plugin 'airblade/vim-gitgutter'
在.vimrc中添加下列配置以启用Syntastic
set updatetime=250
let g:gitgutter_sign_column_always = 1Gvim 简易配置
使用下面的配置可以很方便地控制Gvim的窗口风格
if has("gui_running")
set guioptions-=m " 隐藏菜单栏
set guioptions-=T " 隐藏工具栏
set guioptions-=L " 隐藏左侧滚动条
set guioptions-=r " 隐藏右侧滚动条
set guioptions-=b " 隐藏底部滚动条
set showtabline=0 " 隐藏Tab栏
endif