window 上快速使用vim

作者: 反者道之动001 | 来源:发表于2018-03-22 10:39 被阅读33次

    使用bundle安装plugin, 以及window和linux的不同的, 不需要下载软件直接使用vim

    其实, 不需要下载软件 再声明下, 真的不需要软件。

    我擦

    一般人都安装了git吧, git上大部分linux命令都可以用, 所以, 也可以用vim啦。 直接用。
    但是我们需要扩展下插件, 和代码高亮自动补全, 显示行号, 代码转跳, 和编辑快捷键 等等。。。

    1:
    首先用Vundle这个来管理插件。

     git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
    

    OK。

    下面就是在vimrc配置。

    window的vimrc并不是在~/这里, 而是 /etc/这里

    找到他, 添加Vundle

    2:
    vim /etc/vimrc

    在最前面添加这些代码

     set nocompatible              " 这是必需的 
    filetype off                  " 这是必需的 
    
    filetype indent on  
    "set filetype=html   "set ft  
    set smartindent     "set si 
    
    " 你在此设置运行时路径 
    set rtp+=~/.vim/bundle/Vundle.vim  
     
    " vundle初始化 
    call vundle#begin()  
     
    Plugin 'gmarik/Vundle.vim' 
     
    Plugin 'https://github.com/Shougo/neocomplcache.git' 
     
    call vundle#end()            " required 
    
    set number
    set ai                          " set auto-indenting on for programming
    set showmatch                   " automatically show matching brackets. works like it does in bbedit.
    set vb                          " turn on the "visual bell" - which is much quieter than the "audio blink"
    set ruler                       " show the cursor position all the time
    set laststatus=2                " make the last line where the status is two lines deep so you can see status always
    set backspace=indent,eol,start  " make that backspace key work the way it should
    set nocompatible                " vi compatible is LAME
    set background=dark             " Use colours that work well on a dark background (Console is usually black)
    set showmode                    " show the current mode
    set clipboard=unnamed           " set clipboard to unnamed to access the system clipboard under windows
    syntax on                       " turn syntax highlighting on by default
    
    " Show EOL type and last modified timestamp, right after the filename
    set statusline=%<%F%h%m%r\ [%{&ff}]\ (%{strftime(\"%H:%M\ %d/%m/%Y\",getftime(expand(\"%:p\")))})%=%l,%c%V\ %P
    set ts=4
    set sw=4
    set expandtab
    set autoindent
    
    
    " js 格式化插件
    map  :call JsBeautify()
    " or
    autocmd FileType javascript noremap  :call JsBeautify()
    " for html
    autocmd FileType html noremap  :call HtmlBeautify()
    " for css or scss
    autocmd FileType css noremap  :call CSSBeautify()
    
    " html自动补全插件
    "Note: This option must set it in .vimrc(_vimrc).  NOT IN .gvimrc(_gvimrc)!
    " Disable AutoComplPop.
    let g:acp_enableAtStartup = 0
    " Use neocomplcache.
    let g:neocomplcache_enable_at_startup = 1
    " Use smartcase.
    let g:neocomplcache_enable_smart_case = 1
    " Set minimum syntax keyword length.
    let g:neocomplcache_min_syntax_length = 3
    let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
    
    " Enable heavy features.
    " Use camel case completion.
    "let g:neocomplcache_enable_camel_case_completion = 1
    " Use underbar completion.
    "let g:neocomplcache_enable_underbar_completion = 1
    
    " Define dictionary.
    let g:neocomplcache_dictionary_filetype_lists = {
        \ 'default' : '',
        \ 'vimshell' : $HOME.'/.vimshell_hist',
        \ 'scheme' : $HOME.'/.gosh_completions'
            \ }
    
    " Define keyword.
    if !exists('g:neocomplcache_keyword_patterns')
        let g:neocomplcache_keyword_patterns = {}
    endif
    let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
    
    " Plugin key-mappings.
    inoremap <expr><C-g>     neocomplcache#undo_completion()
    inoremap <expr><C-l>     neocomplcache#complete_common_string()
    
    " Recommended key-mappings.
    " <CR>: close popup and save indent.
    inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
    function! s:my_cr_function()
      return neocomplcache#smart_close_popup() . "\<CR>"
      " For no inserting <CR> key.
      "return pumvisible() ? neocomplcache#close_popup() : "\<CR>"
    endfunction
    " <TAB>: completion.
    inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
    " <C-h>, <BS>: close popup and delete backword char.
    inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"
    inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
    inoremap <expr><C-y>  neocomplcache#close_popup()
    inoremap <expr><C-e>  neocomplcache#cancel_popup()
    " Close popup by <Space>.
    "inoremap <expr><Space> pumvisible() ? neocomplcache#close_popup() : "\<Space>"
    
    " For cursor moving in insert mode(Not recommended)
    "inoremap <expr><Left>  neocomplcache#close_popup() . "\<Left>"
    "inoremap <expr><Right> neocomplcache#close_popup() . "\<Right>"
    "inoremap <expr><Up>    neocomplcache#close_popup() . "\<Up>"
    "inoremap <expr><Down>  neocomplcache#close_popup() . "\<Down>"
    " Or set this.
    "let g:neocomplcache_enable_cursor_hold_i = 1
    " Or set this.
    "let g:neocomplcache_enable_insert_char_pre = 1
    
    " AutoComplPop like behavior.
    "let g:neocomplcache_enable_auto_select = 1
    
    " Shell like behavior(not recommended).
    "set completeopt+=longest
    "let g:neocomplcache_enable_auto_select = 1
    "let g:neocomplcache_disable_auto_complete = 1
    "inoremap <expr><TAB>  pumvisible() ? "\<Down>" : "\<C-x>\<C-u>"
    
    " 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 xml setlocal omnifunc=xmlcomplete#CompleteTags
    
    " Enable heavy omni completion.
    if !exists('g:neocomplcache_force_omni_patterns')
      let g:neocomplcache_force_omni_patterns = {}
    endif
    let g:neocomplcache_force_omni_patterns.php = '[^. \t]->\h\w*\|\h\w*::'
    let g:neocomplcache_force_omni_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)'
    let g:neocomplcache_force_omni_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::'
    
    " For perlomni.vim setting.
    " https://github.com/c9s/perlomni.vim
    let g:neocomplcache_force_omni_patterns.perl = '\h\w*->\h\w*\|\h\w*::'
    
    

    OK。

    3: :wq
    输入

    vim 
    :PlugInstall
    

    或者...xxx, 更多请百度

    然后会自动安装。 等待左下方出现done.

    4: :q!

    退出plugin安装界面。现在找个html试试去吧。

    会自动补全哦。

    好像就这些。

    补充下。

    其实上面的代码我骗了你, 上面plugin就是安装插件。 然后我给添加了一个

    https://github.com/Shougo/neocomplcache.git
    

    这个是自动补全的, 你可以删掉, 添加时为了试下效果。
    然后下面的一些就是对自动补全这个插件的配置, 也是可以删掉。

    比较简洁, 但是需要配置的代码如下。

    set nocompatible              " 去除VI一致性,必须要添加
    filetype off                  " 必须要添加
    
    " 设置包括vundle和初始化相关的runtime path
    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()
    
    " 让vundle管理插件版本,必须
    Plugin 'VundleVim/Vundle.vim'
    "这里是自动的插件安装, 支持很多方式安装
    
    " 你的所有插件需要在下面这行之前
    call vundle#end()            " 必须
    filetype plugin indent on    " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
    

    ---OK---

    更多...

    vim默认的格式化是=, 全部格式化是

    gg=G   
    

    前端一些配置

    
    

    ---END---

    相关文章

      网友评论

        本文标题:window 上快速使用vim

        本文链接:https://www.haomeiwen.com/subject/kmakfftx.html