zoukankan      html  css  js  c++  java
  • 我的vimrc文件

    vim的一直被称为神器,确实有很多优点,但是vim到一键编译实在是一个大问题,网络上有很多配置文件,但是大多都是同一份文件到复制粘贴,不太好用。

    经过这么长时间到摸索,我终于在自己到电脑上配置好了vim,下面粘贴一下我到vimrc文件。

      " This line should not be removed as it ensures that various options are
        " properly set to work with the Vim-related packages available in Debian.
         
    
        " Uncomment the next line to make Vim more Vi-compatible
        " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
        " options, so any other options should be set AFTER setting 'compatible'.
        set nocompatible
    
        " Vim5 and later versions support syntax highlighting. Uncommenting the
        " following enables syntax highlighting by default.
    
    
    
        "设置字符编码
        :set encoding=utf-8
        :set fileencodings=ucs-bom,utf-8,cp936
        :set fileencoding=utf-8
        :set termencoding=utf-8
    
    
        if has("syntax")
          syntax on            " 语法高亮
        endif
        colorscheme ron        " elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下
    
        " detect file type
        filetype on
        filetype plugin on
    
        " If using a dark background within the editing area and syntax highlighting
        " turn on this option as well
        set background=dark
    
        " Uncomment the following to have Vim jump to the last position when
        " reopening a file
        if has("autocmd")
          au BufReadPost * if line("'"") > 1 && line("'"") <= line("$") | exe "normal! g'"" | endif
          "have Vim load indentation rules and plugins according to the detected filetype
          filetype plugin indent on
        endif
    
        " The following are commented out as they cause vim to behave a lot
        " differently from regular Vi. They are highly recommended though.
    
        "set ignorecase        " 搜索模式里忽略大小写
        "set smartcase        " 如果搜索模式包含大写字符,不使用 'ignorecase' 选项。只有在输入搜索模式并且打开 'ignorecase' 选项时才会使用。
        set autowrite        " 自动把内容写回文件: 如果文件被修改过,在每个 :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令时进行;用 :buffer、CTRL-O、CTRL-I、'{A-Z0-9} 或 `{A-Z0-9} 命令转到别的文件时亦然。
        set autoindent        " 设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent 取消设置
        set smartindent        " 智能对齐方式
        set tabstop=4        " 设置制表符(tab键)的宽度
        set softtabstop=4     " 设置软制表符的宽度    
        set shiftwidth=4    " (自动) 缩进使用的4个空格
        set cindent            " 使用 C/C++ 语言的自动缩进方式
        set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s     "设置C/C++语言的具体缩进方式
        "set backspace=2    " 设置退格键可用
        set showmatch        " 设置匹配模式,显示匹配的括号
        set linebreak        " 整词换行
        set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去
        "set hidden " Hide buffers when they are abandoned
        set mouse=a            " Enable mouse usage (all modes)    "使用鼠标
        set number            " Enable line number    "显示行号
        "set previewwindow    " 标识预览窗口
        set history=50        " set command history to 50    "历史记录50条
    
    
        "--状态行设置--
        set laststatus=2 " 总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行
        set ruler            " 标尺,用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上。
    
        "--命令行设置--
        set showcmd            " 命令行显示输入的命令
        set showmode        " 命令行显示vim当前模式
    
        "--find setting--
        set incsearch        " 输入字符串就显示匹配点
        set hlsearch   
    
    
    "设置一键编译
    map <F5> :call CompileRunGcc()<CR>
    imap <F5> <ESC>:call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w"
        exec "cd %:p:h"
        if &filetype == 'c'
            exec "!g++ % -o %<"
            exec "! ./%<"
        elseif &filetype == 'cpp'
            exec "!g++ % -o %<"
            exec "! ./%<"
        elseif &filetype == 'java' 
            exec "!javac %" 
            exec "!java %<"
        elseif &filetype == 'sh'
            :!./%
        endif
    endfunc
    
    
       "设置pathonen插件可用
        execute pathogen#infect()  
    
    " About NERDTree  
    noremap :<F2> NERDTreeToggle   
    autocmd vimenter * if !argc() | NERDTree | endif  "open a NERDTree automatically when vim starts up if no files were specified  
    autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif  
    
    
    
    " TagBar 自动生成参数和方法  
    " Then the F8 key will toggle the Tagbar window.  
    nmap :<F8> TagbarToggle  
    
    
    "syntastic 保存检查代码时候传入参数  
    let g:syntastic_java_javac_args="-cp ../../lib:../../bin -sourcepath ../../bin -Djava.ext.dirs=../../lib -d ../../bin"  
    
    
    
    
    
    " 关于Java自动文件补全插件  
    autocmd Filetype java set omnifunc=javacomplete#Complete  
    autocmd Filetype java set completefunc=javacomplete#CompleteParamsInf  
    View Code

    这里只是我的电脑里面到配置,个人不保证在其他人到电脑里也好用。

    引用成神到一句话:工具都是用出来到,不是学出来的。

    所以如果想用好vim,还是要在平时多多到使用,然后遇到不方便到东西就google,慢慢到就会越用越好用了。

    加油。

    引用了大神关于一键编译到配置:http://www.voidcn.com/blog/u010734277/article/p-6021225.html。

  • 相关阅读:
    mysql常用命令(2)
    mysql常用命令(1)
    svn使用方法介绍(1)
    java设计模式
    maven常见错误
    Powershell上线MSF
    Alibaba Nacos 认证绕过
    好视通-视频会议存在弱口令&任意文件下载漏洞
    金山 V8 终端安全系统存在默认口令
    (CVE-2021-3297)Zyxel NBG2105身份验证绕过漏洞
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/5677541.html
Copyright © 2011-2022 走看看