Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of github.com:exdev/exvim
- Loading branch information
Showing
7 changed files
with
238 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
# Site | ||
|
||
+ exVim Official Page: http://www.ex-dev.com/exvim | ||
+ exVim Documentation: http://www.ex-dev.com/exvim/wiki | ||
+ exVim Source Code: https://github.com/exdev/exvim | ||
+ exVim in Vim Script: http://www.vim.org/scripts/script.php?script_id=2627 | ||
+ exVim in Google Code (for Download only): http://code.google.com/p/exvim | ||
|
||
## Introduction | ||
|
||
### What is exVim ? | ||
|
||
exVim is a package intgerate ex-vim-plugins, 3rd-vim-plugins and external-tools for developing. | ||
By solving the complex communication problem among plugins, external tools, the exVim make | ||
the vim as an IDE like environment all in vimscript. | ||
|
||
### What can exVim do ? | ||
|
||
With exVim you can: | ||
|
||
+ use one single file ``your_project.vimentry`` to access your project. | ||
+ update tags, IDs and other things you used in your project in one command. | ||
+ browse project files in project window. | ||
+ search files, tags, and words in source code by the builtin method. | ||
+ a powful way to filter search result. | ||
+ trace your code by jump stack. | ||
+ reading code easily by word highlight and macro highlight. | ||
+ view classes hierarchy pictures. | ||
+ compile project in vc/gcc and get error results from them directly through vim. | ||
+ enhanced quick-fix window. | ||
+ communicate with visual studio --- get build errors, open files, add break point and send command make vs.net compiling current file. | ||
|
||
### Usage | ||
|
||
The exVim use ``your_project.vimentry`` file as the entry of a project. When you put this | ||
file in the root directory of the project, and open it by vim, ex-vim-plugins will awared | ||
and do the rest of the work to help you generate tags, symbols, IDs and other things | ||
could be used in your project. | ||
|
||
When edit a project, exVim provides several method to help you locate the code, get global | ||
seach results, also an easy and powerful way to filter the search result! | ||
|
||
### Compatible | ||
|
||
exVim is compatible with your original vim. The exVim is nothing but several vim-plugins, | ||
there are not too much reasons make it unable to work in your vim. | ||
|
||
### Small, Fast and Stable | ||
|
||
The principle for solving problem in exVim are: | ||
|
||
+ try to interact with user dynamically. | ||
+ if the dynamic interactive sufferred performance issue, go for static method. | ||
+ try the best to fulfill a demand in vimscript. | ||
+ if it can't, try the best to fulfill the demand by external tools. | ||
+ if it still can't, try the best to preprocess the result and return to rule No.1 | ||
|
||
exVim is designed to follow this principle which make it small, fast and stable. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
rm -rf ./vimfiles/ | ||
cp -r ~/.vim/ ./vimfiles/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
" folding for Markdown headers, both styles (atx- and setex-) | ||
" http://daringfireball.net/projects/markdown/syntax#header | ||
" | ||
" this code can be placed in file | ||
" $HOME/.vim/after/ftplugin/markdown.vim | ||
" | ||
" original version from Steve Losh's gist: https://gist.github.com/1038710 | ||
|
||
func! Foldexpr_markdown(lnum) | ||
if (a:lnum == 1) | ||
let l0 = '' | ||
else | ||
let l0 = getline(a:lnum-1) | ||
endif | ||
|
||
let l1 = getline(a:lnum) | ||
|
||
let l2 = getline(a:lnum+1) | ||
|
||
if l2 =~ '^==\+\s*' | ||
" next line is underlined (level 1) | ||
return '>1' | ||
elseif l2 =~ '^--\+\s*' | ||
" next line is underlined (level 2) | ||
return '>2' | ||
elseif l1 =~ '^#' | ||
" don't include the section title in the fold | ||
return '-1' | ||
elseif l0 =~ '^#' | ||
" current line starts with hashes | ||
return '>'.matchend(l0, '^#\+') | ||
else | ||
" keep previous foldlevel | ||
return '=' | ||
endif | ||
endfunc | ||
|
||
|
||
if !exists("g:vim_markdown_folding_disabled") | ||
setlocal foldexpr=Foldexpr_markdown(v:lnum) | ||
setlocal foldmethod=expr | ||
|
||
"---------- everything after this is optional ----------------------- | ||
" change the following fold options to your liking | ||
" see ':help fold-options' for more | ||
" setlocal foldenable | ||
" setlocal foldlevel=0 | ||
" setlocal foldcolumn=0 | ||
" set foldmethod=expr | ||
" set foldopen-=search | ||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
" markdown filetype file | ||
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=mkd | ||
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} set filetype=mkd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
" Vim syntax file | ||
" Language: Markdown | ||
" Maintainer: Ben Williams <benw@plasticboy.com> | ||
" URL: http://plasticboy.com/markdown-vim-mode/ | ||
" Version: 9 | ||
" Last Change: 2009 May 18 | ||
" Remark: Uses HTML syntax file | ||
" Remark: I don't do anything with angle brackets (<>) because that would too easily | ||
" easily conflict with HTML syntax | ||
" TODO: Handle stuff contained within stuff (e.g. headings within blockquotes) | ||
|
||
|
||
" Read the HTML syntax to start with | ||
if version < 600 | ||
so <sfile>:p:h/html.vim | ||
else | ||
runtime! syntax/html.vim | ||
unlet b:current_syntax | ||
endif | ||
|
||
if version < 600 | ||
syntax clear | ||
elseif exists("b:current_syntax") | ||
finish | ||
endif | ||
|
||
" don't use standard HiLink, it will not work with included syntax files | ||
if version < 508 | ||
command! -nargs=+ HtmlHiLink hi link <args> | ||
else | ||
command! -nargs=+ HtmlHiLink hi def link <args> | ||
endif | ||
|
||
syn spell toplevel | ||
syn case ignore | ||
syn sync linebreaks=1 | ||
|
||
"additions to HTML groups | ||
syn region htmlItalic start="\\\@<!\*\S\@=" end="\S\@<=\\\@<!\*" keepend oneline | ||
syn region htmlItalic start="\(^\|\s\)\@<=_\|\\\@<!_\([^_]\+\s\)\@=" end="\S\@<=_\|_\S\@=" keepend oneline | ||
syn region htmlBold start="\S\@<=\*\*\|\*\*\S\@=" end="\S\@<=\*\*\|\*\*\S\@=" keepend oneline | ||
syn region htmlBold start="\S\@<=__\|__\S\@=" end="\S\@<=__\|__\S\@=" keepend oneline | ||
syn region htmlBoldItalic start="\S\@<=\*\*\*\|\*\*\*\S\@=" end="\S\@<=\*\*\*\|\*\*\*\S\@=" keepend oneline | ||
syn region htmlBoldItalic start="\S\@<=___\|___\S\@=" end="\S\@<=___\|___\S\@=" keepend oneline | ||
|
||
" [link](URL) | [link][id] | [link][] | ||
syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]" | ||
syn region mkdID matchgroup=mkdDelimiter start="\[" end="\]" contained oneline | ||
syn region mkdURL matchgroup=mkdDelimiter start="(" end=")" contained oneline | ||
syn region mkdLink matchgroup=mkdDelimiter start="\\\@<!\[" end="\]\ze\s*[[(]" contains=@Spell nextgroup=mkdURL,mkdID skipwhite oneline | ||
" mkd inline links: protocol optional user:pass@ sub/domain .com, .co.uk, etc optional port path/querystring/hash fragment | ||
" ------------ _____________________ --------------------------- ________________________ ----------------- __ | ||
syntax match mkdInlineURL /https\?:\/\/\(\w\+\(:\w\+\)\?@\)\?\([A-Za-z][-_0-9A-Za-z]*\.\)\{1,}\(\w\{2,}\.\?\)\{1,}\(:[0-9]\{1,5}\)\?\S*/ | ||
|
||
" Link definitions: [id]: URL (Optional Title) | ||
" TODO handle automatic links without colliding with htmlTag (<URL>) | ||
syn region mkdLinkDef matchgroup=mkdDelimiter start="^ \{,3}\zs\[" end="]:" oneline nextgroup=mkdLinkDefTarget skipwhite | ||
syn region mkdLinkDefTarget start="<\?\zs\S" excludenl end="\ze[>[:space:]\n]" contained nextgroup=mkdLinkTitle,mkdLinkDef skipwhite skipnl oneline | ||
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+"+ end=+"+ contained | ||
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained | ||
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained | ||
|
||
"define Markdown groups | ||
syn match mkdLineContinue ".$" contained | ||
syn match mkdLineBreak / \+$/ | ||
syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineBreak,mkdLineContinue,@Spell | ||
syn region mkdCode start=/\(\([^\\]\|^\)\\\)\@<!`/ end=/\(\([^\\]\|^\)\\\)\@<!`/ | ||
syn region mkdCode start=/\s*``[^`]*/ end=/[^`]*``\s*/ | ||
syn region mkdCode start=/^```\s*\w*\s*$/ end=/^```\s*$/ | ||
syn region mkdCode start="<pre[^>]*>" end="</pre>" | ||
syn region mkdCode start="<code[^>]*>" end="</code>" | ||
syn region mkdFootnote start="\[^" end="\]" | ||
syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ | ||
syn match mkdListItem "^\s*[-*+]\s\+" | ||
syn match mkdListItem "^\s*\d\+\.\s\+" | ||
syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*$/ | ||
syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-$/ | ||
syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_$/ | ||
syn match mkdRule /^\s*-\{3,}$/ | ||
syn match mkdRule /^\s*\*\{3,5}$/ | ||
|
||
" jwu ADD { | ||
syn region mkdFrontMatter start=/\%^---$/ end=/^---$/ | ||
syn match mkdFrontMatter /\%^---\_.\{-}---$/ contains=@Spell | ||
" } jwu ADD end | ||
|
||
"HTML headings | ||
syn region htmlH1 start="^\s*#" end="\($\|#\+\)" contains=@Spell | ||
syn region htmlH2 start="^\s*##" end="\($\|#\+\)" contains=@Spell | ||
syn region htmlH3 start="^\s*###" end="\($\|#\+\)" contains=@Spell | ||
syn region htmlH4 start="^\s*####" end="\($\|#\+\)" contains=@Spell | ||
syn region htmlH5 start="^\s*#####" end="\($\|#\+\)" contains=@Spell | ||
syn region htmlH6 start="^\s*######" end="\($\|#\+\)" contains=@Spell | ||
syn match htmlH1 /^.\+\n=\+$/ contains=@Spell | ||
syn match htmlH2 /^.\+\n-\+$/ contains=@Spell | ||
|
||
"highlighting for Markdown groups | ||
HtmlHiLink mkdString String | ||
HtmlHiLink mkdCode String | ||
HtmlHiLink mkdFootnote Comment | ||
HtmlHiLink mkdBlockquote Comment | ||
HtmlHiLink mkdLineContinue Comment | ||
HtmlHiLink mkdListItem Identifier | ||
" jwu ADD { | ||
HtmlHiLink mkdFrontMatter Comment | ||
" } jwu ADD end | ||
HtmlHiLink mkdRule Identifier | ||
HtmlHiLink mkdLineBreak Todo | ||
HtmlHiLink mkdFootnotes htmlLink | ||
HtmlHiLink mkdLink htmlLink | ||
HtmlHiLink mkdURL htmlString | ||
HtmlHiLink mkdInlineURL htmlLink | ||
HtmlHiLink mkdID Identifier | ||
HtmlHiLink mkdLinkDef mkdID | ||
HtmlHiLink mkdLinkDefTarget mkdURL | ||
HtmlHiLink mkdLinkTitle htmlString | ||
|
||
HtmlHiLink mkdDelimiter Delimiter | ||
|
||
let b:current_syntax = "mkd" | ||
|
||
delcommand HtmlHiLink | ||
" vim: ts=8 |