VIM私人配置

在vim(gvim)中运行终端

http://www.vimer.cn/2010/06/%E5%9C%A8vimgvim%E4%B8%AD%E8%BF%90%E8%A1%8C%E7%BB%88%E7%AB%AF%E5%AF%B9%E4%BD%A0%E6%B2%A1%E6%9C%89%E7%9C%8B%E9%94%99%E6%88%91%E4%B9%9F%E6%B2%A1%E6%9C%89%E5%86%99%E5%8F%8D.html
下载地址:http://www.vim.org/scripts/script.php?script_id=2771

安装方法
下载conque_1.1.vba,用vim打开后,执行:so %,会自动执行安装.

使用方法
一共四个命令:
ConqueTerm : 在当前的窗口打开
ConqueTermSplit :横向分割一个窗口之后打开
ConqueTermVSplit :竖向分割一个窗口之后打开
ConqueTermTab :先建一个tab页之后打开

ConqueTerm bash

Vundle

(Vim bundle) 是一个vim的插件管理器。

git clone https://github.com/gmarik/vundle.git  ~/.vim/bundle/vundle

配置.vimrc文件

     set nocompatible               " be iMproved
     filetype off                   " required!       /**  从这行开始,vimrc配置 **/

     set rtp+=~/.vim/bundle/vundle/
     call vundle#rc()

     " let Vundle manage Vundle
     " required! 
     Bundle 'gmarik/vundle'

     " My Bundles here:  /* 插件配置格式 */
     "   
     " original repos on github (Github网站上非vim-scripts仓库的插件,按下面格式填写)
     Bundle 'tpope/vim-fugitive'
     Bundle 'Lokaltog/vim-easymotion'
     Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
     Bundle 'tpope/vim-rails.git'
     " vim-scripts repos  (vim-scripts仓库里的,按下面格式填写)
     Bundle 'L9'
     Bundle 'FuzzyFinder'
     " non github repos   (非上面两种情况的,按下面格式填写)
     Bundle 'git://git.wincent.com/command-t.git'
     " ... 

     filetype plugin indent on     " required!   /** vimrc文件配置结束 **/
     "                                           /** vundle命令 **/
     " Brief help
     " :BundleList          - list configured bundles
     " :BundleInstall(!)    - install(update) bundles
     " :BundleSearch(!) foo - search(or refresh cache first) for foo 
     " :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
     "   
     " see :h vundle for more details or wiki for FAQ 
     " NOTE: comments after Bundle command are not allowed..

:BundleList //会显示你vimrc里面填写的所有插件名称
:BundleInstall //会自动下载安装或更新你的插件

安装Emmet for Vim

Bundle 'mattn/emmet-vim'

Emmet.vim 教程

https://www.zfanw.com/blog/zencoding-vim-tutorial-chinese.html

目录树导航

‘目录文件导航
Bundle ‘scrooloose/nerdtree’

nmap <leader>nt :NERDTree<CR>
let NERDTreeHighlightCursorline=1
let NERDTreeIgnore=[ '.pyc$', '.pyo$', '.obj$', '.o$', '.so$', '.egg$', '^.git$', '^.svn$', '^.hg$' ]
let g:netrw_home='~/bak'
'close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr('$') == 1 && exists('b:NERDTreeType') && b:NERDTreeType == 'primary') | q | end

基本用法:



        1、在linux命令行界面,输入vim

        2、输入  :NERDTree ,回车

        3、进入当前目录的树形界面,通过小键盘上下键,能移动选中的目录或文件

        4、目录前面有+号,摁Enter会展开目录,文件前面是-号,摁Enter会在右侧窗口展现该文件的内容,并光标的焦点focus右侧。

        5、ctr+w+h  光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口。多次摁 ctrl+w,光标自动在左右侧窗口切换

        6、光标focus左侧树形窗口,摁? 弹出NERDTree的帮助,再次摁?关闭帮助显示

        7、输入:q回车,关闭光标所在窗口

标签导航

majutsushi/tagbar

