zoukankan      html  css  js  c++  java
  • Vim 2020年最强 windows配置

    这里先附Linux教程   https://www.cnblogs.com/eternalnight/p/13900085.html

     

     

     

     

     

     https://www.vim.org/download.php#pc  官方网,可以根据自己系统需要选择, 我用的gvim8.2最新版

     

     

    https://git-scm.com/download/win 下载 2.28最新

     

     

     

     

     

     

     

     

     

     

     

     

    vim F:gitmingw64ingvim.exe
    #!/bin/sh
    exec "/f/Vim/vim82/gvim.exe" $1
    

    vim F:gitmingw64invim.exe
    #!/bin/sh
    exec "/f/Vim/vim82/vim.exe" $1
    

     下面命令需要bash执行

    git clone git://github.com/humiaozuzu/dot-vimrc.git .vim
    mkdir -p ~/.vim/bundle
    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

     在cmd.exe里输入

     https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/

     

    gcc test.c -o test.out &&./test.out
    

    -----------安装 Ctags

     先配置引索插件 CTAGShttp://ctags.sourceforge.net/官方

     打开bash

    unzip Downloads/ctags58.zip
    mv ctags58/ /f/Vim/
    cd /f/Vim/ctags58
    start .
    

     

    vim /F/Git/etc/bash.bashrc
    

     

    #-------------转换中文设置
    alias ls='ls -N --show-control-chars --color=auto' #-N 和--show-control-chars是重点
    alias dir='dir -N --color=auto'
    
    #------------单单输入这两条也可以
    export LANG="zh_CN.UTF-8"
    export LC_ALL="zh_CN.UTF-8"
    
    #可以输入中文
    set meta-flag on
    set output-meta on
    set convert-meta off
    

      

    source ~/.vim/bundles.vim
    
    " 解决乱码
    "set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
    set encoding=utf-8
    set fileencodings=utf-8,chinese,latin-1
    if has("win32")
    set fileencoding=chinese
    else
    set fileencoding=utf-8
    endif
    "解决菜单乱码
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    "解决consle输出乱码
    language messages zh_CN.utf-8
    
    
    " enable filetype dectection and ft specific plugin/indent
    filetype plugin indent on
    
    
    " enable syntax hightlight and completion
    syntax on
    
    
    "--------
    " Vim UI
    "--------
    " color scheme
    set background=dark
    color solarized
    
    
    " highlight current line
    au WinLeave * set nocursorline nocursorcolumn
    au WinEnter * set cursorline cursorcolumn
    set cursorline cursorcolumn
    
    
    " search
    set incsearch
    "set highlight     " conflict with highlight current line
    set ignorecase
    set smartcase
    
    
    " editor settings
    set history=1000
    set nocompatible
    set nofoldenable                                                  " disable folding"
    set confirm                                                       " prompt when existing from an unsaved file
    "set backspace=indent,eol,start                                    " More powerful backspacing
    set t_Co=256                                                      " Explicitly tell vim that the terminal has 256 colors "
    set mouse=a                                                       " use mouse in all modes
    set report=0                                                      " always report number of lines changed                "
    set nowrap                                                        " dont wrap lines
    set scrolloff=5                                                   " 5 lines above/below cursor when scrolling
    set number                                                        " show line numbers
    set showmatch                                                     " show matching bracket (briefly jump)
    set showcmd                                                       " show typed command in status bar
    set title                                                         " show file in titlebar
    set laststatus=2                                                  " use 2 lines for the status bar
    set matchtime=2                                                   " show matching bracket for 0.2 seconds
    set matchpairs+=<:>                                               " specially for html
    " set relativenumber
    
    
    " Default Indentation
    set autoindent
    set smartindent     " indent when
    set tabstop=4       " tab width
    "set softtabstop=4   " backspace
    set shiftwidth=4    " indent width
    " set textwidth=79
    " set smarttab
    set expandtab       " expand tab to space
    
    
    autocmd FileType php setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
    autocmd FileType ruby setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
    autocmd FileType php setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120
    autocmd FileType coffee,javascript setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
    autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120
    autocmd FileType html,htmldjango,xhtml,haml setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=0
    autocmd FileType sass,scss,css setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
    
    
    " syntax support
    autocmd Syntax javascript set syntax=jquery   " JQuery syntax support
    " js
    let g:html_indent_inctags = "html,body,head,tbody"
    let g:html_indent_script1 = "inc"
    let g:html_indent_style1 = "inc"
    
    
    "-----------------
    " Plugin settings
    "-----------------
    " Rainbow parentheses for Lisp and variants
    let g:rbpt_colorpairs = [
         ['brown',       'RoyalBlue3'],
         ['Darkblue',    'SeaGreen3'],
         ['darkgray',    'DarkOrchid3'],
         ['darkgreen',   'firebrick3'],
         ['darkcyan',    'RoyalBlue3'],
         ['darkred',     'SeaGreen3'],
         ['darkmagenta', 'DarkOrchid3'],
         ['brown',       'firebrick3'],
         ['gray',        'RoyalBlue3'],
         ['black',       'SeaGreen3'],
         ['darkmagenta', 'DarkOrchid3'],
         ['Darkblue',    'firebrick3'],
         ['darkgreen',   'RoyalBlue3'],
         ['darkcyan',    'SeaGreen3'],
         ['darkred',     'DarkOrchid3'],
         ['red',         'firebrick3'],
         ]
    let g:rbpt_max = 16
    autocmd Syntax lisp,scheme,clojure,racket RainbowParenthesesToggle
    
    
    " tabbar
    let g:Tb_MaxSize = 2
    let g:Tb_TabWrap = 1
    
    
    hi Tb_Normal guifg=white ctermfg=white
    hi Tb_Changed guifg=green ctermfg=green
    hi Tb_VisibleNormal ctermbg=252 ctermfg=235
    hi Tb_VisibleChanged guifg=green ctermbg=252 ctermfg=white
    
    
    " easy-motion
    let g:EasyMotion_leader_key = '<Leader>'
    
    
    " Tagbar
    let g:tagbar_left=1
    let g:tagbar_width=30
    let g:tagbar_autofocus = 1
    let g:tagbar_sort = 0
    let g:tagbar_compact = 1
    " tag for coffee
    if executable('coffeetags')
      let g:tagbar_type_coffee = {
             'ctagsbin' : 'coffeetags',
             'ctagsargs' : '',
             'kinds' : [
             'f:functions',
             'o:object',
             ],
             'sro' : ".",
             'kind2scope' : {
             'f' : 'object',
             'o' : 'object',
             }
             }
    
    
      let g:tagbar_type_markdown = {
         'ctagstype' : 'markdown',
         'sort' : 0,
         'kinds' : [
             'h:sections'
         ]
         }
    endif
    
    
    " Nerd Tree
    let NERDChristmasTree=0
    let NERDTreeWinSize=30
    let NERDTreeChDirMode=2
    let NERDTreeIgnore=['~$', '.pyc$', '.swp$']
    
    
    " let NERDTreeSortOrder=['^__.py$', '/$', '*', '.swp$',  '~$']
    let NERDTreeShowBookmarks=1
    let NERDTreeWinPos = "right"
    
    
    " nerdcommenter
    let NERDSpaceDelims=1
    " nmap <D-/> :NERDComToggleComment<cr>
    let NERDCompactSexyComs=1
    
    
    " ZenCoding
    let g:user_emmet_expandabbr_key='<C-j>'
    
    
    " powerline
    "let g:Powerline_symbols = 'fancy'
    
    
    " NeoComplCache
    let g:neocomplcache_enable_at_startup=1
    let g:neoComplcache_disableautocomplete=1
    "let g:neocomplcache_enable_underbar_completion = 1
    "let g:neocomplcache_enable_camel_case_completion = 1
    let g:neocomplcache_enable_smart_case=1
    let g:neocomplcache_min_syntax_length = 3
    let g:neocomplcache_lock_buffer_name_pattern = '*ku*'
    set completeopt-=preview
    
    
    imap <C-k> <Plug>(neocomplcache_snippets_force_expand)
    smap <C-k> <Plug>(neocomplcache_snippets_force_expand)
    imap <C-l> <Plug>(neocomplcache_snippets_force_jump)
    smap <C-l> <Plug>(neocomplcache_snippets_force_jump)
    
    
    " Enable omni completion.
    autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
    autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
    autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
    autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
    autocmd FileType c setlocal omnifunc=ccomplete#Complete
    if !exists('g:neocomplcache_omni_patterns')
      let g:neocomplcache_omni_patterns = {}
    endif
    let g:neocomplcache_omni_patterns.erlang = '[a-zA-Z]|:'
    
    
    " SuperTab
    " let g:SuperTabDefultCompletionType='context'
    let g:SuperTabDefaultCompletionType = '<C-X><C-U>'
    let g:SuperTabRetainCompletionType=2
    
    
    " ctrlp
    set wildignore+=*/tmp/*,*.so,*.o,*.a,*.obj,*.swp,*.zip,*.pyc,*.pyo,*.class,.DS_Store  " MacOSX/Linux
    let g:ctrlp_custom_ignore = '.git$|.hg$|.svn$'
    
    
    " Keybindings for plugin toggle
    "nnoremap <F2> :set invpaste paste?<CR>
    "set pastetoggle=<F2>
    
    
    nmap <F2> :!gvim %<cr>
    nmap <F3> :NERDTreeToggle<cr>
    nmap <F4> :TagbarToggle<cr>
    "nmap <F7> :GundoToggle<cr>
    nmap <F8> :IndentGuidesToggle<cr>
    nmap  <D-/> :
    nnoremap <leader>a :Ack
    nnoremap <leader>v V`]
    
    
    "------------------
    " Useful Functions
    "------------------
    " easier navigation between split windows
    nnoremap <c-j> <c-w>j
    nnoremap <c-k> <c-w>k
    nnoremap <c-h> <c-w>h
    nnoremap <c-l> <c-w>l
    
    
    " When editing a file, always jump to the last cursor position
    autocmd BufReadPost *
           if ! exists("g:leave_my_cursor_position_alone") |
               if line("'"") > 0 && line ("'"") <= line("$") |
                   exe "normal g'"" |
               endif |
           endif
    
    
    " w!! to sudo & write a file
    cmap w!! %!sudo tee >/dev/null %
    
    
    " Quickly edit/reload the vimrc file
    nmap <silent> <leader>ev :e $MYVIMRC<CR>
    nmap <silent> <leader>sv :so $MYVIMRC<CR>
    
    
    " sublime key bindings
    nmap <D-]> >>
    nmap <D-[> <<
    vmap <D-[> <gv
    vmap <D-]> >gv
    
    
    " eggcache vim
    nnoremap ; :
    :command W w
    :command WQ wq
    :command Wq wq
    :command Q q
    :command Qa qa
    :command QA qa
    
    
    " for macvim
    "if has("gui_running")
    "    set go=aAce  " remove toolbar
    "    "set transparency=30
    "    set guifont=Monaco:h13
    "    set showtabline=2
    "    set columns=140
    "    set lines=40
    "    noremap <D-M-Left> :tabprevious<cr>
    "    noremap <D-M-Right> :tabnext<cr>
    "    map <D-1> 1gt
    "    map <D-2> 2gt
    "    map <D-3> 3gt
    "    map <D-4> 4gt
    "    map <D-5> 5gt
    "    map <D-6> 6gt
    "    map <D-7> 7gt
    "    map <D-8> 8gt
    "    map <D-9> 9gt
    "    map <D-0> :tablast<CR>
    "endif
    
    
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 缓存设置
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    set nobackup            " 设置不备份
    set noswapfile          " 禁止生成临时文件
    set autoread            " 文件在vim之外修改过,自动重新读入
    set autowrite           " 设置自动保存
    set confirm             " 在处理未保存或只读文件的时候,弹出确认
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 编码设置
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    set langmenu=zh_CN.UTF-8
    set helplang=cn
    set termencoding=utf-8
    set encoding=utf8
    set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " gvim/macvim设置
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    if has("gui_running")
    "    let system = system('uname -s')
    "    if system == "Darwin
    "
    "        set guifont=Droid Sans Mono Nerd Font Complete:h18 " 设置字体
    "    else
    "        set guifont=DroidSansMono Nerd Font Regular 18      " 设置字体
    "    endif
    "    set guioptions-=m           " 隐藏菜单栏
    "    set guioptions-=T           " 隐藏工具栏
    "    set guioptions-=L           " 隐藏左侧滚动条
    "    set guioptions-=r           " 隐藏右侧滚动条
    "    set guioptions-=b           " 隐藏底部滚动条
    "    set showtabline=0           " 隐藏Tab栏
    "    set guicursor=n-v-c:ver5    " 设置光标为竖线
      set autochdir "自动设置当前目录为正在编辑的目录
      set hidden "自动隐藏没有保存的缓冲区,切换buffer时不给出保存当前buffer的提示
      set scrolloff=5 "在光标接近底端或顶端时,自动下滚或上滚
    endif
    
    "背景透明度跟随终端
    hi Normal ctermfg=252 ctermbg=none
    
    "NERDTree配置
    "let g:NERDTreeFileExtensionHighlightFullName = 1
    "let g:NERDTreeExactMatchHighlightFullName = 1
    "let g:NERDTreePatternMatchHighlightFullName = 1
    "let g:NERDTreeHighlightFolders = 1
    "let g:NERDTreeHighlightFoldersFullName = 1
    let g:NERDTreeDirArrowExpandable='▷' "目录前面的形状
    let g:NERDTreeDirArrowCollapsible='▼'
    let NERDTreeQuitOnOpen=1 "打开文件时关闭树
    let NERDTreeShowBookmarks=1 "显示书签
    let NERDTreeShowHidden=1 "显示隐藏
    
    " change-colorscheme颜色配置快捷键
    nnoremap <silent> <F10> :PreviousColorScheme<cr>
    inoremap <silent> <F10> <esc> :PreviousColorScheme<cr>
    nnoremap <silent> <F9> :NextColorScheme<cr>
    inoremap <silent> <F9> <esc> :NextColorScheme<cr>
    
    "编译函数
    func CompileRun()
        exec "w"
    "C程序
        if &filetype == 'c'
            exec "!gcc % -g -o %<.exe"
    "如果出现了错误 from auto-imported DLLs 就在 !gcc 后面加  -Wall --enable-auto-import
    "c++程序
        elseif &filetype == 'cpp'
            exec "!g++  % -g -o %<.exe"
    "如果出现了错误 from auto-imported DLLs 就在 !g++ 后面加  -Wall --enable-auto-import
    "Java程序
        elseif &filetype == 'java'
            exec "!javac %"
    "-------------go------------------
        elseif &filetype == 'go'
            exec "!go build %<"
    "----------mkd>>html--------------
        elseif &filetype == 'mkd'
            exec "!~/.vim/markdown.pl % > %.html &"
        endif
    endfunc
    "结束定义CompileRun
    
    "定义Run运行函数
    func Run()
        if &filetype == 'c' || &filetype == 'cpp'
            exec "!%<.exe"
    "---------JAVA------------
        elseif &filetype == 'java'
            exec "!java %<"
    "-------------Python执行------------
        elseif &filetype == 'python'
    "这里说明下这是执行python如果你想让python2.7执行就改python2.7 %<就可以
            exec "python3 %"
    "----------bash----------------
        elseif &filetype == 'sh'
            :!bash %
    "-------------html----------------
        elseif &filetype =='html'
    "这里说明一下如果你是用chrome就将下面firefox改chrome就行了
            exec "!firefox % &"
    "-------------go------------------
        elseif &filetype == 'go'
            exec "!go run %"
    "----------mkd>>html--------------
        elseif &filetype == 'mkd'
            exec "!firefox %.html &"
        endif
    endfunc
    "定义Debug函数,用来调试程序
    func Debug()
        exec "w"
    "C程序
        if &filetype == 'c'
            exec "!gcc % -g -o %<.exe"
            exec "!gdb %<.exe"
        elseif &filetype == 'cpp'
            exec "!g++ % -g -o %<.exe"
            exec "!gdb %<.exe"
    "Java程序
        elseif &filetype == 'java'
            exec "!javac %"
            exec "!jdb %<"
        endif
    endfunc
    "结束定义Debug
    "设置程序的运行和调试的快捷键F5和Ctrl-F5
    map <F5> :call CompileRun()<CR>
    map <F6> :call Run()<CR>
    map <F7> :call Debug()<CR>
    代码显示

    move 1.txt F:Vimvimrc.bak
    move F:Vim\_vimrc F:Vim\_vimrc.bak
    copy F:Vimvimrc.bak F:Vim\_vimrc
    

      

    mingw-get.exe install gdb
    

      

    vim .vim/bundles.vim 
    Bundle 'chxuan/change-colorscheme'
    

      

    :wq保存退出
    vim模式输入  :BundleInstall

     

     

     

     

     

     

     

     

     

     


  • 相关阅读:
    不喜欢数据库编程
    配置 yum 源的两种方法
    编译内核后iptables无法启动问题
    国外免费空间
    iptables--静态防火墙实例教程
    25 Most Frequently Used Linux IPTables Rules Examples
    如何开启或关闭SELinux
    google提供免费企业邮局
    RAID 0, RAID 1, RAID 5, RAID 10 Explained with Diagrams
    CentOS软件管理之fastestmirror和RPMforge
  • 原文地址:https://www.cnblogs.com/eternalnight/p/13900059.html
Copyright © 2011-2022 走看看