• 我的vimrc


    set nocompatible
    set number
    filetype off
    set history=1000
    colorscheme jellybeans
    syntax on
    set autoindent
    "set smartindent
    set tabstop=4
    set shiftwidth=4
    set showmatch
    set noexpandtab
    set guioptions-=T
    set backspace=2
    set ruler
    set incsearch
    set nobackup
    set nowrap
    set viminfo='1000
    set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
    set lines=35 columns=100
    "以上设置部分
    
    set rtp+=$HOME.vimundleVundle.vim
    call vundle#begin()
    Plugin 'VundleVim/Vundle.vim'
    Plugin 'godlygeek/tabular'
    Plugin 'plasticboy/vim-markdown'
    Plugin 'joker1007/vim-markdown-quote-syntax'
    Plugin 'iamcco/markdown-preview.vim'
    call vundle#end()
    filetype plugin indent on
    " 以上vundle
    let g:vim_markdown_folding_disabled = 1
    set conceallevel=2
    let g:vim_markdown_math = 1
    nmap <silent> <F9> <Plug>MarkdownPreview
    nmap <silent> <F10> <Plug>MarkdownPreviewStop
    
    map <F9> :call Compile()<CR>
    map <F10> :call Run()<CR>
    map <F5> :call RunGdb()<CR>
    func! Compile()
    	if &filetype == 'cpp'
    		exec "!g++ % -o %< -m32 -Wall -Wl,--stack=102400000 -fdiagnostics-color=always"
    		exec "redraw!"  
    	endif
    endfunc
    func! Run()
    	if &filetype == 'cpp'
    		exec "!%<"
    		exec "redraw!"  
    	endif
    endfunc
    func! RunGdb()
    	:call Compile()
    	exec "!gdb32 %<"
    	exec "redraw!"  
    endfunc
    "以上运行&调试
    
    inoremap ( ()<LEFT>
    inoremap [ []<LEFT>
    inoremap { {}<LEFT>
    "以上自动补全
    
    map <S-u> <C-r>
    "把U设为重做
    map <C-s> <Esc>:w<cr>
    "更熟悉的保存方法
    noremap x "_x
    noremap X "_dd
    "让x和X成为真正的删除字符/删除一行
    noremap s "_s
    noremap S "_S
    "让s和S成为真正的删除+插入字符/一行
    
    func! Remdc(char)
    	if getline('.')[col('.') - 1] == a:char
    		return "<Right>"
    	else
    		return a:char
    	end if
    endfunc
    func! Remdc2(char)
    	if getline('.')[col('.') - 1] == a:char
    		return "<Right>"
    	else
    		return a:char . a:char . "<Left>"
    	endif
    endfunc
    inoremap ) <c-r>=Remdc(')')<CR>
    inoremap ] <c-r>=Remdc(']')<CR>
    inoremap } <c-r>=Remdc('}')<CR>
    inoremap ' <c-r>=Remdc2("'")<CR>
    inoremap " <c-r>=Remdc2('"')<CR>
    "以上避免重复括号,同时处理了引号的自动补全
    
    func! Autonl()
    	if getline('.')[col('.') - 2] == '{' && getline('.')[col('.') - 1] == '}'
    		return "<CR><CR><UP><TAB>"
    	elseif getline('.')[col('.') - 2] == ')'
    		return "<CR><TAB>"
    	else
    		return "<CR>"
    	endif
    endfunc
    inoremap <CR> <c-r>=Autonl()<CR>
    inoremap <S-CR> <c-r>=Autonl()<CR>
    "以上自动换行
    
    func! Rempr()
    	if getline('.')[col('.') - 2] == '{' && getline('.')[col('.') - 1] == '}'
    		return "<Right><BS><BS>"
    	elseif getline('.')[col('.') - 2] == '(' && getline('.')[col('.') - 1] == ')'
    		return "<Right><BS><BS>"
    	elseif getline('.')[col('.') - 2] == '[' && getline('.')[col('.') - 1] == ']'
    		return "<Right><BS><BS>"
    	elseif getline('.')[col('.') - 2] == '"' && getline('.')[col('.') - 1] == '"'
    		return "<Right><BS><BS>"
    	elseif getline('.')[col('.') - 2] == "'" && getline('.')[col('.') - 1] == "'"
    		return "<Right><BS><BS>"
    	else
    		return "<BS>"
    	endif
    endfunc
    inoremap <BS> <c-r>=Rempr()<CR>
    "以上自动删除匹配
    
    

    /plasticboy/vim-markdown:

    • zR:打开所有标题

    • zM:折叠所有标题

    • zA:打开当前标题

    • zC:折叠当前标题

  • 相关阅读:
    JAVA最简单常识
    BREW的资源文件概述及问题
    c语言 512
    c语言510 求矩阵的乘积
    c语言 511
    c语言57
    c语言 59
    c语言55 在应用对象式宏的数组中对数组元素进行倒序排列
    c语言 511
    c语言 510 求4行3列矩阵和3行4列矩阵的乘积。各构成元素的值从键盘输入。
  • 原文地址:https://www.cnblogs.com/MyNameIsPc/p/9638581.html
Copyright © 2020-2023  润新知