about summary refs log tree commit diff stats
path: root/tools/vim.html
blob: 6d3431245f23851d1c16ed97eba96baa71443bf1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
generated by cgit-pink 1.4.1-2-gfad0 (git 2.36.2.497.gbbea4dcf42) at 2025-06-29 16:35:32 +0000
 


ass="nt">dd>
            <dt>[Control][d]</dt>
            <dd>Move forward 1/2 screen</dd>
            <dt>[Control][u]</dt>
            <dd>Move back (up) 1/2 screen</dd>
        </dl>

        <h3>How to use vim</h3>

        <p>In vim you can apply predefined number of times to a operator,
        selection or object. For example to delete the next
        two words press: d + 2 + w. List of important operators objects,
        selections;</p>

        <pre>
        operator + count + object
        </pre>

        <p>Operator;</p>

        <dl>
            <dt>d</dt>
            <dd>Delete</dd>
            <dt>c</dt>
            <dd>Change (d + i)</dd>
            <dt>y</dt>
            <dd>Copy</dd>
            <dt>v</dt>
            <dd>Visual Select</dd>
        </dl>

        <p>Objects;</p>
        <dl>
            <dt>w</dt>
            <dd>Word</dd>
            <dt>s</dt>
            <dd>Sentences</dd>
            <dt>p</dt>
            <dd>Paragraphs</dd>
            <dt>t</dt>
            <dd>Tags</dd>
        </dl>

        <p>Selections are like objects, for example d + i + w
        will delete "inner" word, c + a + w do the same plus
        the space;</p>

        <dl>
            <dt>a</dt>
            <dd>All</dd>
            <dt>i</dt>
            <dd>in</dd>
            <dt>t</dt>
            <dd>Until</dd>
            <dt>f</dt>
            <dd>Find forward</dd>
            <dt>F</dt>
            <dd>Find backward</dd>
        </dl>

        <p>Selection of useful combinations;</p>
        <dl>
            <dt>vat</dt>
            <dd>Select whole tag block.</dd>
            <dt>cit</dt>
            <dd>Change inside tag.</dd>
            <dt>yat</dt>
            <dd>Copy whole tag.</dd>
            <dt>vip<C-V>$A,<Esc></dt>
            <dd>Select a paragraph (vip), switch to visual
            block mode (CTRL V), append to all lines ($A) a
            comma (,), press esc to confirm.</dd>
            <dt>vip&lt;C-V&gt;I,&lt;Esc&gt;</dt>
            <dd>Select a paragraph (vip), switch to visual
            block mode (CTRL V), insert to all lines (I) a
            comma (,), press esc to confirm.</dd>
        </dl>

        <h2 id="ctags">6. Tags</h2>

        <p>Tags, at top level of project;</p>

        <pre>
        $ ctags -R .
        $ vim src/hello_world.c
        </pre>

        <p>To follow a tag;</p>

        <pre>
        Ctrl-]
        </pre>

        <p>To get back;</p>

        <pre>
        Ctrl-t
        </pre>

        <p>Autocomplete, press to see all options;</p>

        <pre>
        Ctrl-n
        </pre>

        <p>To move forward and backward in options;</p>

        <pre>
        Ctrl-n Ctrl-p
        </pre>

        <p>Show auto completion with references to only this file;</p>

        <pre>
        Ctrl-x Ctrl-n
        </pre>

        <p>Show auto completion with filenames, * Tab can be used;</p>

        <pre>
        Ctrl-x Ctrl-f
        </pre>

        <p>Show auto completion with only tags;</p>

        <pre>
        Ctrl-x Ctrl-]
        </pre>

        <h2 id="spellcheck">7. Spellcheck</h2>

        <p>Press z= over the bad written word and select desired one.</p>

        <h2 id="plugin">8. Plugins</h2>

        <h2 id="vimdiff">9. Vimdiff</h2>

	<p>If two files are open in <a href="#split">split</a> type :diffthis in both windows to get vimdiff of the files. To close type :diffoff.</p>

	<dl>
	<dt>do<dt>
	<dd> Get changes from other window into the current window.</dd>
	<dt>dp</dt>
	<dd>Put the changes from current window into the other window.</dd>
	<dt>]c</dt>
	<dd>Jump to the next change.</dd>
        <dt>[c</dt>
        <dd>Jump to the previous change.</dd>
        <dt>Ctrl W + Ctrl W</dt>
        <dd>Switch to the other split window.</dd>
	</dl>

        <a href="index.html">Tools Index</a>
        <p>This is part of the LeetIO System Documentation.
        Copyright (C) 2021
        LeetIO Team.
        See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a>
        for copying conditions.</p>

    </body>
</html>