Giter VIP home page Giter VIP logo

vimsheet's Introduction

A Great Vim Cheatsheet

This is a two page website that has index.html and advanced.html. The two are created from markdown files in index.md and advanced.md.

Pull requests are welcome!

Design from white-paper.

Running locally

  • Install rubygems
  • gem install bundler
  • bundle install
  • bundle exec jekyll serve

vimsheet's People

Contributors

b- avatar burnhamg avatar danielglazebrook avatar diegoholiveira avatar mpitblado avatar nreilingh avatar petermortensen avatar theicfire avatar vincebanzon avatar vinitkumar 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

vimsheet's Issues

Indenting in vim

The claim made on the website, that "indenting multiple lines" is a missing feature for vim is actually untrue, even for the old vi:

You correctly say that > is indent and < is unindent.

Now those operators can be combined with a motion, for example the infamous h, j, k or l for left, up, down or right respectively, which means that "indenting the next three lines" becomes:

v3j>

Which translates to :

  • v "visual mode" (select stuff)
  • 3 "repeat" the next thing "3 times"
  • j "move one line down" (which is being repeated 3 times)
  • > "indent"
    So the whole translated "sentence" (it is a very reasonable way to think of those "chains" of commands as sentences, you can even construct a complete formal language for them) would be this:
visually select 3 lines down, indent that

Another example would be to indent everything inside a certain block delimited by a curly bracket (for example useful in programming), or indent one paragraph. That would look like this:

vi}>

Which translates to

  • v again, "visual mode" (select something)
  • i "inside" (this is a modifier for addressing a text object. A bit more on that in the next bullet point.)
  • } the delimiter for the "inside" from before. This means, that the text object we want to interact with is everything inside the nearest curly brackets.
  • > "indent" again
visually select everything inside the nearest curly brackets, indent that

This is actually the biggest difference in design philosophy of vi/vim and virtually every other editor, and also what makes it such a great tool for increasing productivity: You can quite literally speak with vim in some sort of "sentences" to tell it what to do. Combined with the extensibility of newer versions, this creates virtually endless options to chain these commands together.

Reference to 'tabs' in Other section is incorrect

The Other section includes:

  • :qa - Quit all open tabs (thanks Vince Banzon)
  • :wa - Write all open tabs (thanks Vince Banzon)
  • :wqa - Write and quit all open tabs (thanks Brian Zick)

However that's inaccurate. All of these act on buffers, not tabs; tabs are not the same as buffers in Vim, :help tabpage.

some typos in the webpage

image

##General failed to display correctly, you can modify the markdown file in your repo.
you've just forgotten to add a space
just

General

Farsi/Persian Translation

Hello Dear @theicfire ,
I hope everything is going well with you,
If you have a plan to make a multilanguage vimsheet, please let me know to make this part
Thanks

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.