1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-04-13 18:09:10 +08:00

Merge branch 'dev'

This commit is contained in:
wsdjeg 2017-02-05 11:43:27 +08:00
commit 80bfa0eabc
36 changed files with 458 additions and 128 deletions

View File

@ -1,19 +1,15 @@
### Expected behavior, english is recommend
## Expected behavior, english is recommend
### Environment Information
## Environment Information
- OS:
- vim version:
- neovim version:
### The reproduce ways from Vim starting (Required!)
## The reproduce ways from Vim starting (Required!)
### Output of the ":message" command, and ":echo SpaceVim#logger#viewLog()"
## Output of the ":message" command, and ":echo SpaceVim#logger#viewLog()"
```log
please post log here:
please post log below, if you want me reproduce your issue quickly, post your custom config here will be better.
```

169
README.md
View File

@ -1,47 +1,49 @@
<p align="center"><img src="https://github.com/SpaceVim/SpaceVim/raw/table/logo.jpg" alt="SpaceVim"/></p>
<p align="center"><img src="https://raw.githubusercontent.com/SpaceVim/SpaceVim/dev/logo.png" alt="SpaceVim"/></p>
[![Build Status](https://travis-ci.org/SpaceVim/SpaceVim.svg?branch=dev)](https://travis-ci.org/SpaceVim/SpaceVim)
![Version 0.1.0-dev](https://img.shields.io/badge/version-0.1.0--dev-yellow.svg?style=flat-square)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE)
[![Doc](https://img.shields.io/badge/doc-%3Ah%20SpaceVim-orange.svg?style=flat-square)](doc/SpaceVim.txt)
[![QQ](https://img.shields.io/badge/QQ群-121056965-blue.svg)](https://jq.qq.com/?_wv=1027&k=43DB6SG)
[![Gitter](https://badges.gitter.im/SpaceVim/SpaceVim.svg)](https://gitter.im/SpaceVim/SpaceVim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Facebook](https://img.shields.io/badge/FaceBook-SpaceVim-blue.svg)](https://www.facebook.com/SpaceVim)
[![GitHub watchers](https://img.shields.io/github/watchers/SpaceVim/SpaceVim.svg?style=social&label=Watch)](https://github.com/SpaceVim/SpaceVim)
[![GitHub stars](https://img.shields.io/github/stars/SpaceVim/SpaceVim.svg?style=social&label=Star)](https://github.com/SpaceVim/SpaceVim)
[![GitHub forks](https://img.shields.io/github/forks/SpaceVim/SpaceVim.svg?style=social&label=Fork)](https://github.com/SpaceVim/SpaceVim)
[![Twitter Follow](https://img.shields.io/twitter/follow/SpaceVim.svg?style=social&label=Follow&maxAge=2592000)](https://twitter.com/SpaceVim)
![2017-01-07_1363x723](https://cloud.githubusercontent.com/assets/13142418/21739011/6c38c14e-d4ca-11e6-8f3e-2c21dfc489c0.png)
### Table of Contents
- [Introduction](#introduction)
- [Community](#community)
- [Install](#install)
- [Linux/Mac](#linuxmac)
- [Windows support](#windows-support)
- [File Structure](#file-structure)
- Features
- [Neovim centric - Dark powered mode](#neovim-centric---dark-powered-mode-of-spacevim)
- [Modular configuration](#modular-configuration)
- [multiple leader mode](#multiple-leader-mode)
- Lazy-load 90% of plugins with [dein.vim]
- Robust, yet light weight
- [Unite centric work-flow](#unite-centric-work-flow)
- [Awesome ui](#awesome-ui)
- [Language specific mode](#language-specific-mode)
- [c/c++ support](#cc-support)
- [python support](#python-support)
- [go support](#go-support)
- rust support
- php support
- perl support
- lua support
- [Unite centric work-flow](#unite-centric-work-flow)
- [Neovim centric - Dark powered mode](#neovim-centric---dark-powered-mode-of-spacevim)
- [multiple leader mode](#multiple-leader-mode)
- [Modular configuration](#modular-configuration)
- Lazy-load 90% of plugins with [dein.vim]
- Robust, yet light weight
- Extensive Neocomplete setup
- Central location for tags
- Lightweight simple status/tabline
- Premium color-schemes
- Custom configuration
- Support SpaceVim
- contribute to SpaceVim
- [Custom configuration](#custom-configuration)
- [Support SpaceVim](#support-spacevim)
- [Report bugs](#report-bugs)
- [contribute to SpaceVim](#contribute-to-spacevim)
- Write post about SpaceVim
- Report bugs
- [Credits & Thanks](#credits--thanks)
#### Introduction
![2017-02-05_1359x721](https://cloud.githubusercontent.com/assets/13142418/22622826/f88881a8-eb80-11e6-880b-b12e0430689a.png)
[SpaceVim](https://github.com/SpaceVim/SpaceVim) is a Modular configuration, a bundle of custom settings and plugins for Vim,
here we call them layers, each layer has different plugins and config, users just need
to select the layers they need. It got inspired by [spacemacs](https://github.com/syl20bnr/spacemacs). If you use SpaceVim,
@ -55,6 +57,18 @@ For learning about Vim in general, read [vim-galore](https://github.com/mhinz/vi
[![Throughput Graph](https://graphs.waffle.io/SpaceVim/SpaceVim/throughput.svg)](https://waffle.io/SpaceVim/SpaceVim/metrics/throughput)
#### Community
Try these Neovim hangouts for any questions, problems or comments.
- Ask
- [issue tracker](https://github.com/SpaceVim/SpaceVim/issues) for issue and feature requests
- vi StackExchange for "how to" & configuration questions
- [![Twitter Follow](https://img.shields.io/twitter/follow/SpaceVim.svg?style=social&label=Follow&maxAge=2592000)](https://twitter.com/SpaceVim) for hugs & pithy comments
- Chat
- [![Gitter](https://badges.gitter.im/SpaceVim/SpaceVim.svg)](https://gitter.im/SpaceVim/SpaceVim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
- [![QQ](https://img.shields.io/badge/QQ群-121056965-blue.svg)](https://jq.qq.com/?_wv=1027&k=43DB6SG)
- [![Facebook](https://img.shields.io/badge/FaceBook-SpaceVim-blue.svg)](https://www.facebook.com/SpaceVim)
- Discuss
#### Install
##### Linux/Mac
@ -114,6 +128,32 @@ git clone https://github.com/SpaceVim/SpaceVim.git AppData\Local\nvim
#### Features
##### Awesome ui
- outline + filemanager + checker
![2017-02-01_1360x721](https://cloud.githubusercontent.com/assets/13142418/22506638/84705532-e8bc-11e6-8b72-edbdaf08426b.png)
##### Language specific mode
###### c/c++ support
1. code completion: autocompletion and fuzzy match.
![2017-02-01_1359x720](https://cloud.githubusercontent.com/assets/13142418/22505960/df9068de-e8b8-11e6-943e-d79ceca095f1.png)
2. syntax check: Asynchronous linting and make framework.
![2017-02-01_1359x722](https://cloud.githubusercontent.com/assets/13142418/22506340/e28b4782-e8ba-11e6-974b-ca29574dcc1f.png)
###### go support
1. code completion:
![2017-02-01_1360x721](https://cloud.githubusercontent.com/assets/13142418/22508345/8215c5e4-e8c4-11e6-95ec-f2a6e1e2f4d2.png)
2. syntax check:
![2017-02-01_1359x720](https://cloud.githubusercontent.com/assets/13142418/22509944/108b6508-e8cb-11e6-8104-6310a29ae796.png)
###### python support
1. code completion:
![2017-02-02_1360x724](https://cloud.githubusercontent.com/assets/13142418/22537799/7d1d47fe-e948-11e6-8168-a82e3f688554.png)
2. syntax check:
![2017-02-02_1358x720](https://cloud.githubusercontent.com/assets/13142418/22537883/36de7b5e-e949-11e6-866f-73c48e8f59aa.png)
##### Neovim centric - Dark powered mode of SpaceVim.
By default, SpaceVim use these dark powered plugins:
@ -183,32 +223,14 @@ For the list of mappings see the [link](#window-management)
Unite work flow leader can only be used in normal mode. Unite leader need unite groups.
#### Unite centric work-flow
- List all the plugins has been installed, fuzzy find what you want,
default action is open the github website of current plugin. default key is `<leader>lp`
[layer name] [plugin name] [load type] [plugin options]
- List all the plugins has been installed, fuzzy find what you want, default action is open the github website of current plugin. default key is `<leader>lp`
![2017-01-21_1358x725](https://cloud.githubusercontent.com/assets/13142418/22175019/ce42d902-e027-11e6-89cd-4f44f70a10cd.png)
- List all the mappings and description: `f<space>`
![2016-12-29-22 35 29](https://cloud.githubusercontent.com/assets/13142418/21546066/4896c5e2-ce17-11e6-8246-945b924df9aa.png)
![2017-02-01_1359x723](https://cloud.githubusercontent.com/assets/13142418/22507351/24af0d74-e8c0-11e6-985e-4a1404b629ed.png)
- List all the starred repos in github.com, fuzzy find and open the website of the repo. default key is `<leader>ls`
![2016-12-29-22 38 52](https://cloud.githubusercontent.com/assets/13142418/21546148/c6836618-ce17-11e6-82a9-81e90017dbf1.png)
#### Awesome ui
- outline + filemanager + checker
![2017-01-03-21 26 03](https://cloud.githubusercontent.com/assets/13142418/21609104/74567ce4-d1fb-11e6-9495-16aa5ad2e42d.png)
#### Language specific mode
- java
- viml
- rust
- php
- c/c++
- js
- python
![2017-02-01_1359x722](https://cloud.githubusercontent.com/assets/13142418/22506915/deb99caa-e8bd-11e6-9b80-316281ddb48c.png)
#### Plugin Highlights
@ -350,7 +372,10 @@ Name | Description
Key | Mode | Action
----- |:----:| ------------------
`<leader>`+`y` | Normal/visual | Copy selection to X11 clipboard ("+y)
`<leader>`+`y` | visual | Copy selection to X11 clipboard ("+y)
`Ctrl`+`c` | Normal | Copy full path of current buffer to X11 clipboard
`<leader>`+`Ctrl`+`c` | Normal | Copy github.com url of current buffer to X11 clipboard(if it is a github repo)
`<leader>`+`Ctrl`+`l` | Normal/visual | Copy github.com url of current lines to X11 clipboard(if it is a github repo)
`<leader>`+`p` | Normal/visual | Paste selection from X11 clipboard ("+p)
`Ctrl`+`f` | Normal | Smart page forward (C-f/C-d)
`Ctrl`+`b` | Normal | Smart page backwards (C-b/C-u)
@ -374,10 +399,10 @@ Key | Mode | Action
Key | Mode | Action
----- |:----:| ------------------
`<leader>`+`cd` | Normal | Switch to the root directory(vim-rooter)
`<leader>`+`cd` | Normal | Switch to the directory of the open buffer
`<leader>`+`w` | Normal/visual | Write (:w)
`Ctrl`+`s` | _All_ | Write (:w)
`W!!` | Command | Write as root
`Ctrl`+`s` | Normal/visual/Command | Write (:w)
`:w!!` | Command | Write as root (%!sudo tee > /dev/null %)
##### Editor UI
@ -427,27 +452,31 @@ Key | Mode | Action
Key | Mode | Action
----- |:----:| ------------------
`;`+`r` | Normal | Resumes Unite window
`;`+`f` | Normal | Opens Unite file recursive search
`;`+`i` | Normal | Opens Unite git file search
`;`+`g` | Normal | Opens Unite grep with ag (the_silver_searcher)
`;`+`u` | Normal | Opens Unite source
`;`+`t` | Normal | Opens Unite tag
`;`+`T` | Normal | Opens Unite tag/include
`;`+`l` | Normal | Opens Unite location list
`;`+`q` | Normal | Opens Unite quick fix
`;`+`e` | Normal | Opens Unite register
`;`+`j` | Normal | Opens Unite jump, change
`;`+`h` | Normal | Opens Unite history/yank
`;`+`s` | Normal | Opens Unite session
`;`+`o` | Normal | Opens Unite outline
`;`+`ma` | Normal | Opens Unite mapping
`;`+`me` | Normal | Opens Unite output messages
`<leader>`+`b` | Normal | Opens Unite buffers, mru, bookmark
`[unite]` | Normal | unite leader, default is `f`, `:h g:spacevim_unite_leader`
`[unite]`+`r` | Normal | Resumes Unite window
`[unite]`+`f` | Normal | Opens Unite file recursive search
`[unite]`+`i` | Normal | Opens Unite git file search
`[unite]`+`g` | Normal | Opens Unite grep with ag (the_silver_searcher)
`[unite]`+`u` | Normal | Opens Unite source
`[unite]`+`t` | Normal | Opens Unite tag
`[unite]`+`T` | Normal | Opens Unite tag/include
`[unite]`+`l` | Normal | Opens Unite location list
`[unite]`+`q` | Normal | Opens Unite quick fix
`[unite]`+`e` | Normal | Opens Unite register
`[unite]`+`j` | Normal | Opens Unite jump, change
`[unite]`+`h` | Normal | Opens Unite history/yank
`[unite]`+`s` | Normal | Opens Unite session
`[unite]`+`n` | Normal | Opens Unite session/new
`[unite]`+`o` | Normal | Opens Unite outline
`[unite]`+`c` | Normal | Opens Unite buffer bookmark file in current directory
`[unite]`+`b` | Normal | Opens Unite buffer bookmark file in buffer directory
`[unite]`+`ma` | Normal | Opens Unite mapping
`[unite]`+`<space>` | Normal | Opens Unite menu:CustomKeyMaps
`[unite]`+`me` | Normal | Opens Unite output messages
`<leader>`+`bl` | Normal | Opens Unite buffers, mru, bookmark
`<leader>`+`ta` | Normal | Opens Unite tab
`<leader>`+`gf` | Normal | Opens Unite file with word at cursor
`<leader>`+`gt` | Normal/visual | Opens Unite tag with word at cursor
`<leader>`+`gg` | Visual | Opens Unite navigate with word at cursor
`<leader>`+`ugf` | Normal | Opens Unite file with word at cursor
`<leader>`+`ugt` | Normal/visual | Opens Unite tag with word at cursor
| **Within _Unite_ buffers** |||
`Ctrl`+`h/k/l/r` | Normal | Un-map
`Ctrl`+`r` | Normal | Redraw
@ -575,6 +604,7 @@ SpaceVim also support local config file for project, the init file is `.SpaceVim
in the root of your project. `.SpaceVim.d/` will also be added into runtimepath.
here is an example config file for SpaceVim:
```viml
" set the options of SpaceVim
let g:spacevim_colorscheme = 'solarized'
@ -592,9 +622,16 @@ let g:spacevim_custom_plugins = [
nnoremap <c-l> :Ydc<cr>
```
#### Enjoy!
#### Support SpaceVim
##### report bugs
If you get any issues, please open an issue with the ISSUE_TEMPLATE. It is useful for me to debug for this issue.
##### contribute to SpaceVim
#### Credits & Thanks
- [![GitHub contributors](https://img.shields.io/github/contributors/SpaceVim/SpaceVim.svg)](https://github.com/SpaceVim/SpaceVim/graphs/contributors)
- [vimdoc](https://github.com/google/vimdoc) generate doc file for SpaceVim
- [Rafael Bodill](https://github.com/rafi) and his vim-config
- [Bailey Ling](https://github.com/bling) and his dotvim

View File

@ -210,6 +210,13 @@ let g:spacevim_enable_powerline_fonts = 1
" let g:spacevim_lint_on_save = 0
" <
let g:spacevim_lint_on_save = 1
""
" Enable/Disable Vimfiler in the welcome windows, this will cause vim slow on startup if
" there are too many files in current directory. you can disable it by:
" >
" let g:spacevim_enable_vimfiler_welcome = 0
" <
let g:spacevim_enable_vimfiler_welcome = 1
let g:spacevim_smartcloseignorewin = ['__Tagbar__' , 'vimfiler:default']
let g:spacevim_smartcloseignoreft = ['help']
let g:spacevim_altmoveignoreft = ['Tagbar' , 'vimfiler']
@ -298,6 +305,12 @@ function! SpaceVim#end() abort
let help = fnamemodify(g:Config_Main_Home, ':p:h:h') . '/doc'
exe 'helptags ' . help
""
" set language
if !empty(g:spacevim_language)
silent exec 'lan ' . g:spacevim_language
endif
call SpaceVim#plugins#load()
endfunction
@ -313,9 +326,13 @@ endfunction
function! SpaceVim#welcome() abort
VimFiler
wincmd p
Startify
if exists(':VimFiler') == 2 && exists(':Startify') == 2
if g:spacevim_enable_vimfiler_welcome
VimFiler
endif
wincmd p
Startify
endif
endfunction
""

View File

@ -27,6 +27,9 @@ function! SpaceVim#default#SetOptions() abort
set relativenumber
set number
" hide cmd
set noshowcmd
" indent
set autoindent
set smartindent
@ -78,7 +81,6 @@ function! SpaceVim#default#SetOptions() abort
set nowritebackup
set matchtime=0
set ruler
set showcmd
set showmatch
set showmode
"menuone: show the pupmenu when only one match
@ -274,8 +276,8 @@ function! SpaceVim#default#SetMappings() abort
cnoremap <C-b> <Left>
cnoremap <C-f> <Right>
" When pressing <leader>cd switch to the directory of the open buffer
" map <Leader>cd :cd %:p:h<CR>:pwd<CR> "I use <Plug>RooterChangeToRootDirectory
"When pressing <leader>cd switch to the directory of the open buffer
map <Leader>cd :cd %:p:h<CR>:pwd<CR>
" Fast saving
nnoremap <Leader>w :w<CR>

View File

@ -0,0 +1,18 @@
function! SpaceVim#health#report() abort
let items = map(SpaceVim#util#globpath(&rtp,'autoload/SpaceVim/health/*'), "fnamemodify(v:val,':t:r')")
let report = []
for item in items
try
let result = SpaceVim#health#{item}#check()
call extend(report,result)
catch /^Vim\%((\a\+)\)\=:E117/
call extend(report,[
\ '',
\ 'SpaceVim Health Error:',
\ ' There is no function: SpaceVim#health#' . item . '#check()',
\ '',
\ ])
endtry
endfor
return join(report, "\n")
endfunction

View File

@ -0,0 +1,24 @@
function! SpaceVim#health#clipboard#check() abort
let result = ['SpaceVim clipboard support check report:']
call add(result, 'Checking +clipboard:')
if has('nvim')
if has('clipboard')
call add(result, ' SUCCEED!')
else
call add(result, ' Failed : to support +clipboard, you need has one of following clipboard tools in your $PATH:')
call add(result, ' 1. xclip')
call add(result, ' 2. xsel')
call add(result, ' 3. pbcopy/pbpaste (Mac OS X)')
call add(result, ' 4. lemonade (for SSH) https://github.com/pocke/lemonade')
call add(result, ' 5. doitclient (for SSH) http://www.chiark.greenend.org.uk/~sgtatham/doit/')
endif
else
if has('clipboard')
call add(result, ' SUCCEED!')
else
call add(result, ' Failed : to support +clipboard, you need recompile your vim with +clipboard support.')
endif
endif
return result
endfunction

View File

@ -0,0 +1,18 @@
function! SpaceVim#health#lua#check() abort
let result = ['SpaceVim lua support check report:']
call add(result, 'Checking +lua:')
if has('nvim')
if has('lua')
call add(result, ' SUCCEED!')
else
call add(result, ' Failed : Known issue, neovim do not support lua now.')
endif
else
if has('lua')
call add(result, ' SUCCEED!')
else
call add(result, ' Failed : to support +lua, you need recompile your vim with +lua support.')
endif
endif
return result
endfunction

View File

@ -0,0 +1,41 @@
function! SpaceVim#health#python#check() abort
let result = ['SpaceVim python support check report:']
if has('nvim')
call add(result, 'Checking +python3:')
if has('python3')
call add(result, ' SUCCEED!')
else
call add(result, ' Failed : to support +python3, you need run `pip3 install neovim`')
endif
call add(result, 'Checking +python:')
if has('python')
call add(result, ' SUCCEED!')
else
call add(result, ' Failed : to support +python, you need run `pip2 install neovim`')
endif
else
call add(result, 'Checking +python3:')
if has('python3')
call add(result, ' SUCCEED!')
else
if !WINDOWS()
call add(result, ' Failed : to support +python3, Please install vim-gik, or build from sources.')
else
call add(result, ' Failed : to support +python3, install vim from https://github.com/vim/vim-win32-installer/releases')
call add(result, ' install python3, make sure you have `python` in your path.')
endif
endif
call add(result, 'Checking +python:')
if has('python')
call add(result, ' SUCCEED!')
else
if !WINDOWS()
call add(result, ' Failed : to support +python, Please install vim-gik, or build from sources.')
else
call add(result, ' Failed : to support +python3, install vim from https://github.com/vim/vim-win32-installer/releases')
call add(result, ' install python3, make sure you have `python` in your path.')
endif
endif
endif
return result
endfunction

View File

@ -13,7 +13,10 @@
" @subsection snippet
" SpaceVim use neosnippet as default snippet engine, and the default snippets
" is `Shougo/neosnippet-snippets`. for more information, please read
" |neosnippet|.
" |neosnippet|. neosnippet support custtom snippets, and the default snippets
" directory is `~/.SpaceVim.d/snippets/` and if
" g:spacevim_force_global_config = 1, SpaceVim will not append
" `./.SpaceVim.d/snippets` as default snippets directory.
@ -49,3 +52,11 @@ function! SpaceVim#layers#autocomplete#plugins() abort
endif
return plugins
endfunction
function SpaceVim#layers#autocomplete#config()
if g:spacevim_autocomplete_method ==# 'ycm'
iunmap <S-TAB>
sunmap <S-TAB>
endif
endfunction

View File

@ -1,3 +1,8 @@
""
" @section checkers, layer-checkers
" @parentsection layers
" SpaceVim use neomake as default syntax checker.
function! SpaceVim#layers#checkers#plugins() abort
let plugins = []

View File

@ -160,5 +160,6 @@ function! SpaceVim#layers#colorscheme#plugins() abort
\ ['gregsexton/Atom'],
\ ['gilgigilgil/anderson.vim'],
\ ['romainl/Apprentice'],
\ ['icymind/NeoSolarized'],
\ ]
endfunction

View File

@ -1,6 +1,7 @@
function! SpaceVim#layers#edit#plugins() abort
let plugins = [
\ ['tpope/vim-surround'],
\ ['junegunn/vim-emoji'],
\ ['terryma/vim-multiple-cursors'],
\ ['scrooloose/nerdcommenter'],
\ ['mattn/emmet-vim', { 'on_cmd' : 'EmmetInstall'}],

View File

@ -24,12 +24,6 @@ function! SpaceVim#layers#lang#plugins() abort
\ ['vimperator/vimperator.vim', { 'on_ft' : 'vimperator'}],
\ ['voxpupuli/vim-puppet', {'on_ft' : 'puppet'}],
\ ]
" python
if has('nvim')
call add(plugins, ['zchee/deoplete-jedi', { 'on_ft' : 'python'}])
else
call add(plugins, ['davidhalter/jedi-vim', { 'on_ft' : 'python'}])
endif
return plugins
endfunction

View File

@ -0,0 +1,14 @@
""
" @section lang#elixir, layer-lang-elixir
" @parentsection layers
" @subsection Intro
" lang#elixir layer provide code completion,documentation lookup, jump to
" definition, mix integration and iex integration for elixir project. SpaceVim
" use neomake as default syntax checker which is loaded in
" @section(layer-checkers)
function! SpaceVim#layers#lang#elixir#plugins() abort
let plugins = []
call add(plugins, ['slashmili/alchemist.vim', {'on_ft' : 'elixir'}])
return plugins
endfunction

View File

@ -0,0 +1,7 @@
function! SpaceVim#layers#lang#haskell#plugins() abort
let plugins = []
call add(plugins,['neovimhaskell/haskell-vim', { 'on_ft' : 'haskell'}])
call add(plugins,['pbrisbin/vim-syntax-shakespeare', { 'on_ft' : 'haskell'}])
call add(plugins,['eagletmt/neco-ghc', { 'on_ft' : 'haskell'}])
return plugins
endfunction

View File

@ -0,0 +1,19 @@
""
" @section lang#python, layer-lang-python
" @parentsection layers
" To make this layer works well, you should install jedi.
" @subsection mappings
" >
" mode key function
" <
function! SpaceVim#layers#lang#python#plugins() abort
let plugins = []
" python
if has('nvim')
call add(plugins, ['zchee/deoplete-jedi', { 'on_ft' : 'python'}])
else
call add(plugins, ['davidhalter/jedi-vim', { 'on_ft' : 'python'}])
endif
return plugins
endfunction

View File

@ -10,7 +10,6 @@ function! SpaceVim#layers#lang#xml#plugins() abort
let plugins = []
call add(plugins,['Valloric/MatchTagAlways', { 'on_ft' : ['html' , 'xhtml' , 'xml' , 'jinja']}])
call add(plugins,['sukima/xmledit', { 'on_ft' : ['html' , 'xhtml' , 'xml' , 'jinja']}])
call add(plugins,['alvan/vim-closetag', { 'on_ft' : ['html' , 'xhtml' , 'xml' , 'jinja']}])
return plugins
endfunction

View File

@ -0,0 +1,15 @@
""
" @section shell, layer-shell
" @parentsection layers
" SpaceVim use deol.nvim for shell support in neovim, and use vimshell for
" vim. for info, read |deol| and |vimshell|.
function! SpaceVim#layers#shell#plugins() abort
let plugins = []
if has('nvim')
call add(plugins,['Shougo/deol.nvim'])
else
call add(plugins,['Shougo/vimshell.vim', { 'on_cmd':['VimShell']}])
endif
return plugins
endfunction

View File

@ -4,7 +4,9 @@ function! SpaceVim#layers#tools#plugins() abort
\ ['wsdjeg/vim-cheat', { 'on_cmd' : 'Cheat'}],
\ ['wsdjeg/SourceCounter.vim', { 'on_cmd' : 'SourceCounter'}],
\ ['junegunn/goyo.vim', { 'on_cmd' : 'Goyo', 'loadconf' : 1}],
\ ['Yggdroot/LeaderF', {'merged' : 0}],
\ ['junegunn/limelight.vim', { 'on_cmd' : 'Limelight'}],
\ ['Yggdroot/LeaderF', {'merged' : 0, 'on_cmd' : 'LeaderF'}],
\ ['MattesGroeger/vim-bookmarks', { 'on_map' : '<Plug>Bookmark', 'loadconf_before' : 1}],
\ ['google/vim-searchindex'],
\ ['simnalamburt/vim-mundo', { 'on_cmd' : 'MundoToggle'}],
\ ['wsdjeg/MarkDown.pl', { 'on_cmd' : 'MarkDownPreview'}],
@ -33,6 +35,11 @@ function! SpaceVim#layers#tools#plugins() abort
endfunction
function! SpaceVim#layers#tools#config() abort
nmap mm <Plug>BookmarkToggle
nmap mi <Plug>BookmarkAnnotate
nmap ma <Plug>BookmarkShowAll
nmap mn <Plug>BookmarkNext
nmap mp <Plug>BookmarkPrev
nnoremap <silent> <F7> :MundoToggle<CR>
augroup rainbow_lisp
autocmd!

View File

@ -4,6 +4,7 @@ function! SpaceVim#layers#ui#plugins() abort
\ ['Yggdroot/indentLine'],
\ ['mhinz/vim-signify'],
\ ['majutsushi/tagbar', {'loadconf' : 1}],
\ ['lvht/tagbar-markdown',{'merged' : 0}],
\ ['vim-airline/vim-airline', { 'merged' : 0, 'loadconf' : 1}],
\ ['vim-airline/vim-airline-themes', { 'merged' : 0}],
\ ['mhinz/vim-startify', {'loadconf' : 1}],

View File

@ -21,6 +21,7 @@ function! SpaceVim#layers#unite#plugins() abort
\ ['heavenshell/unite-zf'],
\ ['heavenshell/unite-sf2'],
\ ['osyo-manga/unite-vimpatches'],
\ ['rhysd/unite-emoji.vim'],
\ ['Shougo/unite-outline'],
\ ['hewes/unite-gtags' ,{'loadconf' : 1}],
\ ['rafi/vim-unite-issue'],

View File

@ -47,19 +47,29 @@ endfunction
function! SpaceVim#logger#viewLog(...) abort
let info = "SpaceVim Options :\n\n"
let info = "### SpaceVim Options :\n\n"
let info .= "```viml\n"
let info .= join(SpaceVim#options#list(), "\n")
let info .= "\n"
let info .= "\n```\n"
let info .= "\n\n"
let info .= "### SpaceVim Health checking :\n\n"
let info .= SpaceVim#health#report()
let info .= "\n\n"
let info .= "### SpaceVim runtime log :\n\n"
let info .= "```log\n"
let l = a:0 > 0 ? a:1 : 1
if filereadable(s:logger_file)
let logs = readfile(s:logger_file, '')
return info . join(filter(logs, "v:val =~# '\[ SpaceVim \] \[\d\d\:\d\d\:\d\d\] \[" . s:levels[l] . "\]'"), "\n")
let info .= join(filter(logs, "v:val =~# '\[ SpaceVim \] \[\d\d\:\d\d\:\d\d\] \[" . s:levels[l] . "\]'"), "\n")
else
let info .= '[ SpaceVim ] : logger file ' . s:logger_file . ' does not exists, only log for current process will be shown!'
let info .= join(filter(s:log_temp, "v:val =~# '\[ SpaceVim \] \[\d\d\:\d\d\:\d\d\] \[" . s:levels[l] . "\]'"), "\n")
return info
endif
let info .= "\n```\n"
return info
endfunction
""

View File

@ -21,22 +21,36 @@ function! SpaceVim#mapping#leader#defindUniteLeader(key) abort
" The prefix key.
nnoremap [unite] <Nop>
exe 'nmap ' .a:key . ' [unite]'
nnoremap <silent> [unite]c :<C-u>UniteWithCurrentDir
\ -buffer-name=files buffer bookmark file<CR>
nnoremap <silent> [unite]b :<C-u>UniteWithBufferDir
\ -buffer-name=files -prompt=%\ buffer bookmark file<CR>
nnoremap <silent> [unite]r :<C-u>Unite
\ -buffer-name=register register<CR>
nnoremap <silent> [unite]o :<C-u>Unite -buffer-name=outline -start-insert -auto-preview -split outline<CR>
nnoremap <silent> [unite]s :<C-u>Unite session<CR>
nnoremap <silent> [unite]n :<C-u>Unite session/new<CR>
nnoremap <silent> [unite]fr
nnoremap <silent> [unite]r
\ :<C-u>Unite -buffer-name=resume resume<CR>
if has('nvim')
nnoremap <silent> [unite]f :<C-u>Unite file_rec/neovim<cr>
else
nnoremap <silent> [unite]f :<C-u>Unite file_rec/async<cr>
endif
nnoremap <silent> [unite]i :<C-u>Unite file_rec/git<cr>
nnoremap <silent> [unite]g :<C-u>Unite grep<cr>
nnoremap <silent> [unite]u :<C-u>Unite source<CR>
nnoremap <silent> [unite]t :<C-u>Unite tag<CR>
nnoremap <silent> [unite]T :<C-u>Unite tag/include<CR>
nnoremap <silent> [unite]l :<C-u>Unite locationlist<CR>
nnoremap <silent> [unite]q :<C-u>Unite quickfix<CR>
nnoremap <silent> [unite]e :<C-u>Unite
\ -buffer-name=register register<CR>
nnoremap <silent> [unite]j :<C-u>Unite jump<CR>
nnoremap <silent> [unite]h :<C-u>Unite history/yank<CR>
nnoremap <silent> [unite]s :<C-u>Unite session<CR>
nnoremap <silent> [unite]o :<C-u>Unite -buffer-name=outline -start-insert -auto-preview -split outline<CR>
nnoremap <silent> [unite]ma
\ :<C-u>Unite mapping<CR>
nnoremap <silent> [unite]me
\ :<C-u>Unite output:message<CR>
nnoremap [unite]f :<C-u>Unite source<CR>
nnoremap <silent> [unite]c :<C-u>UniteWithCurrentDir
\ -buffer-name=files buffer bookmark file<CR>
nnoremap <silent> [unite]b :<C-u>UniteWithBufferDir
\ -buffer-name=files -prompt=%\ buffer bookmark file<CR>
nnoremap <silent> [unite]n :<C-u>Unite session/new<CR>
nnoremap <silent> [unite]w
\ :<C-u>Unite -buffer-name=files -no-split
\ jump_point file_point buffer_tab

View File

@ -11,7 +11,6 @@ function! SpaceVim#plugins#load() abort
endfunction
function! s:load_plugins() abort
for group in g:spacevim_plugin_groups
let g:spacevim_plugin_layer = group
for plugin in s:getLayerPlugins(group)
if len(plugin) == 2
call zvim#plug#add(plugin[0], plugin[1])
@ -27,9 +26,6 @@ function! s:load_plugins() abort
endfor
call s:loadLayerConfig(group)
endfor
if exists('g:spacevim_plugin_layer')
unlet g:spacevim_plugin_layer
endif
for plugin in g:spacevim_custom_plugins
if len(plugin) == 2
call zvim#plug#add(plugin[0], plugin[1])

View File

@ -150,20 +150,24 @@ fu! s:parser(args)
endf
function! zvim#plug#add(repo,...) abort
let g:spacevim_plugin_name = ''
if g:spacevim_plugin_manager == 'neobundle'
exec 'NeoBundle "'.a:repo.'"'.','.join(a:000,',')
let g:spacevim_plugin_name = split(a:repo, '/')[-1]
elseif g:spacevim_plugin_manager == 'dein'
if len(a:000) > 0
call dein#add(a:repo,s:parser(a:000[0]))
else
call dein#add(a:repo)
endif
let g:spacevim_plugin_name = g:dein#name
elseif g:spacevim_plugin_manager == 'vim-plug'
if len(a:000) > 0
exec "Plug '".a:repo."', ".join(a:000,',')
else
exec "Plug '".a:repo."'"
endif
let g:spacevim_plugin_name = split(a:repo, '/')[-1]
endif
let str = get(g:,'spacevim_plugin_layer', 'custom plugin')
let str = '[' . str . ']'

View File

@ -26,7 +26,7 @@ else
silent exec 'language en_US'
else
" in linux-terminal
silent exec 'language en_US.utf8'
silent exec 'lan en_US.utf8'
endif
endif

View File

@ -28,6 +28,7 @@ let g:deoplete#ignore_sources.c = ['omni']
let g:deoplete#ignore_sources.rust = ['omni']
let g:deoplete#ignore_sources.perl = ['omni']
call deoplete#custom#set('go', 'mark', '')
call deoplete#custom#set('go', 'rank', 9999)
call deoplete#custom#set('clang2', 'mark', '')
call deoplete#custom#set('racer', 'mark', '')
if g:spacevim_enable_javacomplete2_py

View File

@ -1,18 +1,26 @@
let s:save_option = {}
function! s:goyo_enter()
silent !tmux set status off
let s:save_option['showmode'] = &showmode
let s:save_option['showcmd'] = &showcmd
let s:save_option['scrolloff'] = &scrolloff
set noshowmode
set noshowcmd
set scrolloff=999
Limelight
if exists(':Limelight') == 2
Limelight
let s:save_option['limelight'] = 1
endif
endfunction
function! s:goyo_leave()
silent !tmux set status on
set showmode
set showcmd
set scrolloff=5
let &showmode = s:save_option['showmode']
let &showcmd = s:save_option['showcmd']
let &scrolloff = s:save_option['scrolloff']
if get(s:save_option,'limelight', 0)
execute 'Limelight!'
endif
endfunction
augroup goyo_map
autocmd! User GoyoEnter nested call <SID>goyo_enter()
autocmd! User GoyoLeave nested call <SID>goyo_leave()
autocmd! User GoyoEnter nested call <SID>goyo_enter()
autocmd! User GoyoLeave nested call <SID>goyo_leave()
augroup END

View File

@ -1,5 +1,6 @@
if isdirectory(expand('~/DotFiles/snippets/'))
let g:neosnippet#snippets_directory = expand('~/DotFiles/snippets/')
let g:neosnippet#snippets_directory = [expand('~/.SpaceVim.d/snippets/'), expand('~/.SpaceVim/snippets/')]
if g:spacevim_force_global_config == 0
call add(g:neosnippet#snippets_directory, getcwd() . '/.Spacevim.d/snippets')
endif
let g:neosnippet#enable_snipmate_compatibility=1
let g:neosnippet#enable_complete_done = 1

View File

@ -1,2 +1,12 @@
let g:tagbar_width=30
let g:tagbar_left = 1
let g:tagbar_type_markdown = {
\ 'ctagstype' : 'markdown',
\ 'kinds' : [
\ 'h:headings',
\ ],
\ 'sort' : 0
\ }

View File

@ -219,6 +219,7 @@ noremap <silent><leader>vf :Unite -auto-preview -no-split grep:%::<C-r><C-w><CR>
""" For searching the word in the cursor in all opened buffer
noremap <silent><leader>va :Unite -auto-preview -no-split grep:$buffers::<C-r><C-w><CR>
nnoremap <silent><Leader>bl :<C-u>Unite -start-insert -buffer-name=buffer buffer<cr>
nnoremap <silent><Leader>ta :<C-u>Unite -start-insert -buffer-name=tag tag<cr>
"" outline
nnoremap <silent><leader>o :<C-u>Unite -buffer-name=outline -start-insert -auto-preview -no-split outline<cr>
"" Line search
@ -228,7 +229,9 @@ nnoremap <silent><leader>y :<C-u>Unite -no-split -buffer-name=yank history/yank<
" search plugin
" :Unite neobundle/search
"for Unite menu{
nnoremap <silent><leader>ug :Unite -silent -start-insert menu:git<CR>
nnoremap <silent><leader>ugg :Unite -silent -start-insert menu:git<CR>
nnoremap <silent><leader>ugf :UniteWithCursorWord file_rec/async<CR>
nnoremap <silent><leader>ugt :UniteWithCursorWord tag<CR>
nnoremap <silent><Leader>ls :Unite -silent -ignorecase -winheight=17 -start-insert menu:MyStarredrepos<CR>
nnoremap <silent><Leader>lm :Unite -silent -ignorecase -winheight=17 -start-insert menu:MpvPlayer<CR>
call zvim#util#loadMusics()

View File

@ -54,6 +54,7 @@ function! s:vimfilerinit()
silent! nunmap <buffer> <Space>
silent! nunmap <buffer> <C-l>
silent! nunmap <buffer> <C-j>
silent! nunmap <buffer> E
silent! nunmap <buffer> gr
silent! nunmap <buffer> gf
silent! nunmap <buffer> -

View File

@ -0,0 +1,9 @@
nmap <Leader><Leader> <Plug>BookmarkToggle
nmap <Leader>i <Plug>BookmarkAnnotate
nmap <Leader>a <Plug>BookmarkShowAll
nmap <Leader>j <Plug>BookmarkNext
nmap <Leader>k <Plug>BookmarkPrev
nmap <Leader>c <Plug>BookmarkClear
nmap <Leader>x <Plug>BookmarkClearAll
nmap <Leader>kk <Plug>BookmarkMoveUp
nmap <Leader>jj <Plug>BookmarkMoveDown

View File

@ -8,13 +8,17 @@ CONTENTS *SpaceVim-contents*
3. Functions............................................|SpaceVim-functions|
4. Layers..................................................|SpaceVim-layers|
1. autocomplete..................................|SpaceVim-autocomplete|
2. colorscheme....................................|SpaceVim-colorscheme|
3. lang#c........................................|SpaceVim-layer-lang-c|
4. lang#go......................................|SpaceVim-layer-lang-go|
5. lang#java..................................|SpaceVim-layer-lang-java|
6. lang#php....................................|SpaceVim-layer-lang-php|
7. lang#rust..................................|SpaceVim-layer-lang-rust|
8. lang#xml....................................|SpaceVim-layer-lang-xml|
2. checkers....................................|SpaceVim-layer-checkers|
3. colorscheme....................................|SpaceVim-colorscheme|
4. lang#c........................................|SpaceVim-layer-lang-c|
5. lang#elixir..............................|SpaceVim-layer-lang-elixir|
6. lang#go......................................|SpaceVim-layer-lang-go|
7. lang#java..................................|SpaceVim-layer-lang-java|
8. lang#php....................................|SpaceVim-layer-lang-php|
9. lang#python..............................|SpaceVim-layer-lang-python|
10. lang#rust.................................|SpaceVim-layer-lang-rust|
11. lang#xml...................................|SpaceVim-layer-lang-xml|
12. shell.........................................|SpaceVim-layer-shell|
5. FAQ........................................................|SpaceVim-faq|
==============================================================================
@ -214,6 +218,14 @@ To disable lint on save:
let g:spacevim_lint_on_save = 0
<
*g:spacevim_enable_vimfiler_welcome*
Enable/Disable Vimfiler in the welcome windows, this will cause vim slow on
startup if there are too many files in current directory. you can disable it
by:
>
let g:spacevim_enable_vimfiler_welcome = 0
<
*g:spacevim_hosts_url*
The host file url. this option is for chinese users who can not use google and
twitter.
@ -258,6 +270,14 @@ see |g:spacevim_enable_ycm|.
SNIPPET
SpaceVim use neosnippet as default snippet engine, and the default snippets is
`Shougo/neosnippet-snippets`. for more information, please read |neosnippet|.
neosnippet support custtom snippets, and the default snippets directory is
`~/.SpaceVim.d/snippets/` and if g:spacevim_force_global_config = 1, SpaceVim
will not append `./.SpaceVim.d/snippets` as default snippets directory.
==============================================================================
CHECKERS *SpaceVim-layer-checkers*
SpaceVim use neomake as default syntax checker.
==============================================================================
COLORSCHEME *SpaceVim-colorscheme*
@ -427,6 +447,15 @@ get completions within conditional preprocessor blocks. The default is 50,
setting it to 0 disables this feature.
==============================================================================
LANG#ELIXIR *SpaceVim-layer-lang-elixir*
INTRO
lang#elixir layer provide code completion,documentation lookup, jump to
definition, mix integration and iex integration for elixir project. SpaceVim
use neomake as default syntax checker which is loaded in
|SpaceVim-layer-checkers|
==============================================================================
LANG#GO *SpaceVim-layer-lang-go*
@ -497,6 +526,16 @@ requirement:
Composer Project
<
==============================================================================
LANG#PYTHON *SpaceVim-layer-lang-python*
To make this layer works well, you should install jedi.
MAPPINGS
>
mode key function
<
==============================================================================
LANG#RUST *SpaceVim-layer-lang-rust*
@ -531,6 +570,12 @@ when edite an xml file, the omni func is `xmlcomplete#CompleteTags`, you can
read the document in `autoload/xmlcomplete.vim` in vim or neovim runtime
directory.
==============================================================================
SHELL *SpaceVim-layer-shell*
SpaceVim use deol.nvim for shell support in neovim, and use vimshell for vim.
for info, read |deol| and |vimshell|.
==============================================================================
FAQ *SpaceVim-faq*

0
filetype.vim Normal file
View File

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB