my .vimrc
来源:互联网 发布:云计算服务器搭建 编辑:程序博客网 时间:2024/05/22 06:13
:h %<
%< current file name without extension
我这里的配置是针对vim所设置如果是最原始的vi,那么是不支持下面一些配置的,如:
set mouse=a "enable mouse
set autochdir出错提示:
E538: No mouse support: mouse=a
E518: Unknown option: autochdir执行yum install vim后,给vim设置别名vi
[workhard@zl 毕业设计]$ which vi
/bin/vi
[workhard@zl 毕业设计]$ alias vi='vim'
[workhard@zl 毕业设计]$ which vi
alias vi='vim'
/usr/bin/vimset nocompatible"source $VIMRUNTIME/vimrc_example.vim"source $VIMRUNTIME/mswin.vim"behave mswin"设置vim默认窗口大小set lines=31set columns=102set mouse=a "enable mousesyntax onfiletyp onfiletype plugin indent on"autocmd FileType c set tabstop=8 "When edit c source code"au BufNewFile,BufRead *.txt set tabstop=8 ""When edit TXT file"新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.[ch],*.sh,*.cpp,*.java exec ":call SetTitle()" "新建文件后,:h normal...Execute Normal mode commands {commands}. 跳到第12行 autocmd BufNewFile * normal 12Gset expandtab "Converting tabs to spacesset tabstop=4set shiftwidth=4set autoindentset cindentset cino=g0set nuset diffexpr=MyDiff()set tags=tagsset autochdir".C/C++的编译和运行 Build and runmap <F9> :call CompileRunGcc()func! CompileRunGcc() call CompileGcc()exec "!./%<"endfunc".C/C++的编译运行_end".C/C++的编译map <C-F9> :call CompileGcc()function CompileGcc()exec "w"if &filetype=="c"" %当前文件名 current file name" %< 当前文件名(去掉后缀) current file name without extension exec "!gcc -g % -o %<" elseif &filetype=="cpp" exec "!g++ -g % -o %<"endifendfunction".C/C++的编译_end".C/C++的运行map <C-F10> :exec "!./%<"".C/C++的运行_end"Ctrl-F12快捷键自动生成tags文件map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR> "Ctrl-F12快捷键自动生成tags文件_end"Ctrl-F11快捷键自动生成单前文件的tags文件map <C-F11> :!ctags %"Ctrl-F11快捷键自动生成单前文件的tags文件_end"vim自动更新标签文件tagsau BufWritePost *.cpp,*.h,*.c,*.rl,*.def call system("ctags --tag-relative -a -o ~/.vim/tags/usr/ctags/tags --extra=+q " . expand("%:p"))set nobackuplet &termencoding=&encoding set fileencodings=utf-8,gbk,cp936###function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '\<cmd' let cmd = '""' . $VIMRUNTIME . '\diff"' let eq = '"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"' endif else let cmd = $VIMRUNTIME . '\diff' endif silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eqendfunction"定义函数SetTitle,自动插入文件头 func SetTitle()call setline(1, "/**********************************************************************") call append(line("."), "* Compiler: gcc 4.5.1 20100924 (Red Hat 4.5.1-4)") call append(line(".")+1, "* Last Update: ".strftime("%c")) call append(line(".")+2, "* File Name: ".expand("%")) call append(line(".")+3, "* Arguments: ") call append(line(".")+4, "* Description: ") call append(line(".")+5, "************************************************************************/") if &filetype == 'c' call append(line(".")+6, "#include <stdio.h>") call append(line(".")+7, "#include <stdlib.h>") call append(line(".")+8, " ") call append(line(".")+9, "int main(int argc, char **argv)") call append(line(".")+10, "{") call append(line(".")+11, " ") call append(line(".")+12, "") call append(line(".")+13, " return 0;")call append(line(".")+14, "}") elseif &filetype == 'cpp' call append(line(".")+5, "#include <iostream>") call append(line(".")+6, " ") call append(line(".")+7, "int main()") call append(line(".")+8, "{") call append(line(".")+9, "") call append(line(".")+10, " return 0;")call append(line(".")+11, "}") elseif &filetype == 'java' call append(line(".")+5, "public class ".expand("%<").expand("{")) call append(line(".")+6, " public static void main(String[] args){") call append(line(".")+7, " ") call append(line(".")+8, " System.out.println();")call append(line(".")+9, " }") call append(line(".")+10, "}") call append(line(".")+11, " ") endif endfunc" 自动更新文件的最后更新时间function! AutoUpdateTheLastUpdateInfo() let s:original_pos = getpos(".") let s:regexp = "^\* Last Update: " let s:lu = search(s:regexp) if s:lu != 0 let s:update_str = matchstr(getline(s:lu), s:regexp) call setline(s:lu, s:update_str . strftime(" %c")) call setpos(".", s:original_pos) endifendfunctionautocmd InsertLeave *.{py,c,js,css},*vimrc call AutoUpdateTheLastUpdateInfo()
- my vimrc
- my .vimrc
- my vimrc
- my vimrc
- my vimrc
- my .vimrc
- my vimrc
- my vimrc
- My vimrc
- My vimrc...
- my vimrc
- my vimrc
- My vimrc
- my vimrc
- my vimrc 配置
- My customization .vimrc
- My vimrc file
- My Vimrc Archive
- Linux Vi编辑器使用
- 内核学习的相关资源
- 谈iframe内存释放问题(转载)
- 配置Linux(cent os 5.2)服务器并安装PHP、MySQL、NGINX
- 数据库之【标量类型及其使用篇】
- my .vimrc
- 奇异函数
- 服务中监视会话切换
- 使用RHManagedObjectContextManager 来进行 CoreData的数据处理
- 拿win7学习php+mysql比较坑爹呀
- assert()函数用法总结
- 用bitmap实现中位数的算法
- 设计模式与实例代码:Template Method模式
- iOS5系统API和5个开源库的JSON解析速度测试