Coder Social home page Coder Social logo

main's Introduction

exVim Logo

Documentation | Downloads | Plugins | Installation | Getting Start | Known Issues | Community

Intro

exVim is a project to turn Vim into a nice programming environment. exVim introduce the project file concept (.exvim) in Vim. By editing this project file (.exvim) through Vim, the exVim plugins will be invoked. In this way, it makes you possible to apply different Vim settings, plugin settings and even loading plugins on demand by different projects. In general, it makes Vim become the best IDE in the world!

EVEN COOLER IS --- WE USE EXVIM TO DEVELOP EXVIM! (\(-_-)/)

Features

  • Manage your project with a .exvim setting file.
  • Update your project files with a single command. (tags, cscope-db, search-index, makefile, ...)
  • Project files are stored in one place (in the folder ./.exvim.your_project_name/ under your project).
  • Load Vim plugins on demand for different projects based on your .exvim settings.
  • Better management of plugin windows in Vim. (avoid getting multiple plugin windows messed up)
  • Browse and work on your project files and folders in the project window.
  • Class, variable, and function tag jumping.
  • Global search in project scope.
  • Global search engine customization (user can choose grep, idutils, or even his own)
  • A powerful way to filter your global search results.
  • Generate class hierarchy pictures.
  • Enhanced quick-fix window.
  • Popular Vim plugin integrated.

How does it work?

By editing and saving your project settings in a your_project_name.exvim file and opening it with Vim, the exVim plugins will be loaded. exVim will parse the your_project_name.exvim file and apply the settings for your project after Vim has started.

The settings include:

  • The window layout of your Vim. (Where to open the plugin window, initial opened window, last used layout...)
  • File and Folder filter.
  • Plugins you wish to use in the project.
  • Plugin settings for the project.
  • External tools. Such as grep, idutils, ctags, cscope....
  • External tools settings for the project.
  • Your extension settings.
  • ...

exVim also makes sure project files are stored in one place (in the folder ./.exvim.your_project_name/ under your project). This makes your project clean and much better to work with external tools. These project files can be:

  • global search index and results (idutils)
  • tags
  • cscope files
  • hierarchy graph pictures
  • error messages
  • temporary files
  • ...

After Vim has loaded your_project_name.exvim and started, exVim helps you update your project files so you can use your favorite plugins with these files.

How does it integrate Vim plugins?

exVim aims to implement as many functions and features as possible in pure Vim language. We try to avoid re-inventing the wheel. As a result, we carefully select and integrate popular Vim plugins
for some of the tasks. For those features that are lacking or for those we think we can do it better, we develop ourselves. They are put in exVim organization on GitHub.

Here are the standards we use for patches and development for Vim plugins:

  • Developed in pure Vim language
  • Follow the unix philosophy: do one thing well
  • Minimal dependencies
  • High quality code and good performance
  • Highly active community
  • Can be installed with a variety of plugin managers, Vundle or pathogen. (Repo in GitHub, standard runtime path structure)

Read the Plugins page for details of the plugins in exVim.

About exVim organization and this repository

The exVim is an organization in Github. The repositories under exVim are the plugins used in exVim project. They follow the standard Vim plugin structures so that people can install them on demand.

The exvim/main is the repository for managing the plugins, external tools, and custom scripts. It is the main entry point for the exVim project.

The repository contains:

  • An essential .vimrc settings for exVim.
  • Configuration files for external tools.
  • Templates for vim-plugins and external tools.
  • exVim develop environment.

Community

  • [Chinese] QQ群: 319248144
  • [English] Comming Soon...

main's People

Contributors

cpiger avatar freedomben avatar iltempo avatar jianrong-yu avatar jwu avatar kopwei avatar lendyzhang avatar nephen avatar yujianrong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

main's Issues

Write doc about how to install colorschemes

Here is a question from new exvim user

First glance for brand new exvim (preview environment) is like refreshing breeze :).

I have first issue about colorschem. Till now I use  two2tango colorscheme.
With old exvim instaled by put it in
~/.vim/colors/two2tango.vim
and 
.vimrc
    silent exec "colorscheme two2tango"

I notice that actual default colorschem solarized is split i several solarized.vim scripts placed 
in several place 
./vimfiles/bundle/ex-config/after/colors/solarized.vim
./vimfiles/bundle/vim-airline/autoload/airline/themes/solarized.vim
./vimfiles/bundle/vim-colors-solarized/colors/solarized.vim
My question is how to properly install my colorschem to new exvim.

I should write a document in teach people how to do this.

:GSW is missing in the new exVim

I found the useful command :GSW is missing in the new exvim, it's defined in the exGlobalSearch.vim in old version:

command -nargs=1 -complete=customlist,exUtility#CompleteBySymbolFile GSW call s:exGS_GetGlobalSearchResult('<args>', '-w', 0)

Terminal vim solarized color scheme is black and white.

I'm using old exvim on same terminal emulator(GNOME Terminal) with the following settings:

let g:solarized_termcolors=256
set background=dark
colorscheme solarized

and it works fine. But solarized color in new exvim is broken for me for some reason.

Can not run exVim in Vim 7.3

在 Vim 7.3 中运行会出现以下错误:

Error detected while processing function <SNR>101_init_vimentry..vimentry#apply..exconfig#apply..exproject#open..
exproject#open_window..ex#window#open..ex#window#new:
line 56:
E117: Unknow function: s:init_buffer
Press Enter or type command to continue

