zoukankan      html  css  js  c++  java
  • 我的gvim配置

    功能简介:
    alt+8 设置透明度高
    alt+9 设置透明度较高
    alt+0 设置透明度较低
    alt+1 设置为不透明
    ctrl+a 全选
    ctrl+c 复制
    ctrl+v 粘贴
    ctrl+s 保存
    alt+m 注释该行
    alt+F5/F6/F7/F8 边框大小调整
    F8 g++编译、报错
    F9 g++编译后运行
    F12 多窗口编辑
    F6 运行python程序
    F3 Grep
    ctrl+j/k/h/l 大幅度移动光标
    F2 tex文件中xelatex编译
    shift+F2 tex文件中pdflatex编译

    " REQUIRED. This makes vim invoke latex-suite when you open a tex file.
    filetype plugin on
    " IMPORTANT: win32 users will need to have 'shellslash' set so that latex
    " can be called correctly.
    set shellslash
    " IMPORTANT: grep will sometimes skip displaying the file name if you
    " search in a singe file. This will confuse latex-suite. Set your grep
    " program to alway generate a file-name.
    set grepprg=grep -nH $*
    " OPTIONAL: This enables automatic indentation as you type.
    filetype indent on
    " OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to
    " 'plaintex' instead of 'tex', which results in vi	  m-latex not being loaded.
    " The following changes the default filetype back to 'tex':
    let g:tex_flavor='latex'
    let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf'
    let g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*'
    let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
    let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'
    let g:Tex_ViewRule_pdf = 'd:/SumatraPDF/SumatraPDF.exe'
    let g:Tex_ViewRule_pdfs = 'd:/SumatraPDF/SumatraPDF.exe'
    let g:Tex_ViewRule_pdfm = 'd:/SumatraPDF/SumatraPDF.exe'
    let g:Tex_ViewRule_pdfx = 'd:/SumatraPDF/SumatraPDF.exe'
    
    set fileencodings=ucs-bom,utf-8,chinese,cp936
    set encoding=utf-8
    set termencoding=utf-8
    set fileencoding=utf-8
    "消除声音
    set visualbell t_vb=  "关闭visual bell
    au GuiEnter * set t_vb= "关闭beep
    "设置魔术(不知道)
    set magic
    
    "不要使用vi的键盘模式,而是vim自己的
    set nocompatible
    
    "支持256色,使得vim配色支持终端
    set t_Co=256
    
    "C缩进
    set smartindent
    set cindent
    
    "在处理未保存或只读文件的时候,弹出确认
    set confirm
    
    "语法高亮
    syntax enable
    syntax on
    
    "不要备份文件
    set nobackup
    
    "不要生成swap文件
    set noswapfile
    
    "在状态行上显示光标所在位置的行号和列号
    set ruler
    
    "命令行(在状态行下)的高度,默认为1,这里是2
    set cmdheight=1
    
    "使回格键(backspace)正常处理indent,eol,start等
    set backspace=indent,eol,start
    
    "不让vim发出讨厌的滴滴声
    set noerrorbells
    
    "高亮显示匹配的括号(不好用)
    "set showmatch
    
    "在搜索时,输入的词句的逐字符高亮
    set incsearch
    
    "2为总显示最后一个窗口的状态行
    "设为1则窗口数多于一个的时候显示最后一个窗口的状态行;
    "0不显示最后一个窗口的状态行
    set laststatus=2
    
    "继承前一行的缩进方式,特别适用于多行注释
    set autoindent
    
    "显示行号
    set number
    
    "制表符为4
    set tabstop=4
    
    "统一缩进为4
    set softtabstop=4
    set shiftwidth=4
    
    "不要用空格代替制表符
    set noexpandtab
    
    "在行和段开始处使用制表符
    set smarttab
    
    "高亮被搜索的句子
    set hlsearch
    
    "突出显示当前行
    set cursorline
    
    "突出显示当前列
    set cursorcolumn
    
    "不要图形按钮
    set go=
    
    "自动保存
    set autowrite
    
    "文件在Vim之外修改过,自动重新读入
    set autoread
    
    "自动切换当前目录为当前文件所在的目录
    set autochdir
    
    "设置背景和字体
    color candy 
    set guifont=Consolas:h15:cANSI
    set guifontwide=KaiTi:h15:cANSI
    
    set background=dark
    
    
    map <A-4> <Esc>:call Quick1()<cr>
    function! Quick1()
    	set guifont=Consolas:h13:cANSI
    endfunction
    map <A-5> <Esc>:call Quick2()<cr>
    function! Quick2()
    	set guifont=Consolas:h15:cANSI
    endfunction
    
    "设置透明度
    au GUIEnter * call libcallnr ( "vimtweak.dll" , "SetAlpha" , 210 ) 
    map <A-8> <Esc>:call libcallnr("vimtweak.dll", "SetAlpha", 90)<CR>
    map <A-9> <Esc>:call libcallnr("vimtweak.dll", "SetAlpha", 170)<CR>
    map <A-0> <Esc>:call libcallnr("vimtweak.dll", "SetAlpha", 220)<CR>
    map <A-1> <ESC>:call libcallnr("vimtweak.dll", "SetAlpha", 255)<CR>
    
    let mapleader="-"
    
    map <leader>as 1GVG"+y
    
    "Ctrl+a全选,Ctrl+c复制,Ctrl+v粘贴,Ctrl+s保存
    "全选
    map <C-a> <Esc>ggVG
    "复制
    vmap <C-c> "+y<Esc>
    "保存
    map <C-s> :w!<CR>
    imap <C-s> <Esc>:w!<CR>
    "粘贴
    map <C-v> "+p
    imap <C-v> <Esc>"+p<i>
    "注释
    map <A-m> I//<Esc>
    
    "边框大小调整
    map <A-F5> <c-w>+
    map <A-F6> <c-w>-
    map <A-F7> <c-w><
    map <A-F8> <c-w>>
    
    "大幅度移动光标
    map <C-j> 6j
    map <C-h> 6h
    map <C-k> 6k
    map <C-l> 6l
    
    "映射一个快捷键
    map <Space> <C-w>
    map Y "+y
    map P "+gP
    
    map <F8> :call Quick_Fix()<cr>
    imap <F8> <Esc><F8>
    
    map <F9> :call Compile_Run_Cpp()<cr>
    map <C-F9> :call Compile_Run_Cpp_O2()<cr>
    
    imap <F9> <Esc><F9>
    imap <C-F9> <Esc><C-F9>
    
    map <F12> :call Debug_Mode1()<cr>
    map <C-F12> : call Debug_Mode2()<cr>
    
    function! Quick_Fix()
    	exec "wall"
    	set makeprg=g++ % -o %<
    	exec "make"
    	exec "cw 6"
    endfunction
    
    function! Compile_Run_Cpp()
    	exec "wall"
    	exec "!g++ % -o %<.exe"
    	exec "!%<.exe"
    endfunction
    
    function! Compile_Run_Cpp_O2()
    	exec "wall"
    	exec "!g++ % -o %<.exe -O2"
    	exec "!%<.exe"
    endfunction
    
    function! Debug_Mode1()
    	exec "vsp %<.out"
    	exec "sp %<.in"
    endfunction
    
    function! Debug_Mode2()
    	exec "vsp output.out"
    	exec "sp input.in"
    endfunction
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    
    "按<F2>自动生成代码设置
    map <F2> :call SetTitle() <cr>'s
    
    autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" 
    "定义函数SetTitle,自动插入文件头 
    function! SetTitle()
    		let l = 0
    		let l = l + 1 | call setline(1, "/*************************************************************************") 
    		let l = l + 1 | call setline(l,"	> File Name: ".expand("%")) 
    		let l = l + 1 | call setline(l,"	> Author: Knowledge_llz") 
    		let l = l + 1 | call setline(l,"	> Mail: 925538513@qq.com ") 
    		let l = l + 1 | call setline(l,"	> Blog: https: https://www.cnblogs.com/Knowledge-Pig/ ") 
    		let l = l + 1 | call setline(l,"	> Created Time: ".strftime("%c")) 
    		let l = l + 1 | call setline(l," ************************************************************************/") 
    		let l = l + 1 | call setline(l,"")
    		let l = l + 1 | call setline(l, "#include<bits/stdc++.h>")
    		let l = l + 1 | call setline(l, "#define For(i,a,b) for(int i=(a);i<=(b);++i)")
    		let l = l + 1 | call setline(l, "#define LL long long")
    		let l = l + 1 | call setline(l, "#define pb push_back")
    		let l = l + 1 | call setline(l, "#define fi first")
    		let l = l + 1 | call setline(l, "#define se second")
    		let l = l + 1 | call setline(l, "#define pr pair<int,int>")
    		let l = l + 1 | call setline(l, "#define mk(a,b) make_pair(a,b)")
    		let l = l + 1 | call setline(l, "using namespace std;")
    		let l = l + 1 | call setline(l, "int read(){")
    		let l = l + 1 | call setline(l, "	char x=getchar(); int u=0,fg=0;")
    		let l = l + 1 | call setline(l, "	while(!isdigit(x)){ if(x=='-') fg=1; x=getchar(); }")
    		let l = l + 1 | call setline(l, "	while(isdigit(x)){ u=(u<<3)+(u<<1)+(x^48); x=getchar(); }")
    		let l = l + 1 | call setline(l, "	return fg?-u:u;")
    		let l = l + 1 | call setline(l, "}")
    		let l = l + 1 | call setline(l, "int main()")
    		let l = l + 1 | call setline(l, "{")
    		let l = l + 1 | call setline(l, "#ifndef ONLINE_JUDGE")
    		let l = l + 1 | call setline(l, "	freopen("input.in", "r", stdin);")
    		let l = l + 1 | call setline(l, "	freopen("output.out", "w", stdout);")
    		let l = l + 1 | call setline(l, "#endif")
    		let l = l + 1 | call setline(l, "")
    		let l = l + 1 | call setline(l, "	return 0;")
    		let l = l + 1 | call setline(l, "}")
        "新建文件后,自动定位到文件末尾
        autocmd BufNewFile * normal G
    endfunction
    
    "我的状态行显示的内容(包括文件类型和解码)
    highlight StatusLine cterm=bold ctermfg=yellow ctermbg=blue
    " 获取当前路径,将$HOME转化为~
    function! CurDir()
    		let curdir = substitute(getcwd(), $HOME, "~", "g")
    		return curdir
    endfunction
    set statusline=%f%m%r%h%=%l/%L,%c %p%% [%b] 
    "set statusline=[%n] %f%m%r%h | %{CurDir()} |%=[Line:%l/%L,Column:%c][%p%%] | ASCII=%b |%{strftime("%y/%m/%d - %H:%M")}
    
    map <F6> :!py %<cr>
    imap <F6> <Esc><F6>
    nnoremap <silent> <F3> :Grep<CR>
    
  • 相关阅读:
    [zz][openstack swift]0 swift介绍
    [zz]/usr、/var和/etc目录
    [zz]使用 watchdog 构建高可用性的 Linux 系统及应用
    [zz]sheep dog的readme
    [zz] Consistent Hashing Ring
    [zz]为什么这些死脑筋们在用 VI ?
    libvirt 网络
    [zz]libcapng
    libvirt 创建的文件
    电商购物网站如何调用第三方支付平台(支付宝,财付通,盛付通等)
  • 原文地址:https://www.cnblogs.com/Knowledge-Pig/p/14054935.html
Copyright © 2011-2022 走看看