vimrc 我的专属vim配置

Posted pertinence

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vimrc 我的专属vim配置相关的知识,希望对你有一定的参考价值。

  1 set nu
  2 set wrap
  3 set tabstop=4
  4 set softtabstop=4
  5 set shiftwidth=4
  6 syntax on
  7 filetype on        "打开vim文件类型自动检测功能
  8 set autoindent
  9 set smartindent
 10 set scrolloff=10
 11 set ruler 
 12 set hlsearch
 13 set history=100
 14 
 15 "set foldenable
 16 "set foldmethod=indent
 17 "set foldcolumn=0
 18 "set foldlevel=3
 19 
 20 autocmd InsertLeave * se nocul
 21 autocmd InsertEnter * se cul 
 22 autocmd BufNewFile *.cpp,*.c exec ":call SetTitle()"
 23 func SetTitle()
 24     call setline(1,"/* I can do all things */")
 25     call append(line("."),"/*")
 26     call append(line(".")+1,"File Name: ".expand("%"))
 27     call append(line(".")+2,"Create Time: ".strftime("%c"))
 28     call append(line(".")+3,"Description:")
 29     call append(line(".")+4,"*/")
 30     if &filetype==cpp
 31         call append(line(".")+5,"#include<iostream>")
 32         call append(line(".")+6,"using namespace std;")
 33         call append(line(".")+7,"")
 34     endif
 35     if &filetype==c
 36         call append(line(".")+5,"#include<stdio.h>")
 37         call append(line(".")+6,"")
 38     endif
 39 endfunc
 40 autocmd BufNewFile * normal G
 41 
 42 let Tlist_Sort_Type="name"
 43 let Tlist_Use_Left_Window=1
 44 let Tlist_Compart_Format=1
 45 let Tlist_Exist_OnlyWindow=1    "若只有一个BUFFER kill掉窗口 
 46 
 47 
 48 let Tlist_Auto_Open=0
 49 set tags=tags;
 50 set autochdir
 51 let Tlist_Show_One_File=1
 52 let Tlsit_Exit_OnlyWindow=1
 53 let Tlist_WinWidth=20
 54 map <silent> <F8> :TlistToggle<CR>
 55 
 56 func! CompileGcc()
 57     exec "w"
 58     let compilecmd="!gcc "
 59     let compileflag="-o %< "
 60     if search("mpi\.h") != 0
 61         let compilecmd = "!mpicc "
 62     endif
 63     if search("glut\.h") != 0
 64         let compileflag .=" -lglut -lGLU -lGL "
 65     endif
 66     if search("cv\.h") != 0
 67         let cpmpileflag .= " -lcv -lhighgui -lcvaux "
 68     endif
 69     if search("omp\.h") != 0
 70         let compileflag .= " -fopenmp "
 71     endif
 72     if search("math\.h") != 0
 73         let compileflag .= " -lm "
 74     endif
 75     exec compilecmd." % ".compileflag
 76 endfunc
 77 
 78 func! CompileGpp()
 79     exec "w"
 80     let compilecmd="!g++"
 81     let compileflag="-o %< "
 82     if search("mpi\.h") != 0
 83         let compilecmd = "!mpic++ "
 84     endif
 85     if search("glut\.h") != 0
 86         let compileflag .=" -lglut -lGLU -lGL "
 87     endif
 88     if search("cv\.h") != 0
 89         let cpmpileflag .= " -lcv -lhighgui -lcvaux "
 90     endif
 91     if search("omp\.h") != 0
 92         let compileflag .= " -fopenmp "
 93     endif
 94     if search("math.\h") != 0
 95         let compileflag .=" -lm "
 96     endif
 97     exec compilecmd." % ".compileflag
 98 endfunc
 99 
100 func! CompileCode()
101     exec "w"
102     if &filetype == "cpp"
103         exec "call CompileGpp()"
104     elseif &filetype == "c"
105         exec "call CompileGcc()"
106     endif
107 endfunc
108 
109 func! RunResult()
110     exec "w"
111     if &filetype == "cpp"
112         exec "call CompileGpp()"
113         exec "! ./%<"
114     endif
115     if &filetype == "c"
116         exec "call CompileGcc()"
117         exec "! ./%<"
118     endif
119 endfunc
120 
121 map <F6> :call RunResult()<CR>
122 
123 
124 map <F5> :call CompileCode()<CR>
125 imap <F5> <ESC>:call CompileCode()<CR>
126 vmap <F5> <ESC>:call CompileCode()<CR>

 

以上是关于vimrc 我的专属vim配置的主要内容,如果未能解决你的问题,请参考以下文章

我的VIM -- vimrc配置

vim配置信息 vimrc

为啥我的vim配置文件(.vimrc)只有添加sudo的情况下才生效。我的系统是Ubuntu的

VIM 代码片段插件 ultisnips 使用教程

vim常用配置 vimrc文件

Vim配置