私のvimプロファイル、再びアップグレード


中国語の紹介
元のrepoはspf 13-vim-leoatchinaに置いて、元は一時的に脳を抜いて、中国語のフォントを入れた後に体積が大きくて、速度に影響しますので、repoを再開してwindowsの下のツールを分けて、cloneの速度を増加します.
現在の構成はleoatchina-vimで、元のwindowsの下のツールを別のrepoの下に投げて体積を減らす
ここは私自身のvim構成で、spf 13-vim:steve francia's vim distribution forkから来ました.数年前の作品として、元の配置はこのvim 8/neovimの時代にはあまり向いていない.そのため、ここ2年の使用時間の中で、私は絶えず調整して、他の人の配置の中から経験を吸収して、パラメータに対して微調整を行って、異なるシステム環境の条件の下で比較的に良い使用体験を達成することに適応します.
長い間、このrepoのREADMEは配置変更の進度にはるかに遅れており、細かく調整され、特にショートカットキーの変更は、説明に力を入れていない.しかし、最近、最後のいくつかの補完プラグインの追加と構成調整に伴い、この構成ファイルは比較的完全になっているので、よく座って、使用方法と注意点を紹介することができます.(実は、このドキュメントを書いている間にショートカットキーを変更し続けていました)
主な特徴:
  • システムの状況に応じて、自動的にインストール用のプラグインを選択し、~/.vimrc.localにおいて
  • を半カスタマイズすることができる.
  • はきれいで、256色端末対応の複数のテーマ
  • を選択しました.
  • 機能豊富:自動補完、文法ハイライト、文法チェック、実行、フォーマットには対応するプラグイン
  • があります.
    ここで私はREADMEの中の前の部分を貼って、後ろの各プラグインの紹介とショートカットキー、元のrepoに行って見てください.さらに、中の各ファイルを開いて見たり、勉強したりすることをお勧めします.
    Requirements Git 1.7 and Vim7.0 with any of +job , +python , +python3 , +lua is at least required, Vim8 or neovim and Git 2.0+ is prefered for advanced fearutures
    And I wish you have a basic understanding for vim, know how to read the config files to find what I not mention here.
    Install
    Linux, *nix, Mac OSX
      git clone https://github.com/leoatchina/leoatchina-vim.git
      cd leoatchina-vim
      ./install.sh

    windows
      git clone https://github.com/leoatchina/tools-leoatchina-vim.git
      cd leoatchina-vim
      click setup.cmd with administrator rights
      open vim, do :PlugInstall

    Update
    Linux, *nix, Mac OSX
      ./install.sh ,chosse y|Y, the scipt will do git pull and do reinstall plugins

    windows
      cd leoatchina-vi#m
      git pull
      open vim, do :PlugReinstall

    Upgrade plugins
    Linux, *nix, Mac OSX
      cd leoatchina-vim
      ./updata.sh

    OR
      ~/.vimrc.update

    OR
      open vim; do :PlugNew

    windows
      open vim; do :PlugNew

    Delete
    Linux, *nix, Mac OSX
      cd leoatchina-vim
      ./uninstall.sh

    Windows
      click delete.cmd with administrator rights

    How it works
    After the installation, a .vimrc symbol link in the ~ folder (for neovim, to its config file ~/.config/nvim/init.vim in Linux ) which links to the .vimrc file in the leoatchina-vim folder.
    The .vimrc or init.vim sources ~/.vimrc.plug for plugins definition, and ~/.vimrc.plug sources ~/.vimrc.local when the file exists, the local file contains an import variable called g:plug_groups for the supporting features for vim, and you do :PlugClean , :PlugInstall , the plugsin will change. The default contents of .vimrc.local is
    let g:plug_groups=['smartcomplete', 'php', 'javascript', 'html', 'snippet']
    And you can also create ~/.gvimrc.local for gvim , ~/.nvimrc.local for nvim to intall diffent plugins for gvim and nvim. If these two local file not exist, .vimrc.local works.
    The typical variables that could be add to g:plug_groups are pymode , go , airline , youcompleteme , etc.
    Here is a trick that I set diffent PLUG_PATH for vim/gvim/neovim , ~/.vim/plug for vim , ~/.gvim/plug for gvim , ~/.nvim/plug for neovim . .vimrc.clean it is an bash file which is set to delete ~/.vimswap & ~/.vimviews folders. Also be linked as ~/.vimrc.clean
    Main changes from spf13
  • use vim-plug instead of vundle , more quick and more smart
  • totally simplify, delete fork , before files , which are redundent for most users
  • delete lots of variables for feature settings
  • just have mentioned before, the link is from the cloned folder
  • not support XP

  • Some features
  • no backup file
  • no backup
  • no sound
  • no scroll bars
  • no menu, no tools when gui-running
  • line number
  • highlight search results
  • smart indent
  • In Visual, keep selection after indention change with > , <

  • Main shortcuts
  • to , so the biggest key on keyboard is more usefull
  • to \
  • . for number + 1, , for number -1
  • : source ~/.vimrc . It is for config develop & debug myself
  • for bracket jump
  • c-a to the head of a line, c-e to end in normal/visual/inesert mode, compatible with linux
  • c-f , c-b , c-k , c-l , g work like Leader key in normal mode
  • c-f to right c-b to left in insert mode
  • c-x instead of 'c-e' for fullscreen jump, pairs with c-y
  • c-p invoke browser tools fzf or LeaderF or denite or Ctrlp
  • gc for gcommit, + for :Git
  • ~ instead of Q , and Q for quit current buffer at once
  • . for exit visual mode
  • ! for :!
  • F1 : tab help
  • F2 : toggle search results highlight
  • F3 : show register strings
  • F4 : toggle quickrun windows
  • F5 : run script (with plugin vim-quickrun)
  • F11 : full screen toggle, but sometimes not work
  • F12 : paste toggle
  • tab/buffer control
  • set tabpagemax=10
  • cmap Tabe tabe
  • nnoremap - :tabprevious
  • nnoremap :tabnext
  • nnoremap tp :tabprevious
  • nnoremap tn :tabnext
  • nnoremap - :tabm -1
  • nnoremap :tabm +1
  • nnoremap - :tabfirst
  • nnoremap :tablast
  • nnoremap te :tabe
  • nnoremap ts :tab split
  • nnoremap tw :tabs
  • nnoremap tm :tabm
  • nnoremap :buffers
  • nnoremap ] :bn
  • nnoremap [ :bp

  • copy & paste
  • vnoremap y "+y
  • nnoremap y "+y
  • nnoremap yy "+yy
  • nnoremap Y "*y
  • vnoremap Y "*y
  • nnoremap Y y$
  • vnoremap Y *y$
  • nnoremap p "+p
  • nnoremap P "*P
  • vnoremap p "+p
  • vnoremap P "*P

  • Some other shortcuts
  • nmap w [I:let nr = input("Which one: ")exe "normal ". nr ."[t"
  • nnoremap fd :set nofoldenable! nofoldenable?
  • nnoremap fw :set nowrap! nowrap?
  • nmap w :w
  • nmap W :wq!
  • nmap WQ :wa:q
  • nmap q :q!
  • nmap Q :qa!
  • nmap :vsplit
  • nmap :split
  • nmap = =
  • nmap :resize -3
  • nmap :resize +3
  • nmap :vertical resize -3
  • nmap :vertical resize +3
  • vnoremap <
  • vnoremap >>gv
  • nnoremap <<<
  • nnoremap >>>