Vim: a Great Tool for Your Toolbox! History

Vim: a Great Tool for Your Toolbox! History

Vim: A great tool for your toolbox! History I Originally created for the Unix operating system by Bill Joy (one of the founders of Sun) I Created a visual interface for the original ex line editor on UNIX I The name vi is derived from the shortest unambiguous abbreviation for the command visual in ex I The Single UNIX Specification specifies vi, so every conforming system must have it. I vi is not open source but there are several clones with the most popular being Vim Vim I Vim is a clone of vi created by Bram Moolenaar and was first released in 1991 I Vim stands forViIMproved I Vim is not 100% compatible with vi as defined in the Single Unix Specification I Vim has many improvements over standard vi I Vim has a built-in tutorial for beginners (accessible through the vimtutor command) I Vim has 6 modes, 4 of which you will spend 99% of your time in. Vim Modes I Normal mode - For navigation and manipulation of text. This is the mode that vim will usually start in, which you can usually get back to with ESC. I Insert mode - For inserting new text. The main difference from vi is that many important "normal" commands are also available in insert mode - provided you have a keyboard with enough meta keys (such as Ctrl, Alt, Windows-key, etc.). I Visual mode -For navigation and manipulation of text selections, this mode allows you to perform most normal commands, and a few extra commands, on selected text. Vim Modes - continued I Select mode - Similar to visual but with a more MS-Window like behavior. I Command-line mode - For entering editor commands - I Try :help I Try :Ni! I Ex-mode - Similar to the command-line mode but optimized for batch processing. Using Vim I When using Vim the goal is to keep your hands on the home row I Primarily you will use normal mode, and insert mode when editing text I Visual mode allows you to cut and paste large swaths of text all at once I Command mode allows you to send commands to the editor such as save (:w) or quitting (:q) Learning Vim - basic commands I Saving a file - ESC then :w I Opening a file - ESC then :e <filename> I Quitting - ESC then :q I Save then quit - ESC then :wq I To switch to insert mode hit i. To get back to normal mode hit ESC I Here is good guide to get you started with the basics. http://cs.boisestate.edu/~amit/teaching/handouts/ vi-two-page-ref.html I vimtutor will walk you through all the basic commands. Learning Vim - Regular expressions I Vim has a powerful regular expression engine built in to help you find and edit text. I While in normal mode type /<regex> and Vim will find all the text that matches. I You can also do a complex find and replace with :%s/<regex>/<new text>/cg which can be read as globally (g) find all the text that matches the <regex> and replace it with <new text> and confirm with me (c) before you actually make the change. Customizing Vim I When Vim starts up it looks for a file named .vimrc in your home directory I You can use your .vimrc with any version of Vim I You can customize your .vimrc to add in any plugins or settings that make Vim easier to use. For example changing the font to something easier to read. I Take a look a Shane’s vimrc as a starting point https://github.com/shanep/vim I Vim takes some time to learn but once you have mastered it the payoff is faster editing and coding Customizing Vim - Font example I The font is bad with the default install you can fix it with the following code in your .vimrc I if has("win32") set guifont=Consolas 18 endif if has("unix") if system('uname')=~'Darwin' set guifont=Menlo\ Regular:h18 else set guifont=Inconsolata\ Medium\ 18 endif endif Vim plug-ins I Vim has an extensive set of plug-ins that you can leverage to add additional functionality. Below is a few plug-ins that you may want to try out. I NERDTree - Gives you a buffer view of all the files and directories in your current working directory. (Similar to the project window in eclipse) I TagBar - Gives you a layout off all the functions, methods, classes, and structs of the currently loaded buffer. (Similar to the class view window in eclipse) I SuperTab - Ties the built in omnicomplete to the tab button. (Not as great as code complete in eclipse but better than nothing at all!) GVim and MacVim I There is a GUI version of Vim that is easier to use and more friendly in a graphical environment. You get a tool bar that provides many of the common commands so you don’t have to memorize everything! I You can install this on Fedora Linux with the command: yum install vim-X11 I MacVim is a version of vim that has been customized for Mac I GVim is also available on windows. I You should generally use GVim or MacVim for daily usage. The terminal version is handy if you are working over a slow ssh connection. References I Wikipedia entry on Vi: http://en.wikipedia.org/wiki/Vi I Wikipedia entry on Vim: http://en.wikipedia.org/wiki/Vim_(text_editor) I wikibooks entry on Vim: http://en.wikibooks.org/wiki/ Learning_the_vi_Editor/Vim/Modes I Vim homepage: http://www.vim.org.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us