Code Monkey home page Code Monkey logo

vim-pro's Introduction

vimpro

Vim plug-in for easy navigation of software projects.

Author: Albin Olsson

For details, please refer to the documentation.

Design Goals

The purpose of this plug-in is NOT to add any new kinds of windows to Vim and it never will be. The purpose is rather to add the concept of a software project and integrate it as tightly as possible with the way Vim already works. It automates tag generation and adds a few new commands. The rest is up to the user.

Sample Use

  1. In the root of your project directory tree, create a new project file

    :Pcreate vimproject
    
  2. Add your files to the project, for a C project it might be done like this:

    :Padd **/*.c **/*.h
    

    To add the current file:

    :Padd %
    

    To automatically add new C files when they are saved:

    :autocmd BufWritePost *.c Padd %
    
  3. vimpro will automatically generate a tags file and keep it updated. It will add the tags file to your tags option, but it will not remove anything already present. This way you can still use multiple tag files.

  4. The :Pe command works just like :e, but it gives you a lot better tab-completion. The completion is very similar to :b, but it is not based on open buffers but on the files in the project.

  5. The :Pgrep command works just like :vimgrep, but it takes no filenames argument, instead the grep is performed in all project files.

  6. Use :Pset ts=4 sts=4 sw=4 et to set the indention settings for all files in the project. vimpro will remember this. It can be overridden with modelines.

  7. The next time you start Vim you have to load your project.

    :Pload {file}
    

    If you use sessions, the project will be part of your session as long as it is loaded when you run mksession. Loading the session will automatically load the project.

vim-pro's People

Contributors

alols avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

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.