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

     

     

     

     

     

     

     

     

     

     


  • 相关阅读:
    129. Sum Root to Leaf Numbers
    113. Path Sum II
    114. Flatten Binary Tree to Linked List
    112. Path Sum
    100. Same Tree
    300. Longest Increasing Subsequence
    72. Edit Distance
    自定义js标签库
    JS 实现Table相同行的单元格自动合并示例代码
    mysql 高版本only_full_group_by 错误
  • 原文地址:https://www.cnblogs.com/eternalnight/p/13900059.html
Copyright © 2011-2022 走看看