set nocompatible "This fixes the problem where arrow keys do not function properly on some systems. syntax on "Enables syntax highlighting for programming languages "set mouse=a "Allows you to click around the text editor with your mouse to move the cursor set showmatch "Highlights matching brackets in programming languages set autoindent "If you're indented, new lines will also be indented set cindent "Automatically indents lines after opening a bracket in programming languages set smartindent set backspace=2 "This makes the backspace key function like it does in other programs. set tabstop=8 "How much space Vim gives to a tab set number "Enables line numbering set smarttab "Improves tabbing set expandtab "Expand tabs into spaces" set shiftwidth=4 "Assists code formatting colorscheme delek "Changes the color scheme. Change this to your liking. Lookin /usr/share/vim/vim61/colors/ for options. "setlocal spell "Enables spell checking (CURRENTLY DISABLED because it's kinda annoying). Make sure to uncomment the next line if you use this. "set spellfile=~/.vimwords.add "The location of the spellcheck dictionary. Uncomment this line if you uncomment the previous line. "set foldmethod=manual "Lets you hide sections of code "--- The following commands make the navigation keys work like standard editors imap <silent> <Down> <C-o>gj imap <silent> <Up> <C-o>gk nmap <silent> <Down> gj nmap <silent> <Up> gk "--- Ends navigation commands "--- The following adds a sweet menu, press F4 to use it. source $VIMRUNTIME/menu.vim set wildmenu set cpo-=< set wcm=<C-Z> map <F4> :emenu <C-Z> "--- End sweet menu "show current filename set modeline set ls=2 " Searches in bold yellow hi Search ctermfg=Yellow ctermbg=NONE cterm=bold " make tab in v mode indent code vmap <tab> >gv vmap <s-tab> <gv " make tab in normal mode indent code nmap <tab> I<tab><esc> nmap <s-tab> ^i<bs><esc> " paste mode - this will avoid unexpected effects when you " cut or copy some text from one window and paste it in Vim. set pastetoggle=<F11> " comment/uncomment blocks of code (in vmode) vmap _c :s/^/#/gi<Enter> vmap _C :s/^#//gi<Enter> " Tidy selected lines (or entire file) with _t: nnoremap <silent> _t :%!perltidy -q<Enter> vnoremap <silent> _t :!perltidy -q<Enter> " Deparse obfuscated code nnoremap <silent> _d :.!perl -MO=Deparse 2>/dev/null<cr> vnoremap <silent> _d :!perl -MO=Deparse 2>/dev/null<cr>
Showing posts with label vi. Show all posts
Showing posts with label vi. Show all posts
2.14.2014
My .vimrc
This is the .vimrc I'm using now. I got from here. Stick this on your home directory.
9.19.2013
Vi Text Editor My Frequently Used Commands
h move cursor one character to left
j move cursor one line down
k move cursor one line up
l move cursor one character to right
w move cursor one word to right
b move cursor one word to left
0 move cursor to beginning of line
$ move cursor to end of line
nG move cursor to line n
1G move cursor to 1st line
G move cursor to last line
control-f scroll forward one screen
control-b scroll backward one screen
gx jump to method definition
zi switch folding on or off
za toggle current fold open/closed
zc close current fold
zR open all folds
zM close all folds
zv expand folds to reveal cursor
i insert to left of current cursor position (end with ESC)
a append to right of current cursor position (end with ESC)
dw delete current word (end with ESC)
cw change current word (end with ESC)
r change current character
~ change case (upper-, lower-) of current character
dd delete current line
D delete portion of current line to right of the cursor
x delete current character
dgg delete current line to the top of the file
jdG delete all lines below current line
ma mark currrent position
d`a delete everything from the marked position to here
`a go back to the marked position
p dump out at current place your last deletion (``paste'')
u undo the last command
. repeat the last command
J combine (``join'') next line with this one
:w write file to disk, stay in vi
:q! quit VI, do not write file to disk,
ZZ write file to disk, quit vi
:r filename read in a copy of the specified file to the current
buffer
/string search forward for string (end with Enter)
?string search backward for string (end with Enter)
n repeat the last search (``next search'')
N repeat the last search backward
/\cstring case insensitive prepend with \c
:s/s1/s2 replace (``substitute'') (the first) s1 in this line by s2
:lr/s/s1/s2/g replace all instances of s1 in the line range lr by s2
(lr is of form 'a,b', where a and b are either explicit
line numbers, or . (current line) or $ (last line)
:map k s map the key k to a string of vi commands s (see below)
:abb s1 s2 expand the string s1 in append/insert mode to a string
s2 (see below)
% go to the "mate," if one exists, of this parenthesis
or brace or bracket (very useful for programmers!)
:%s/foo/bar/g replace every 'foo' with a 'bar'
:!command execute a command from vi
:%!perltidy format perl code using perltidy from within vi
:%!perltidy -l=0 ignore line length
:noh remove search highlighting
:sp to split window horizontally
:vsp to split window vertically
<ctrl-w>h|j|k|l to navigate between split windows
<ctrl-w>q to quit split window
Comment/Uncomment:
Press Ctrl+V and go down until the last commented line and press x, that will delete all the # characters vertically.
For commenting a block of text is almost the same: First, go to the first line you want to comment, press Ctrl+V, and select until the last line. Second, press Shift+I, then #, then Esc.
Indent several lines at once:
Press Ctrl+V and go down until the last line to be indented, press Shift+>
Cut/Copy and Paste:
Position the cursor where you want to begin cutting.
Press v (or upper case V if you want to cut whole lines).
Move the cursor to the end of what you want to cut.
Press d to cut or y to copy.
Move to where you would like to paste.
Press P to paste before the cursor, or p to paste after.
Copy and paste can be performed with the same steps, only pressing y instead of d in step 4.
The name of the mark used is related to the operation (d:delete or y:yank).
Subscribe to:
Posts (Atom)