这个错误应该是因为 Vim 7.3 版本不支持 function('s:init_buffer') 这种书写格式。我目前手头上没有 Vim 7.3 的测试环境,所以无法及时更正这个错误。

@YuJianrong 如果有时间,不知道能否帮忙测试一下 7.3 下,修改以下地方:

将 ex-project/autoload/exproject.vim 中的

function s:init_buffer() 

改为

function exproject#init_buffer() 

然后在 exproject#open_window() 里的代码调用处同样将 's:init_buffer' 改为 'exproject#init_buffer'

如果这样调用可行,那么我来进行其他部分插件的初始化修改行为。

Working with XCode

Here has a nice document: http://www.kunli.info/2010/09/19/xcode-vim-integration/

update the :make command to tell Xcode to build
set makeprg=osascript\ -e\ \”tell\ application\ \\\”Xcode\\\”\”\ -e\ \”build\”\ -e\ \”end\ tell\”

function! XcodeClean()
silent execute ‘:!osascript -e “tell application \”Xcode\”" -e “Clean” -e “end tell”‘
endfunction
command! -complete=command XcodeClean call XcodeClean()

function! XcodeDebug()
silent execute!osascript -e “tell application \”Xcode\”" -e “Debug” -e “end tell”‘
endfunction
command! -complete=command XcodeDebug call XcodeDebug()

” Command-K cleans the project
:noremap :XcodeClean
” Command-Return Starts the program in the debugger
:noremap :XcodeDebug

Switch NERDTree and exProject by <c-h>,<c-j>

This is not a simple switch.

I also need to setup \fc, and <a-s-o> to the switched plugin.

I also need to find a way to make NERDTree detect this changes in his way. Looks like NERDTree support customise mapping. Cool!

Getting start document

People should understand at least

  • :Up[date] command
  • Project Window build
  • Global Search
  • Symbol Select

implement ex-quickfix plugin

Though we have syntasic and its great :Erros command. Sometimes we still need open error from file. And ex-quickfix enhance the local list in Vim.

ex-quickfix allow you copy file and directly put it in the ex-quickfix window to get local list. That's why we still need it.

Error message is thrown when :Update and excluded folder is missing

I had added the following setting in .exvim file:

folder_filter_mode = exclude -- { include, exclude }
folder_filter += node_modules

But the folder "node_modules" is not exist, when I run :update, I get the error message:

mkid: can't stat `node_modules' from `C:\E\Projects\gitAnywhere\anw-ui': No such file or directory

Seems the filter does not working properly?

Special Key mapping on edit window does not displayed in help of ex-plugin window

For plugin ex-project, there is a key mapping used in edit window: cf to locate the editing file in ex-project window.
But when I press in ex-project window, I cannot find the information of the key mapping, only the key mapping in ex-project window is shown.

I think it will be better if the keymapping in editing window is shown in the online help of the ex-plugin window.

gvim_dev for Window and Linux

Please reference mvim_dev.sh and help me create a gvim_dev batch file and test it in Window.

The gvim_dev is for the purpose to help developers easily develop exVim and test it under current Vim environment.

the gvim_dev should accept one parameter which is the .vimentry file so that it can start the exVim.

Example:

gvim_dev d:/foo/bar/foobar.vimentry

Document from gtalk content

There are valuable contents in our chat. Can become document for public. I list some of the things I remember and missed in current document:

  • Usage of g:exvim_custom_path, how can we use it in non-standard install of Vim.
  • How to introduce a new plugin to exVim organization. (Especially those unmaintains in vim-scripts, but we want to pick it up and modified by our own purpose.)
  • About folder_filter_root_only
  • When should I increase .exvim version number? (This should put in document - developer manual section)
  • usage of plugin_xxx#register_hotkey
  • and more...

When close a edit buffer window (split), and call ex#window#goto_edit_buf, it will open a new window.

This usually happen when you split a window, close it and open a plugin window.

The way to reproduce it:

Use :split for two edit window, and use :close or :q close one. If you print the debug info by

call ex#window#debug()

You will see the last_edit_buf become empty. (That's true), but that will lead to the problem when you call goto_edit_buf, it will not recognize current edit window but split a new one.

Customise .vimrc

Customise .vimrc by .vimrc.local and .vimrc.plugins.local

Also include this code:

au! ex_gui_font " remove old set guifont event
set guifont=Consolas:h8:cANSI " set your font

au VimEnter * exec 'AirlineToggle' " close vim-airline plugin

mvim: command not found

Hi, I want to try exVim. Having followed the install instrument, I run

git clone https://github.com/exvim/main
cd main/
sh osx/install.sh

After installing successfully, I found

Ray:main ray$ sh osx/mvim.sh 
osx/mvim.sh: line 6: mvim: command not found

And I wonder why? How can I fix it?

I've tried restart my PC to make sure my $PATH is updated. I also tried to put the osx folder into PATH. But it didn't work.

I'm using Macbook Air OS X 10.9.

Thanks!

write ex-vimentry.txt documents

Document content:

  • introduce vimentry
  • vimentry file syntax (comments, usage of +=, = and , )
  • how vimentry loaded and how it parse settings to variables
  • how to register vimentry events vimentry#on
  • how to trigger project_type settings

ex-symbol update commands

Port the symbol update commands from older exvim version to here. Needs support both bash and batch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.