nmap :TagbarToggle
let g:tagbar_autofocus = 1

YouCompleteMe

Compiling YCM with semantic support for C-family languages:

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

我的vimrc

set nocompatible              " be iMproved, required

filetype off                  " required



" set the runtime path to include Vundle and initialize

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

" alternatively, pass a path where Vundle should install plugins

"call vundle#begin('~/some/path/here')



" let Vundle manage Vundle, required

Plugin 'VundleVim/Vundle.vim'



" The following are examples of different formats supported.

" Keep Plugin commands between vundle#begin/end.

" plugin on GitHub repo

"Plugin 'tpope/vim-fugitive'

" plugin from http://vim-scripts.org/vim/scripts.html

"Plugin 'L9'

" Git plugin not hosted on GitHub

"Plugin 'git://git.wincent.com/command-t.git'

" git repos on your local machine (i.e. when working on your own plugin)

"Plugin 'file:///home/gmarik/path/to/plugin'

" The sparkup vim script is in a subdirectory of this repo called vim.

" Pass the path to set the runtimepath properly.

"Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

" Avoid a name conflict with L9

"Plugin 'user/L9', {'name': 'newL9'}



" All of your Plugins must be added before the following line

call vundle#end()            " required

filetype plugin indent on    " required

" To ignore plugin indent changes, instead use:

"filetype plugin on

"

" Brief help

" :PluginList       - lists configured plugins

" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate

" :PluginSearch foo - searches for foo; append `!` to refresh local cache

" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal

"

" see :h vundle for more details or wiki for FAQ

" Put your non-Plugin stuff after this line



 Bundle 'scrooloose/nerdtree'

 Bundle 'altercation/vim-colors-solarized'

 Bundle 'tpope/vim-surround'

 Bundle 'majutsushi/tagbar'

 Bundle 'bling/vim-airline'

 Bundle 'ctrlpvim/ctrlp.vim'

 Bundle 'vim-scripts/sessionman.vim'

 Bundle 'easymotion/vim-easymotion'

 Bundle 'Lokaltog/vim-powerline'



            Bundle 'scrooloose/syntastic'

            Bundle 'tpope/vim-fugitive'

            Bundle 'mattn/webapi-vim'

            Bundle 'mattn/gist-vim'

            Bundle 'scrooloose/nerdcommenter'

            Bundle 'tpope/vim-commentary'

            Bundle 'godlygeek/tabular'

            Bundle 'luochen1990/rainbow'



    " Snippets & AutoComplete {

            Bundle 'Valloric/YouCompleteMe'

            Bundle 'SirVer/ultisnips'

            Bundle 'Shougo/neocomplcache'

            Bundle 'Shougo/neosnippet'

            Bundle 'Shougo/neosnippet-snippets'

            Bundle 'honza/vim-snippets'



    " PHP {

            Bundle 'spf13/PIV'

            Bundle 'arnaud-lb/vim-php-namespace'

            Bundle 'beyondwords/vim-twig'



    " Python {

            Bundle 'klen/python-mode'

            Bundle 'yssource/python.vim'

            Bundle 'python_match.vim'

            Bundle 'pythoncomplete'



    " Javascript {

            Bundle 'elzr/vim-json'

            Bundle 'groenewege/vim-less'

            Bundle 'pangloss/vim-javascript'

            Bundle 'briancollins/vim-jst'

            Bundle 'kchmck/vim-coffee-script'











    " HTML {

            Bundle 'amirh/HTML-AutoCloseTag'

            Bundle 'hail2u/vim-css3-syntax'

            Bundle 'gorodinskiy/vim-coloresque'

            Bundle 'tpope/vim-haml'

            Bundle 'mattn/emmet-vim'











