刘总的笔记小站

生活常识,娱乐搞笑,编程技巧,智能家居,深度学习,网络神经,数据挖掘

vim用户配置

此配置目前适用于mac,linux,win,但是win系统需要配置mingw32相关的gcc路径加入系统环境变量。


vim安装

apt-get install vim



vim基本设置

vim ~/.vimrc


syntax enable
set number
set cursorline
set ruler
"set shiftwidth=4

"==========================================
" Common Settings
"==========================================
" 开启语法高亮
syntax enable
" 开启语法高亮
syntax on
" 设置字体
set guifont=Monaco
" 设置历史记录条数
set history=999
" 检测文件类型
filetype on
" 针对不同的文件,采用不同的缩进方式
filetype indent on
" 允许插件
filetype plugin on
" 启动自动补全
filetype plugin indent on
" 文件修改之后自动读入
set autoread
" 启动后不显示提示
"set shortmess=atI
" 设置取消备份,禁止临时文件生成
set nobackup
set noswapfile
" create undo file
set undolevels=1000 " how many undos
set undoreload=10000 " number of lines to save for undo
if v:version >= 730
set undofile     " keep a persistent backup file
set undodir=/tmp/vimundo/
endif
"set wildignore=*.swp,*.bak,*.pyc,*.class,.svn
" 显示当前横竖线
"set cursorline
"set cursorcolumn
" 设置退出Vim之后内容显示在终端屏幕,可以用于查看和复制
" 好处:误删什么,如果以前屏幕打开可以用来找回
"set t_ti= t_te=
" 设置在Vim中可以使用鼠标,防止终端无法拷贝
"set mouse=a

"==========================================
" Display Settings
"==========================================
" 显示当前行号和列号
set ruler
" 在状态栏显示正在输入的命令
set showcmd
" 左下角显示当前Vim模式
set showmode
" 光标移动至少保留的行数
"set scrolloff=7
" 命令行(在状态行下)的高度,默认为1,这里是2
set statusline=%<%f\ %h%m%r%=%k[%{(&fenc==\"\")?&enc:&fenc}%{(&bomb?\",BOM\":\"\")}]\ %-14.(%l,%c%V%)\ %P
" 总是显示状态栏(Powerline需要2行)
set laststatus=2
" 显示行号
set number
" 指定不折行
set nowrap
" 设置代码匹配,包括括号匹配情况
set showmatch
" how many tenths of a second to blink when matching brackets
" setmatchtime=2
" 开启及时搜索(is)
set incsearch
" 设置搜索高亮(hlsearch)
set hls
" 设置搜索时忽略大小写
set ignorecase
" 当搜索的时候尝试smar
set smartcase
" 设置代码折叠
"set foldenable
" 折叠方法
" manual 手工折叠
" indent 缩进折叠
" expr 表达式折叠
" syntax 语法折叠
" diff 对没有更改的文件折叠
" marker 标记折叠
"set foldmethod=inden
"set foldlevel=99
" 设置C/C++方式自动对齐
set autoindent
set cindent
set smartindent
" 设置tab宽度
set tabstop=4
" 设置自动对齐空格数
set shiftwidth=4
" 按退格键时可以一次删除4个空格
"set softtabstop=4
" 编辑的时候将所有的tab设置为空格(expandtab)
set et
" 使用Backspace直接删除tab
set smarttab
" 不在单词中间折行
set lbr

"==========================================
" FileEncode Settings
"==========================================
" 设置编码方式
set encoding=utf-8
" 设置打开文件的编码格式
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set helplang=cn
" 只对终端影响(默认)
set termencoding=utf-8
" use UNIX as the standard file type
set ffs=unix,dos,mac
" 如遇Unicode值大于255的文本,不必等到空格再折行。
set formatoptions+=m
" 合并两行中文时,不在中间加空格:
set formatoptions+=B

"==========================================
" HotKey Settings
"==========================================
:set pastetoggle=<F12>

"==========================================
" Theme Settings
"==========================================
" 设置主题
set background=dark
colorscheme evening
set t_Co=256

"==========================================
" Other Settings
"==========================================
" 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
endif






func! CompileGcc()
    exec "w"
    let compilecmd="!gcc "
    let compileflag="-o %< "
    if search("glut\.h") != 0
        let compileflag .= " -lglut -lGLU -lGL "
    endif
    exec compilecmd." % ".compileflag
endfunc

func! CompileGpp()
    exec "w"
    let compilecmd="!g++ -std=c++11 "
    let compileflag="-o %< "
    if search("glut\.h") != 0
        let compileflag .= " -lglut -lGLU -lGL "
    endif
    exec compilecmd." % ".compileflag
endfunc

func! RunPython()
        exec "!python %"
endfunc

func! CompileJava()
    exec "!javac %"
endfunc

func! CompileCode()
        exec "w"
        if &filetype == "cpp"
                exec "call CompileGpp()"
        elseif &filetype == "c"
                exec "call CompileGcc()"
        elseif &filetype == "python"
                exec "call RunPython()"
        elseif &filetype == "java"
                exec "call CompileJava()"
        endif
endfunc

func! RunResult()
        exec "w"
        if &filetype == "c"
            exec "! ./%<"
        elseif &filetype == "cpp"
            exec "! ./%<"
        elseif &filetype == "python"
            exec "call RunPython"
        elseif &filetype == "java"
            exec "!java %<"
        endif
endfunc

map <F5> :call RunResult()<CR>
map  <F9> :call CompileCode()<CR>
imap <F9> <ESC>:call CompileCode()<CR>
vmap <F9> <ESC>:call CompileCode()<CR>


发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
搜索
«   2024年9月   »
1
2345678
9101112131415
16171819202122
23242526272829
30
网站分类
最新留言
文章归档
网站收藏
友情链接
图标汇集
Powered by Z-BlogPHP

  • Copyright ©2021 @liuzong All rights reserved.
  • 陕ICP备17016542号