Vim配置

1.打开~/.vimrc,将以下内容考入文件.vimrc中

"行号"

set nu

"高亮"

syntax enable
syntax on
"colorscheme cpp.vim "缩进" set cindent
set shiftwidth=3
set tabstop=3 "ctags" ''set tags=~/home/user/project/tags "winmanager" let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr> "Grep" nnoremap <silent> <F3> :Grep<CR> "SuperTab" "filetype plugin indent on
"set completeopt=longest,menu "let g:SuperTabDefaultCompletionType="context" "关闭vim一致性原则
set nocompatible
" Leader
let mapleader = ","
" Highlight current line
set cursorline "cursorcolumn
" Need confrimation while exit
set confirm
"设置历史记录条数
set history=1000
"设置取消备份禁止临时文件的生成
set nobackup
set noswapfile
"一直显示状态栏
set laststatus=2
"配置backspace的工作方式
set backspace=indent,eol,start
"自动判断编码时依次尝试以下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"开启语法高亮功能
syntax enable
" Switch syntax highlighting on, when the terminal has colors
if (&t_Co > 2 || has("gui_running")) && !exists("syntax_on")
syntax on
endif
"*********************************************************
" vundle 配置*
"*********************************************************
"set rtp+=~/.vim/bundle/vundle/
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#rc()
" let Vundle manage Vundle
Bundle 'gmarik/vundle'
" My Bundles here:
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'taglist.vim'
Bundle 'The-NERD-tree'
Bundle 'vim-airline/vim-airline'
"Bundle 'scrooloose/syntastic'
Bundle 'tomasr/molokai'
Bundle 'scrooloose/nerdcommenter'
Bundle 'grep.vim'
Bundle 'a.vim'
Bundle 'SuperTab'
"********************************************************
" 一般性配置*
"********************************************************
"显示行号
set number
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"在状态栏显示正在输入的命令
set showcmd
"设置匹配模式
set showmatch
"设置C/C++方式自动对齐
set autoindent
set cindent
"指定配色方案为256色
set t_Co=256
colorscheme molokai
highlight NonText guibg=#060606
highlight Folded guibg=#0A0A0A guifg=#9090D0
"设置搜索时忽略大小写
"set ignorecase
"设置在vim中可以使用鼠标
set mouse=a
if has('mouse')
set mouse-=a
endif
"设置tab宽度
set tabstop=3
"设置自动对齐空格数
set shiftwidth=3
"设置退格键时可以删除4个空格
set smarttab
set softtabstop=3
"将tab键自动转换为空格
set expandtab
"设置编码方式
set encoding=utf-8
"检测文件类型
filetype on
"针对不同的文件采取不同的缩进方式
filetype indent on
"允许插件
filetype plugin on
"启动智能补全
filetype plugin indent on
" Index ctags from any project, including those outside Rails
map <Leader>ct :!ctags -R .<CR>
" nohlsearch shortcut
nmap -hl :nohlsearch<cr>
nmap +hl :set hlsearch<cr>
nnoremap <leader>w :w<CR>
nnoremap <leader>q :q<CR>
" <Leader>f{char} to move to {char}
map <Leader>f <Plug>(easymotion-bd-f)
nmap <Leader>f <Plug>(easymotion-overwin-f)
nnoremap <silent> <F3> :Rgrep<CR>
nnoremap <silent> <C-]> g<C-]>
nnoremap <silent> <F2> :AT<CR>
nnoremap <silent> <F5> :make<CR>
nnoremap <silent> <F6> :cw<CR>
nn <leader>1 1gt
nn <leader>2 2gt
nn <leader>3 3gt
nn <leader>4 4gt
nn <leader>5 5gt
nn <leader>6 6gt
nn <leader>7 7gt
nn <leader>8 8gt
nn <leader>9 9gt
nn <leader>0 10gt
"*****************************************************
" taglist配置*
"*****************************************************
"不显示"press F1 to display help"
let Tlist_Compact_Format=1
"窗口在左侧显示
let Tlist_Use_Right_Window=1
"只显示当前文件的tags
let Tlist_Show_One_File=1
"高亮显示
let Tlist_Auto_Highlight_tag=1
"随文件自动更新
let Tlist_Auto_Update=1
"设置宽度
let Tlist_WinWidth=30
"taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=1
"单击跳转
let Tlist_Use_SingClick=1
"打开关闭快捷键
nnoremap <silent> <F8> :TlistToggle<CR>
"********************************************************
" NERD_Tree 配置*
"********************************************************
"显示增强
let NERDChristmasTree=1
"自动调整焦点
let NERDTreeAutoCenter=1
"鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2
"打开文件后自动关闭
let NERDTreeQuitOnOpen=1
"显示文件
let NERDTreeShowFiles=1
"显示隐藏文件
let NERDTreeShowHidden=1
"高亮显示当前文件或目录
let NERDTreeHightCursorline=1
"显示行号
let NERDTreeShowLineNumbers=1
"窗口位置
let NERDTreeWinPos='left'
"窗口宽度
let NERDTreeWinSize=31
"不显示'Bookmarks' label 'Press ? for help'
let NERDTreeMinimalUI=1
"快捷键
nnoremap <silent> <F4> :NERDTreeToggle<CR>
"*****************************************************
" Syntastic配置*
"*****************************************************
" configure syntastic syntax checking to check on open as well as save
let g:syntastic_check_on_open=1
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_wq = 0
nnoremap <F7> :SyntasticToggleMode<CR>:SyntasticToggleMode<CR>
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:airline#extensions#whitespace#enabled = 0
"map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
"imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
"set tags=tags
"set tags+=./tags "add current directory's generated tags file
"set tags+=~/arm/linux-2.6.24.7/tags "add new tags file

