vi: ze and zf to specify the keymap in normal mode
[neatvi.git] / README
blobe754fd35c5ad79697e88e1cdc00e3cfa3a81fc3d
1 NEATVI
2 ======
4 Neatvi is a vi/ex editor.  It can edit bidirectional UTF-8 text.
6 CONFIGURATION
7 -------------
9 Edit conf.h to adjust syntax highlighting rules and text direction
10 patterns.  To define a new keymap, create a new array in kmap.h, like
11 kmap_fa, and add it to kmaps array in the same header (the first entry
12 of the new array specifies its name).  The current keymap may be
13 changed with :cm ex command.  When in input mode, ^e activates the
14 English kaymap and ^f switches to the alternate keymap (the last
15 keymap specified with :cm).
17 COMMANDS
18 --------
20 Commands not available in ex(1):
22 :cm[ap][!] [kmap]
23   Without kmap, prints the current keymap name.
24   When kmap is specified, sets the alternate keymap to
25   kmap and, unless ! is given, switches to this keymap.
26 :ft [filetype]
27   Without filetype, prints the current file type.
28   When filetype is specified, sets the file type of the
29   current ex buffer.
31 New key mappings:
32 ^a in normal mode: searches for the word under the cursor.
33 ^p in insert mode: inserts the contents of the default yank buffer.
34 zL, zl, zr, and zR in normal mode: change the value of td option.
35 ^e and ^f in insert mode: switch to the English and alternate keymap.
36 ze and zf in normal mode: switch to the English and alternate keymap.
37 gu, gU, and g~ in normal mode: switch character case.
38 ^l in normal mode: updates terminal dimensions (after resizing it).
40 OPTIONS
41 -------
43 To improve neatvi's performance, shaping, character reordering, and
44 syntax highlighting can be disabled by defining the EXINIT environment
45 variable as "set noshape | set noorder | set nohl | set td=+2".
47 Options supported in neatvi:
49 td, textdirection
50   Current direction context.  The following values are meaningful:
51   * +2: always left-to-right.
52   * +1: follow conf.h's dircontexts[]; left-to-right for others.
53   * -1: follow conf.h's dircontexts[]; right-to-left for others.
54   * -2: always right-to-left.
55 shape
56   If set (default), performs Arabic/Farsi letter shaping.
57 order
58   If set, reorder characters based on the rules defined
59   in conf.h.
60 hl, highlight
61   If set (default), text will be highlighted based on syntax
62   highlighting rules in conf.h.
63 ai, autoindent
64   As in vi(1).
65 aw, autowrite
66   As in vi(1).
67 ic, ignorecase
68   As in vi(1).
70 MARKS AND BUFFERS
71 -----------------
73 Special marks:
74 * the position of the previous change
75 [ the first line of the previous change
76 ] the last line of the previous change
78 Special yank buffers:
79 / the previous search keyword
80 : the previous ex command