Browse code

Add readme background

Robert Cranston authored on 02/01/2021 02:54:20
Showing 1 changed files

... ...
@@ -14,6 +14,28 @@ line).
14 14
 [operators]: https://vimhelp.org/motion.txt.html#operator
15 15
 [text objects]: https://vimhelp.org/motion.txt.html#text-objects
16 16
 
17
+## Background
18
+
19
+[Readline][] is a library that provides line-editing for interactive
20
+command-line programs. It is used in a great many places, including shells such
21
+as [Bash][] (where it originated) and [REPL][]s such as [Python][] or
22
+[Octave][]. Using [`rlwrap`][], Readline can even be used with programs that
23
+doesn't have built in support for it, such as Matlab (as in `lrwrap -a matlab
24
+-nodesktop -nosplash`). These factors make it fairly ubiquitous.
25
+
26
+Readline can be configured with an `inputrc` file, usually placed at
27
+`~/.inputrc`.
28
+
29
+Readline uses [Emacs][]-like key bindings by default. If you're a Vim fan
30
+though, you probably use its `vi` mode, activated by `set editing-mode vi` in
31
+the configuration or through some mechanism in the containing program, such as
32
+Bash's `set -o vi`.
33
+
34
+If you *are* a Vim fan though, this has the potential of landing you in a sort
35
+of [uncanny valley][] since (Readline's) `vi` (mode) does not include the many
36
+improvements contained in Vim that you have come to rely on, mainly [text
37
+objects][].
38
+
17 39
 ## License
18 40
 
19 41
 Licensed under the [ISC License][], see the [`LICENSE`](LICENSE) file.