backup de julho
[h2N7SspZmY.git] / data / pages / vim / vim.txt
blob2cdaee577a1e0a5a1d4b6a5e6bc209679c06aef7
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 See also [[http://www.inf.ufrgs.br/~kssilveira/vim_quick_reference.html|Vim Quick Reference]] \\
8 ===== How to change vim configuration =====
10 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: 
12 <code bash>
13 # append to ~/.vimrc
14 $ echo 'set number' >> ~/.vimrc
15 </code>
17 ===== Useful Vim Configurations =====
19 Download my [[http://www.inf.ufrgs.br/~kssilveira/.vimrc|.vimrc]] file and do the following:
21 <code bash>
22 # append to ~/.vimrc
23 $ echo ':source path/to/my/vimrc/file/on/your/pc' >> ~/.vimrc
24 </code>
26 This loads my .vimrc file everytime you open Vim.
28 These are the extra configurations I use:
30 <file vim .vimrc>
31 " show line numbers
32 set number 
33 " incremental search
34 set incsearch
35 " auto indentation
36 set autoindent
37 " tab size
38 set tabstop=2
39 " indentation size (used on auto indentation)
40 set shiftwidth=2
41 " smart indentation (indent beginning of blocks (e.g. '{') and unnindent ending of blocks (e.g. '}'))
42 set smartindent
43 " save with Ctrl+S
44         map! <C-s> <Esc>:w<CR>
45         map  <C-s> <Esc>:w<CR>
46 " call make with F9
47         map! <F9> <Esc>:make<CR><CR>
48         map  <F9> <Esc>:make<CR><CR>
49 " auto save files
50 set autowrite
51 set autowriteall
52 " abreviations
53         iab #i #include
54         iab #d #define
55 " reload file automatically when it changes
56 set autoread
57 " call make -B with F8
58         map! <F8> <Esc>:make -B<CR><CR>
59         map  <F8> <Esc>:make -B<CR><CR>
60 </file>
62 If the save with Ctrl+S isn't working, maybe you have to change your bash configuration (see [[Main:Bash]]).
64 ===== Commands =====
66 [[vim::commands|Vim Commands]]
68 ===== Edit-Compile-Execute Cycle =====
69 ^ Session  ^^
70 | :mks(ession) | create a session file |
71 | vim -S | load a session file |
72 ^ Make  ^^
73 | :mak(e) | run make |
74 | :cl(ist) | show make output |
75 | :cope(n) | open a window with make output |
76 | :cn(ext) | go to next error |
77 | :cp(revious) | go to previous error |
78 | :cc | go to current error |
79 | :ccl(ose) | close the window with make output |
80 ^ Motion  ^^
81 | Ctrl+O | go to previous edition |
82 | Ctrl+I | go to next edition |
84 ===== How to use visual bell instead of beeping =====
86 <code vim>
87 :set visualbell
88 </code>
90 {{tag>programming}}