maio
[h2N7SspZmY.git] / data / cache / 3 / 3f051197f4b0f0f0f07bbcaea14a005d.xhtml
blobbcf7bc4e95abcfa14d07987f17be37444cb493a7
4 <h1><a name="vim" id="vim">Vim</a></h1>
5 <div class="level1">
7 <p>
9 <a href="http://en.wikipedia.org/wiki/Vim" class="interwiki iw_wp" title="http://en.wikipedia.org/wiki/Vim">Vim</a> 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.
10 </p>
11 <div class="plugin_uparrow">
12 <a href="#" title="Back to top">
13 <img src="lib/plugins/uparrow/images/tango-small.png" alt="Back to top"/>
14 </a>
15 </div>
17 </div>
18 <!-- SECTION "Vim" [1-159] -->
19 <h2><a name="how_to_change_vim_configuration" id="how_to_change_vim_configuration">How to change vim configuration</a></h2>
20 <div class="level2">
22 <p>
24 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:
25 </p>
26 <pre class="code bash"><span class="co0"># append to ~/.vimrc</span>
27 $ <span class="kw3">echo</span> <span class="st_h">'set number'</span> <span class="sy0">&gt;&gt;</span> ~<span class="sy0">/</span>.vimrc</pre>
28 <div class="plugin_uparrow">
29 <a href="#" title="Back to top">
30 <img src="lib/plugins/uparrow/images/tango-small.png" alt="Back to top"/>
31 </a>
32 </div>
34 </div>
35 <!-- SECTION "How to change vim configuration" [160-505] -->
36 <h2><a name="useful_vim_configurations" id="useful_vim_configurations">Useful Vim Configurations</a></h2>
37 <div class="level2">
39 <p>
41 Download my <a href="http://www.inf.ufrgs.br/~kssilveira/.vimrc" class="urlextern" title="http://www.inf.ufrgs.br/~kssilveira/.vimrc" rel="nofollow">.vimrc</a> file and do the following:
42 </p>
43 <pre class="code bash"><span class="co0"># append to ~/.vimrc</span>
44 $ <span class="kw3">echo</span> <span class="st_h">':source path/to/my/vimrc/file/on/your/pc'</span> <span class="sy0">&gt;&gt;</span> ~<span class="sy0">/</span>.vimrc</pre>
46 <p>
47 This loads my .vimrc file everytime you open Vim.
48 </p>
50 <p>
51 These are the extra configurations I use:
52 </p>
53 <dl class="file">
54 <dt><a href="/~kssilveira/site/doku.php?do=export_code&amp;id=vim&amp;codeblock=2" title="Download Snippet" class="mediafile mf_vimrc">.vimrc</a></dt>
55 <dd><pre class="code file vim"><span class="co1">&quot; show line numbers</span>
56 set number
57 <span class="co1">&quot; incremental search</span>
58 set incsearch
59 <span class="co1">&quot; auto indentation</span>
60 set autoindent
61 <span class="co1">&quot; tab size</span>
62 set tabstop=<span class="nu0">2</span>
63 <span class="co1">&quot; indentation size (used on auto indentation)</span>
64 set shiftwidth=<span class="nu0">2</span>
65 <span class="co1">&quot; smart indentation (indent beginning of blocks (e.g. '{') and unnindent ending of blocks (e.g. '}'))</span>
66 set smartindent
67 <span class="co1">&quot; save with Ctrl+S</span>
68 <span class="kw3">map</span><span class="sy0">!</span> <span class="sy0">&lt;</span>C<span class="sy0">-</span>s<span class="sy0">&gt;</span> <span class="sy0">&lt;</span>Esc<span class="sy0">&gt;:</span>w<span class="sy0">&lt;</span>CR<span class="sy0">&gt;</span>
69 <span class="kw3">map</span> <span class="sy0">&lt;</span>C<span class="sy0">-</span>s<span class="sy0">&gt;</span> <span class="sy0">&lt;</span>Esc<span class="sy0">&gt;:</span>w<span class="sy0">&lt;</span>CR<span class="sy0">&gt;</span>
70 <span class="co1">&quot; call make with F9</span>
71 <span class="kw3">map</span><span class="sy0">!</span> <span class="sy0">&lt;</span>F9<span class="sy0">&gt;</span> <span class="sy0">&lt;</span>Esc<span class="sy0">&gt;:</span>make<span class="sy0">&lt;</span>CR<span class="sy0">&gt;&lt;</span>CR<span class="sy0">&gt;</span>
72 <span class="kw3">map</span> <span class="sy0">&lt;</span>F9<span class="sy0">&gt;</span> <span class="sy0">&lt;</span>Esc<span class="sy0">&gt;:</span>make<span class="sy0">&lt;</span>CR<span class="sy0">&gt;&lt;</span>CR<span class="sy0">&gt;</span>
73 <span class="co1">&quot; auto save files</span>
74 set autowrite
75 set autowriteall
76 <span class="co1">&quot; abreviations</span>
77 iab #i #include
78 iab #d #define
79 <span class="co1">&quot; reload file automatically when it changes</span>
80 set autoread
81 <span class="co1">&quot; call make -B with F8</span>
82 <span class="kw3">map</span><span class="sy0">!</span> <span class="sy0">&lt;</span>F8<span class="sy0">&gt;</span> <span class="sy0">&lt;</span>Esc<span class="sy0">&gt;:</span>make <span class="sy0">-</span>B<span class="sy0">&lt;</span>CR<span class="sy0">&gt;&lt;</span>CR<span class="sy0">&gt;</span>
83 <span class="kw3">map</span> <span class="sy0">&lt;</span>F8<span class="sy0">&gt;</span> <span class="sy0">&lt;</span>Esc<span class="sy0">&gt;:</span>make <span class="sy0">-</span>B<span class="sy0">&lt;</span>CR<span class="sy0">&gt;&lt;</span>CR<span class="sy0">&gt;</span></pre>
84 </dd></dl>
86 <p>
87 If the save with Ctrl+S isn&#039;t working, maybe you have to change your bash configuration (see <a href="/~kssilveira/site/doku.php?id=bash" class="wikilink1" title="bash">Bash</a>).
88 </p>
89 <div class="plugin_uparrow">
90 <a href="#" title="Back to top">
91 <img src="lib/plugins/uparrow/images/tango-small.png" alt="Back to top"/>
92 </a>
93 </div>
95 </div>
96 <!-- SECTION "Useful Vim Configurations" [506-1665] -->
97 <h2><a name="commands" id="commands">Commands</a></h2>
98 <div class="level2">
102 <a href="/~kssilveira/site/doku.php?id=vim:commands" class="wikilink1" title="vim:commands">Vim Commands</a>
103 </p>
104 <div class="plugin_uparrow">
105 <a href="#" title="Back to top">
106 <img src="lib/plugins/uparrow/images/tango-small.png" alt="Back to top"/>
107 </a>
108 </div>
110 </div>
111 <!-- SECTION "Commands" [1666-1719] -->
112 <h2><a name="edit-compile-execute_cycle" id="edit-compile-execute_cycle">Edit-Compile-Execute Cycle</a></h2>
113 <div class="level2">
114 <table class="inline">
115 <tr class="row0">
116 <th class="col0 leftalign" colspan="2"> Session </th>
117 </tr>
118 <tr class="row1">
119 <td class="col0"> :mks(ession) </td><td class="col1"> create a session file </td>
120 </tr>
121 <tr class="row2">
122 <td class="col0"> vim -S </td><td class="col1"> load a session file </td>
123 </tr>
124 <tr class="row3">
125 <th class="col0 leftalign" colspan="2"> Make </th>
126 </tr>
127 <tr class="row4">
128 <td class="col0"> :mak(e) </td><td class="col1"> run make </td>
129 </tr>
130 <tr class="row5">
131 <td class="col0"> :cl(ist) </td><td class="col1"> show make output </td>
132 </tr>
133 <tr class="row6">
134 <td class="col0"> :cope(n) </td><td class="col1"> open a window with make output </td>
135 </tr>
136 <tr class="row7">
137 <td class="col0"> :cn(ext) </td><td class="col1"> go to next error </td>
138 </tr>
139 <tr class="row8">
140 <td class="col0"> :cp(revious) </td><td class="col1"> go to previous error </td>
141 </tr>
142 <tr class="row9">
143 <td class="col0"> :cc </td><td class="col1"> go to current error </td>
144 </tr>
145 <tr class="row10">
146 <td class="col0"> :ccl(ose) </td><td class="col1"> close the window with make output </td>
147 </tr>
148 <tr class="row11">
149 <th class="col0 leftalign" colspan="2"> Motion </th>
150 </tr>
151 <tr class="row12">
152 <td class="col0"> Ctrl+O </td><td class="col1"> go to previous edition </td>
153 </tr>
154 <tr class="row13">
155 <td class="col0"> Ctrl+I </td><td class="col1"> go to next edition </td>
156 </tr>
157 </table>
158 <div class="tags"><span>
159 <a href="/~kssilveira/site/doku.php?id=tag:programming&amp;do=showtag&amp;tag=tag%3Aprogramming" class="wikilink1" title="tag:programming" rel="tag">programming</a>
160 </span></div>
161 <div class="plugin_uparrow">
162 <a href="#" title="Back to top">
163 <img src="lib/plugins/uparrow/images/tango-small.png" alt="Back to top"/>
164 </a>
165 </div>
167 </div>
168 <!-- SECTION "Edit-Compile-Execute Cycle" [1720-] -->