强大的vim配置文件,让编程更随意

来源:互联网 发布:淘宝实时数据 编辑:程序博客网 时间:2024/05/21 12:47
花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:


1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试
2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改
3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码
4.按“F2”可以直接消除代码中的空行
5.“F3”可列出当前目录文件,打开树状文件目录
6. 支持鼠标选择、方向键移动
7. 代码高亮,自动缩进,显示行号,显示状态行
8.按“Ctrl + P”可自动补全


 vim本来就是很强大,很方便的编辑器,加上我的代码后肯定会如虎添翼,或许读者使用其他编程语言,可以根据自己的需要进行修改,配置文件里面已经加上注释。读者感兴趣的话直接复制下面的代码到文本文件,然后把文件改名为“ .vimrc” (不要忘记前面的“.”),然后把文件放到用户文件夹的根目录下面即可。重新打开vim即可看到效果。为方便管理,源码托管到了github,后期增加了好多新功能,


具体详见:https://github.com/ma6174/vim

这是在github上的vim配置的截图:





下面是精简的,没有插件的vim配置文件,保存到自己的.vimrc文件就能使用。

"set termencoding=utf-8"set fileencodings=ucs-bom,utf-8,cp936"set fileencoding=utf-8""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 显示相关  """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""winpos 5 5          " 设定窗口位置  "set lines=40 columns=155    " 设定窗口大小  "color asmanian2     " 设置背景主题  set guifont=Fixedsys:h14:cANSI   " 设置字体(将字体设成Fixedsys, 大小为14(单位是pt))autocmd InsertLeave * se nocul  " 用浅色高亮当前行  autocmd InsertEnter * se cul    " 用浅色高亮当前行  
set foldenable " 允许折叠 set foldmethod=manual " 手动折叠 colorscheme molokai "使用molokai配色方案,从网上下载,相当于主题set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""新文件标题"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" ""定义函数SetTitle,自动插入文件头 func SetTitle() "如果文件类型为.sh文件 if &filetype == 'sh' call setline(1,"\#########################################################################") call append(line("."), "\# File Name: ".expand("%")) call append(line(".")+1, "\# Author: xxx") call append(line(".")+2, "\# mail: xxx@qq.com") call append(line(".")+3, "\# Created Time: ".strftime("%c")) call append(line(".")+4, "\#########################################################################") call append(line(".")+5, "\#!/bin/bash") call append(line(".")+6, "") else call setline(1, "/*************************************************************************") call append(line("."), " > File Name: ".expand("%")) call append(line(".")+1, " > Author: xxx") call append(line(".")+2, " > Mail: xxx@qq.com ") call append(line(".")+3, " > Created Time: ".strftime("%c")) call append(line(".")+4, " ************************************************************************/") call append(line(".")+5, "") endif if &filetype == 'cpp' call append(line(".")+6, "#include<iostream>") call append(line(".")+7, "using namespace std;") call append(line(".")+8, "") endif if &filetype == 'c' call append(line(".")+6, "#include<stdio.h>") call append(line(".")+7, "") endif " if &filetype == 'java' " call append(line(".")+6,"public class ".expand("%")) " call append(line(".")+7,"") " endif "新建文件后,自动定位到文件末尾 autocmd BufNewFile * normal Gendfunc " 语法高亮syntax on" 自动缩进set autoindentset cindent" Tab键的宽度set tabstop=4" 统一缩进为4set softtabstop=4set shiftwidth=4"显示行号set number"搜索忽略大小写set ignorecase"搜索逐字符高亮set hlsearchset incsearch"我的状态行显示的内容(包括文件类型和解码)set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}" 总是显示状态行set laststatus=2

"NERDtee设定let NERDChristmasTree=1let NERDTreeAutoCenter=1let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt'let NERDTreeMouseMode=2let NERDTreeShowBookmarks=1let NERDTreeShowFiles=1let NERDTreeShowHidden=1let NERDTreeShowLineNumbers=1let NERDTreeWinPos='left'let NERDTreeWinSize=31nnoremap f :NERDTreeTogglemap <F7> :NERDTree<CR>

 

建议阅读原文链接 :http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html


 

0 0