aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/6_AdeptEditing.md
blob: d2d7e1da722351df701f9a4231b959c4767b24fb (plain)
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Adept Editing

## Key Commands

Textadept is entirely keyboard-driven. See the comprehensive list of key
commands in the [appendix](14_Appendix.html#key_bindings). Key commands can be
modified in your [preferences](9_Preferences.html#key_commands).

## Character Autopairing

Usually, quote (`'`, `"`) and brace (`(`, `[`, `{`) characters go together in
pairs. By default, Textadept automatically inserts the complement character when
the first is typed. Similarly, the complement is deleted when you press
`Backspace` over the first. See the
[preferences](9_Preferences.html#module_settings) page if you would like to
disable this.

## Word Completion

Textadept provides buffer-based word completion. Start typing a word, press
`Ctrl+Return` (`Esc` on Mac OSX), and a list of suggested completions based on
words in the current document is provided. Continuing to type changes the
suggestion. Press `Return` to complete the selected word.

![Word Completion](images/wordcompletion.png)

## Find and Replace

`Ctrl+F` (`Apple+F` on Mac OSX) brings up the Find/Replace dialog. In addition
to offering the usual find and replace, Textadept allows you to find with [Lua
patterns](14_Appendix.html#lua_patterns) and replace with Lua captures and even
Lua code! For example: replacing all `(%w+)` with `%(string.upper('%1'))`
capitalizes all words in the buffer. Lua captures (`%n`) are only available from
a Lua pattern search, but embedded Lua code enclosed in `%()` is always allowed.

#### Find in Files

Find in Files (`Apple+Shift+F` on Mac OSX) will prompt for a directory to
search. The results are displayed in a new buffer. Double-clicking a search
result jumps to it in the file. Replace in Files is not supported. You will have
to `Find in Files` first, and then `Replace All` for each file a result is found
in. The `Match Case`, `Whole Word`, and `Lua pattern` flags still apply.

![Find in Files](images/findinfiles.png)

#### Find Incremental

You can start an incremental search by pressing `Ctrl+Shift+F` (`Apple+I` on Mac
OSX). Incremental search searches the buffer as you type. Only the `Match Case`
option is recognized.

#### Replace in Selection

By default, `Replace All` replaces all text in the buffer. If you want to
replace all text in just a portion of the buffer, select a block of text and
then `Replace All`.

## Indentation

#### Increase or Decrease Indent Level

The amount of indentation for a selected set of lines is increased by pressing
`Tab` and decreased by pressing `Shift+Tab`. Using these key sequences when no
selection is present does not have the same effect.

#### Change Indent Size

The indent size is usually set by a [language-specific
module](7_Modules.html#buffer_properties) or the [theme](8_Themes.html#buffer).
Textadept shows what it is using for indentation in the document statusbar.

![Document Statusbar](images/docstatusbar.png)

#### Using Tabs Instead of Spaces

You can use tabs instead of the default spaces by pressing `Ctrl+T, V, Tab`
(Apple+T, V, Tab on Mac OSX) or using the `Buffer -> Toggle Use Tabs` menu.
Textadept shows what it is using for indentation in the document statusbar.

The default option is usually set by a [language-specific
module](7_Modules.html#buffer_properties) or the [theme](8_Themes.html#buffer).

#### Converting Between Tabs and Spaces

Use the `Edit -> Convert Indentation` menu to convert indentation. If the buffer
is using tabs, all spaces are converted to tabs. If the buffer is using spaces,
all tabs are converted to spaces.

## Selecting Text

#### Rectangular Selection

Holding `Alt+Shift` (`Apple+Shift` on Mac OSX) and pressing the arrow keys
enables rectangular selections to be made. Start typing to type on each line.

![Rectangular Selection](images/rectangularselection.png)
    
![Rectangular Edit](images/rectangularselection2.png)

#### Multiple Selection

Clicking the mouse at a point in the buffer while holding `Control` places an
additional caret at that point. Clicking and dragging while holding `Control`
creates multiple selections. Start typing to enter text at each selection.

#### Selecting Entities

Textadept allows you to select many different entities from the caret. `Alt+S`
(`Ctrl+S` on Mac OSX) is the key prefix to entity selection. Typing `'`, `"`,
`(`, `[`, or `{` selects all text between the matching delimiters. Typing `W`,
`L`, `P`, `B`, or `S` (without holding `Shift`) selects the current word, line,
paragraph, indented block, or style respectively. Typing `T` selects the text
between `>` and `<`, useful for selecting within HTML tags. Typing `G` grows the
current selection by one character to each side, so `Alt+S, "` followed by
`Alt+S, G` selects an entire `""` sequence instead of just the text in-between
quotes. Finally, typing `C` followed by any other character selects all text
between a pair of those characters. `Alt+S, C, "` is identical to `Alt+S, "`.

## Enclosing Text

As a complement to selecting entities, you can enclose text as entities. The
key prefix is `Alt+C` (`Ctrl+C` on Mac OSX). Typing `'`, `"`, `(`, `[`, or `{`
encloses the text in the appropriate character pair. Typing `T` (without holding
`Shift`) creates an opening and closing HTML tag while `Shift+T` creates a
single HTML tag. Finally, typing `C` followed by any other character encloses
the text between a pair of those characters. `Alt+C, C, "` is identical to
`Alt+C, "`.

If no text is selected, the word to the left of the caret is enclosed.

## Word Highlight

All occurrences of a given word are highlighted by putting the caret over the
word and pressing `Ctrl+H` (`Ctrl+Apple+T` on Mac OSX). This is useful to show
occurrences of a variable name in source code.

![Word Highlight](images/wordhighlight.png)

## Editing Modes

#### Virtual Space

Virtual space (freehand) mode is enabled and disabled with `Ctrl+T, V, V`
(`Apple+T, V, V` in Mac OSX). When enabled, caret movement is not restricted by
line endings.

#### Overwrite

Overwrite mode is enabled and disabled with the `Insert` key. When enabled,
characters in the buffer will be overwritten instead of inserted as you type.
The caret also changes to an underline when in overwrite mode.