backup de julho
[h2N7SspZmY.git] / data / pages / vim.txt
bloba6ae33f9aee6ca50eff0612b5fa6b79c30575ffa
1 ====== Vim ======
3 [[wp>Vim]] is an wonderful editor. You have to spent some time to get used to this, but since then you will gain much more in produtivity.
5 ===== How to change vim configuration =====
7 The file ~/.vimrc is read and executed every time you open vim. So if you want that a configuration change (like set number) to be true the next time you open vim, you must append it to the ~/.vimrc. Here is an example code: 
9 <code bash>
10 # append to ~/.vimrc
11 $ echo 'set number' >> ~/.vimrc
12 </code>
14 ===== Useful Vim Configurations =====
16 Download my [[http://www.inf.ufrgs.br/~kssilveira/.vimrc|.vimrc]] file and do the following:
18 <code bash>
19 # append to ~/.vimrc
20 $ echo ':source path/to/my/vimrc/file/on/your/pc' >> ~/.vimrc
21 </code>
23 This loads my .vimrc file everytime you open Vim.
25 These are the extra configurations I use:
27 <file vim .vimrc>
28 " show line numbers
29 set number 
30 " incremental search
31 set incsearch
32 " auto indentation
33 set autoindent
34 " tab size
35 set tabstop=2
36 " indentation size (used on auto indentation)
37 set shiftwidth=2
38 " smart indentation (indent beginning of blocks (e.g. '{') and unnindent ending of blocks (e.g. '}'))
39 set smartindent
40 " save with Ctrl+S
41         map! <C-s> <Esc>:w<CR>
42         map  <C-s> <Esc>:w<CR>
43 " call make with F9
44         map! <F9> <Esc>:make<CR><CR>
45         map  <F9> <Esc>:make<CR><CR>
46 " auto save files
47 set autowrite
48 set autowriteall
49 " abreviations
50         iab #i #include
51         iab #d #define
52 " reload file automatically when it changes
53 set autoread
54 " call make -B with F8
55         map! <F8> <Esc>:make -B<CR><CR>
56         map  <F8> <Esc>:make -B<CR><CR>
57 </file>
59 If the save with Ctrl+S isn't working, maybe you have to change your bash configuration (see [[Bash]]).
61 ===== Commands =====
63 [[vim::commands|Vim Commands]]
65 ===== Edit-Compile-Execute Cycle =====
66 ^ Session  ^^
67 | :mks(ession) | create a session file |
68 | vim -S | load a session file |
69 ^ Make  ^^
70 | :mak(e) | run make |
71 | :cl(ist) | show make output |
72 | :cope(n) | open a window with make output |
73 | :cn(ext) | go to next error |
74 | :cp(revious) | go to previous error |
75 | :cc | go to current error |
76 | :ccl(ose) | close the window with make output |
77 ^ Motion  ^^
78 | Ctrl+O | go to previous edition |
79 | Ctrl+I | go to next edition |
81 {{tag>programming}}