将vim变为IDE(不定期更新)

今天重新配置了一下vim,将其配置成为了一个完整的IDE。包括自动补全,文件列表,函数列表等

先来一张图:

以下是文件配置:

set shortmess=atI   " 启动的时候不显示那个援助乌干达儿童的提示
set nu              " 显示行号
syntax on           " 语法高亮
set ruler           " 显示标尺
set showmode
set showcmd
set hlsearch
set nocompatible  "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
set cursorcolumn   "竖行高亮
set cursorline     "当前横行高亮
set foldmethod=syntax    "设置折叠
set foldlevelstart=99
set autoindent   "自动缩进
set tabstop=2
set softtabstop=2
set shiftwidth=2
set relativenumber     "设置相对行号
"配色方案
set t_Co=256
syntax enable
set background=dark
colorscheme molokai

let mapleader=";"
nmap <Leader>q :q<CR>
nmap <Leader>w :w<CR>
nmap <Leader>qa :qa<CR>
nmap <Leader>wq :wq<CR>
nmap <Leader>a za
nmap <Leader>j <C-W>j
nmap <Leader>k <C-W>k
nmap <Leader>h <C-W>h
nmap <Leader>l <C-W>l
nmap <Leader>g :Te<Space>
nmap <Leader>t gt
nmap <Leader>f gf

nmap <C-U> <C-v>0d
nmap <C-K> <C-v>$d
nmap <CR> G
nmap <backspace> gg