""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" General {



    set background=dark         " Assume a dark background



    " Allow to trigger background

    function! ToggleBG()

        let s:tbg = &background

        " Inversion

        if s:tbg == "dark"

            set background=light

        else

            set background=dark

        endif

    endfunction

    noremap <leader>bg :call ToggleBG()<CR>



    " if !has('gui')

        "set term=$TERM          " Make arrow and other keys work

    " endif

    filetype plugin indent on   " Automatically detect file types.

    syntax on                   " Syntax highlighting

    set mouse=a                 " Automatically enable mouse usage

    set mousehide               " Hide the mouse cursor while typing

    scriptencoding utf-8



    if has('clipboard')

        if has('unnamedplus')  " When possible use + register for copy-paste

            set clipboard=unnamed,unnamedplus

        else         " On mac and Windows, use * register for copy-paste

            set clipboard=unnamed

        endif

    endif



     """"""""""""""""""

" Most prefer to automatically switch to the current file directory when

    " a new buffer is opened; to prevent this behavior, add the following to

    " your .vimrc.before.local file:

    "   let g:spf13_no_autochdir = 1



    "set autowrite                       " Automatically write a file when leaving a modified buffer

    set shortmess+=filmnrxoOtT          " Abbrev. of messages (avoids 'hit enter')

    set viewoptions=folds,options,cursor,unix,slash " Better Unix / Windows compatibility

    set virtualedit=onemore             " Allow for cursor beyond last character

    set history=1000                    " Store a ton of history (default is 20)

    "set spell                           " Spell checking on

    set hidden                          " Allow buffer switching without saving

    set iskeyword-=.                    " '.' is an end of word designator

    set iskeyword-=#                    " '#' is an end of word designator

    set iskeyword-=-                    " '-' is an end of word designator