2.打开Vim,执行:BundleInstall

常见操作

  • ctrl+] 到函数定义处,若有多个则自动显示列表
  • F3 全局搜索此字符串
  • F4 打开NerdTree
    • o 替换当前窗口文件
    • t 在新标签页中打开文件
    • i 上下分割当前窗口并打开文件
    • u 到上一级目录
  • F5 编译

可能遇到的问题

如果报错

Not an editor command: ^IBundle 'gmarik/vundle'
Not an editor command: ^IBundle 'gmarik/vundle'

可能没有安装Vundle插件管理,可以通过以下命令安装

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

注意配置文件文件中则为

set rtp+=~/.vim/bundle/Vundle.vim

而不是原先的

set rtp+=~/.vim/bundle/vundle/

如果出现

Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded

则执行

sudo apt-get install ctags

如果想在vim中复制粘贴格式不会错乱,需要在vimrc中加入

set pastetoggle=<F11>

进入插入模式然后使用Fn+F11就可以粘贴了。

Vim配置及使用的更多相关文章

  1. acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)

    日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...

  2. 简单快捷好用的vim配置和终端配置推荐

    vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...

  3. 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

    上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...

  4. centos vim配置高亮语法和格式化粘贴

    centos vim配置高亮语法和格式化粘贴 设置vim别名和高亮grep词语 echo -e "\nalias vi=vim\nalias grep='grep --color'\n&qu ...

  5. vim配置方法

    /etc/vimrc (公共的) ~/.vimrc (私人的) rpm -qa|grep vim 这个命令,如何vim已经正确安装,则会显示上面三个包的名称 全部安装 yum -y install v ...

  6. VIM配置相关记录

    把一直使用中的vim配置做个GIT入库管理,也把之前积累在机器上的文档,做个汇总. https://github.com/wujuguang/kyvim 1. 安装完整版vim vi和vim的区别?在 ...

  7. Vim配置及说明——IDE编程环境

    Vim配置及说明——IDE编程环境 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 9. ...

  8. Env:VIM配置

    注:文章来自于http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配 ...

  9. vim配置python开发环境

    vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...

  10. Vim配置IDE开发环境

    我的vim IDE界面: 1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get instal ...

随机推荐

  1. Python 函数部分练习题

    函 数 基 础 1.写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作2.写函数,计算传入字符串中[数字].[字母].[空格] 以及 [其他]的个数 3.写函数,判断用户传入的 ...

  2. MyEclipse背景与字体大小和xml文件中字体大小调整

    1.打开window / Preference,弹出Preference面板 2.展开General标签,选中Editors选项,展开. 3.选中 Text Editors,右边出现TestEdito ...

  3. java类的方法

    我前面说的都是类的属性,现在说类的方法: 类{ 属性:“类有什么” 方法:“类能做什么” } 首先我们在之前创建的学生类中添加个打印1-10数字的方法,参数是name package cuteSnow ...

  4. POI 详细介绍

    Apache POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.目前POI已经有了Ruby版本. 结构: HSSF - 提供读写Microsoft Excel XLS格式 ...

  5. 关于@SuppressWarnings("unchecked")注解

    解释一: 屏蔽某些编译时的警告信息         在强制类型转换的时候编译器会给出警告        加上程序代码        @SuppressWarnings("unchecked& ...

  6. ZOJ 3829 模拟贪心

    2014牡丹江现场赛水题 给出波兰式,推断其是否合法.假设不合法有两种操作: 1:任何位置加一个数字或者操作符 2:随意两个位置的元素对调 贪心模拟就可以 先推断数字数是否大于操作符数,若不大于 an ...

  7. hdoj-1312-Red and Black

    Red and Black Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

  8. crm操作报价单实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages;     using Microsoft ...

  9. 具体解释XML解析(一)—解析接口浅析

    在DRP项目中接触到了一个XML解析工具DOM4J,它作为解析工具的据说性能很优秀.可是刚刚接触解析工具不久,而且也没有使用过其它的解析工具.因此对于DOM4J的性能没有直接的感受(没有參照物).只是 ...

  10. MainWndProc运行观察(有待研究)

    MainWndProc运行观察 把MainWndProc改写成如下代码,便于观察:procedure TWinControl.MainWndProc(var Message: TMessage);be ...