inoremap jk <Esc>
inoremap ( ()<LEFT>
inoremap [ []<LEFT>
inoremap { <CR><Tab>{<CR>}<ESC>O<Tab>

function HeaderPython()
    call setline(1, "#coding: utf-8")
    call append(1, "\#Created Time: ".strftime('%Y-%m-%d %T', localtime()))
		call append(2,"")
    normal G
endf

function Headersh()
    call setline(1,"\#########################################################################")
		call append(1,"\#File Name:".expand("%"))
		call append(2,"\#Created Time:".strftime('%Y-%m-%d %T'))
    call append(3, "\#########################################################################")
    call append(4, "\#!/bin/bash")
		call append(5,"")
		normal G
endf

function Headercpp()
		call setline(1,"/*******************************************************")
		call append(1,"File Name:".expand("%"))
		call append(2,"Created Time:".strftime('%Y-%m-%d %T'))
		call append(3,"********************************************************/")
		call append(4,"\#include<iostream>")
		call append(5,"using namespace std;")
		call append(6,"")
		normal G
endf

autocmd bufnewfile *.py call HeaderPython()
autocmd bufnewfile *.sh call Headersh()
autocmd bufnewfile *.cpp call Headercpp()

map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
	exec "w"
	if &filetype == 'c'
		exec "!g++ % -o %<"
	  exec "! ./%<"
	elseif &filetype == 'cpp'
	  exec "!g++ % -o %<"
	  exec "! ./%<"
	elseif &filetype == 'sh'
	  :!./%
	elseif &filetype == 'python'
		exec "!python %"
	endif
endfunc

"Plugin
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()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'Valloric/YouCompleteMe'
Plugin 'vim-scripts/a.vim'
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'

"NERDTree
map <C-N> :NERDTreeToggle<CR>
let NERDTreeShowBookmarks=1 "显示书签
let NERDTreeDirArrows=0 "目录箭头 1 显示箭头  0传统+-|号
"autocmd VimEnter * NERDTree
"autocmd VimEnter * wincmd p
"autocmd VimEnter * if !argc() | NERDTree | endif

"Taglist
map <C-L> :Tlist<CR>
let Tlist_Show_One_File=0
let Tlist_Ctags_Cmd="/usr/bin/ctags" "将taglist与ctags关联
let Tlist_Exit_OnlyWindow=1    "最后一个窗口时退出
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
"let Tlist_Auto_Open=1

"ctags
map <F9>  :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>

稍微解释一下上面的部分配置文件

配色方案:这个需要去molokai官网下载一个molokai.vim 的文件,放入~/.vim/colors文件夹下(如果没有请新建一个)

Plugin:

这个部分就直接将代码写入~/.vimrc文件之后,重新输入:vim  ,再输入::PluginInstall  等待安装就好了(可能时间比较长)

NERDTree:

刚刚的Plugin部分已经安装好了,直接输入配置就好了

Taglist:

这个部分需要到taglist官网下载一个taglist.vim的文件,放入~/.vim/plugin文件夹下(没有就新建)。之后将上述的配置输入到.vimrc中

ctags:

这个直接通过输入:apt-get install catgs 安装,然后配置就好了

最后说一下补全插件YouCompleteMe,出现错误可以参考Ubuntu下安装YouCompleteMe插件这篇文章解决

当添加新的功能时,本博客会持续更新,敬请期待

时间: 2024-11-10 15:19:27

将vim变为IDE(不定期更新)的相关文章

那些Java IDE工具(不定期更新)

一.Eclipse Eclipse是一个市场占有率很高的Java IDE工具. 官网地址:http://www.eclipse.org/ 下载地址:http://www.eclipse.org/downloads/ 二.... 那些Java IDE工具(不定期更新)

adt-bundle和android studio下载地址(不定期更新)

因为众所周知的原因,android官网打不开.在这里公布IDE地址,可以用迅雷等软件直接下载. adt-bundle-windows-x86: http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip adt-bundle和android studio下载地址(不定期更新),布布扣,bubuko.com

使用VIM打造IDE(针对C语言)

=============================== 话不多说,先来看看效果 =============================== ================================ 使用vim打造IDE, 针对C语言开发者 建议使用gvim ================================ # 安装ruby, command-t插件会用到 sudo apt install ruby ruby-dev # 安装vim, vim-gtk sudo

vim打造IDE

1.首先安装插件管理器 Pathogen Install to ~/.vim/autoload/pathogen.vim mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim 在Centos家目录中新建.vimrc文件,添加: execute pathogen#infect() syntax on filetype plugi

基于C/S架构的3D对战网络游戏C++框架 _【不定期更新通知】

由于笔者最近有比赛项目要赶,这个基于C/S架构的3D对战网络游戏C++框架也遇到了一点瓶颈需要点时间沉淀,所以近一段时间不能保证每天更新了,会保持不定期更新.同时近期笔者也会多分享一些已经做过学过的C++.服务器端开发.游戏开发相关的内容给大家(因为这些内容已经熟悉也积攒了一定量现有的笔记所以整理成博客会相对轻松些).感谢大家支持,深鞠躬.过两天笔者要去上海参加C++大会,回来后会把参会感悟也分享给大家的^__^.喜欢技术人的纯粹,没有等级之分,希望我们能一路一起进步,共同成长. 基于C/S架构

Make Vim an IDE

Making vim an IDE is an exiting thing. Conside following configuration files: .vimrc: ~/.vimrc winmanager.vim: ~/.vim/bundle/winmanager/plugin/winmanager.vim .vimrc my .vimrc is as follows: set nocompatible " be iMproved, required filetype off "

node.js项目开发问题集锦(不定期更新,随时把开发过程中遇到的问题加上)

1.用express开发站点时,怎么定义通用的头部和尾部 方案1:用类似asp时代的include添加,如ejs模板: <% include ../header.ejs %> <h1 class="page-header"> 这里是内容. 注:..表示header.ejs在上一级目录,ejs扩展名可以去掉,直接写:include ../header </h1> <% include ../footer %> 方案2:用类似于MVC的lay

vim变ide

如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利.不管是Java.C还是Python,当IDE会帮你检查语法.后台编译,或者自动导入你需要的库时,写代码就变得容易许多.另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便.所以,你可能会想从Vim中也获取这些IDE特性. 事实上,很少有方法可以帮你做到.有些人可能会想到试着把Vim打造成C语言IDE的,比如c.vim:也有把Vim集成到Eclipse里的 Eclim .但是我想要告诉你的是一个更加

leran html5(不定期更新)

采用Html5技术编写 了解HTML5请到:http://baike.baidu.com/link?url=4437QJzcpocoFR42wQf6DDOk-7Wj3_zrA7ft_ces0keEVjiCey2C4PyMKmiTt8Mg9YI2hWC7CXBxV7oLbT3Rg_ 开始学习吧! Learn Html5   By C.N.Chinese 1.伪元素 Home About News Develop Others style: #nav{ display:block;width:600