""""""""""""""""""

    " Instead of reverting the cursor to the last position in the buffer, we

    " set it to the first line when editing a git commit message

    au FileType gitcommit au! BufEnter COMMIT_EDITMSG call setpos('.', [0, 1, 1, 0])



    " http://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session

    " Restore cursor to file position in previous editing session

    " To disable this, add the following to your .vimrc.before.local file:

    "   let g:spf13_no_restore_cursor = 1

    if !exists('g:spf13_no_restore_cursor')

        function! ResCur()

            if line("'\"") <= line("$")

                silent! normal! g`"

                return 1

            endif

        endfunction



        augroup resCur

            autocmd!

            autocmd BufWinEnter * call ResCur()

        augroup END

    endif



    " Setting up the directories {

        set backup                  " Backups are nice ...

        if has('persistent_undo')

            set undofile                " So is persistent undo ...

            set undolevels=1000         " Maximum number of changes that can be undone

            set undoreload=10000        " Maximum number lines to save for undo on a buffer reload

        endif



        " To disable views add the following to your .vimrc.before.local file:

        "   let g:spf13_no_views = 1

        if !exists('g:spf13_no_views')

            " Add exclusions to mkview and loadview

            " eg: *.*, svn-commit.tmp

            let g:skipview_files = [

                \ '\[example pattern\]'

                \ ]

        endif

    " }



" }



""""""""""""""""""""""""""""

"vim ui

"solarized

syntax enable

set background=dark

colorscheme solarized



set tabpagemax=15               " Only show 15 tabs

set showmode                    " Display the current mode

set cursorline                  " Highlight current line



highlight clear SignColumn      " SignColumn should match background

highlight clear LineNr          " Current line number row will have same background color in relative mode



    set backspace=indent,eol,start  " Backspace for dummies

    set linespace=0                 " No extra spaces between rows

    set number                      " Line numbers on

    set showmatch                   " Show matching brackets/parenthesis

    set incsearch                   " Find as you type search

    set hlsearch                    " Highlight search terms

    set winminheight=0              " Windows can be 0 line high

    set ignorecase                  " Case insensitive search

    set smartcase                   " Case sensitive when uc present

    set wildmenu                    " Show list instead of just completing

    set wildmode=list:longest,full  " Command <Tab> completion, list matches, then longest common part, then all.

    set whichwrap=b,s,h,l,<,>,[,]   " Backspace and cursor keys wrap too

    set scrolljump=5                " Lines to scroll when cursor leaves screen

    set scrolloff=3                 " Minimum lines to keep above and below cursor

    set foldenable                  " Auto fold code

    set list

    set listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Highlight problematic whitespace





" Formatting {



    set nowrap                      " Do not wrap long lines

    set autoindent                  " Indent at the same level of the previous line

    set shiftwidth=4                " Use indents of 4 spaces

    set expandtab                   " Tabs are spaces, not tabs

    set tabstop=4                   " An indentation every four columns

    set softtabstop=4               " Let backspace delete indent

    set nojoinspaces                " Prevents inserting two spaces after punctuation on a join (J)

    set splitright                  " Puts new vsplit windows to the right of the current

    set splitbelow                  " Puts new split windows to the bottom of the current

    "set matchpairs+=<:>             " Match, to be used with %

    set pastetoggle=<F12>           " pastetoggle (sane indentation on pastes)

    "set comments=sl:/*,mb:*,elx:*/  " auto format comment blocks

    " Remove trailing whitespaces and ^M chars

    " To disable the stripping of whitespace, add the following to your

    " .vimrc.before.local file:

    "   let g:spf13_keep_trailing_whitespace = 1

    autocmd FileType c,cpp,java,go,php,javascript,puppet,python,rust,twig,xml,yml,perl,sql autocmd BufWritePre <buffer> if !exists('g:spf13_keep_trailing_whitespace') | call StripTrailingWhitespace() | endif

    "autocmd FileType go autocmd BufWritePre <buffer> Fmt

    autocmd BufNewFile,BufRead *.html.twig set filetype=html.twig

    autocmd FileType haskell,puppet,ruby,yml setlocal expandtab shiftwidth=2 softtabstop=2

    " preceding line best in a plugin but here for now.



    autocmd BufNewFile,BufRead *.coffee set filetype=coffee



    " Workaround vim-commentary for Haskell

    autocmd FileType haskell setlocal commentstring=--\ %s

    " Workaround broken colour highlighting in Haskell

    autocmd FileType haskell,rust setlocal nospell



" }





 let mapleader = ','



 let maplocalleader = '_'







""""""""""""""""""""""""""""""""""



"kuaijiejian

            map <C-e> <plug>NERDTreeTabsToggle<CR>

            map <leader>e :NERDTreeFind<CR>

            nmap <leader>nt :NERDTreeFind<CR>

            let NERDTreeShowBookmarks=1

            let NERDTreeIgnore=['\.py[cd]$', '\~$', '\.swo$', '\.swp$', '^\.git$', '^\.hg$', '^\.svn$', '\.bzr$']

            let NERDTreeChDirMode=0

            let NERDTreeQuitOnOpen=1

            let NERDTreeMouseMode=2

            let NERDTreeShowHidden=1

            let NERDTreeKeepTreeInNewTab=1

            let g:nerdtree_tabs_open_on_gui_startup=0



            map <silent> <F4> :TagbarToggle<CR>





    " PyMode {

        " Disable if python support not present

        if !has('python') && !has('python3')

            let g:pymode = 0

        endif



            let g:pymode_lint_checkers = ['pyflakes']

            let g:pymode_trim_whitespaces = 0

            let g:pymode_options = 0

            let g:pymode_rope = 0

    " }





 nnoremap <silent> <D-t> :CtrlP<CR>





 let g:rainbow_active = 1



            let g:acp_enableAtStartup = 0



            " enable completion from tags

            let g:ycm_collect_identifiers_from_tags_files = 1



            " remap Ultisnips for compatibility for YCM

            let g:UltiSnipsExpandTrigger = '<C-j>'

            let g:UltiSnipsJumpForwardTrigger = '<C-j>'

            let g:UltiSnipsJumpBackwardTrigger = '<C-k>'



            " 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

            autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete

            autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc







 set t_Co=256 " Enable 256 colors to stop the CSApprox warning and make xterm vim shine



 set sessionoptions=blank,buffers,curdir,folds,tabpages,winsize

  nmap <leader>sl :SessionList<CR>

   nmap <leader>ss :SessionSave<CR>

    nmap <leader>sc :SessionClose<CR>



     imap kj <esc>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值