tweaks
authorjim <jim@web>
Sun, 5 Apr 2015 00:38:52 +0000 (20:38 -0400)
committerLinux User <ikiwiki@localhost.members.linode.com>
Sun, 5 Apr 2015 00:38:52 +0000 (20:38 -0400)
juli8.mdwn

index f06ff2d..a87464b 100644 (file)
@@ -49,24 +49,27 @@ Below, we'll give instructions on how to install Juli8 into your existing OCaml
     Some keycommands you can now use are:
 
     * `^H` (that is, Control+`H`) will delete one char to the left of the cursor position (also `backspace`)
     Some keycommands you can now use are:
 
     * `^H` (that is, Control+`H`) will delete one char to the left of the cursor position (also `backspace`)
-    * `^D` will delete one char to the right of the cursor position
+    * `^D` will delete one char to the right of the cursor position (but if you type it on a blank line it will quit the program you're running)
     * `^W` will delete one word to the left of the cursor position (also `esc` followed by `backspace`, after releasing `esc`)
     * `esc` + `D` will delete one word to the right of the cursor position
     * `^U` will delete from the cursor position leftwards all the way to the start of the line
     * `^K` will delete from the cursor position rightwards all the way to the end of the line
     * `^W` will delete one word to the left of the cursor position (also `esc` followed by `backspace`, after releasing `esc`)
     * `esc` + `D` will delete one word to the right of the cursor position
     * `^U` will delete from the cursor position leftwards all the way to the start of the line
     * `^K` will delete from the cursor position rightwards all the way to the end of the line
+    * Control+`-` will undo one editing command or sequence of typed characters
+    * `esc` + `R` will (usually) erase the whole line (undoing everything)
     * `^A` moves the cursor to the start of the line
     * `^E` moves the cursor to the end of the line
     * `^B` and `^F` work like left and right arrows
     * `esc` + `B` and `esc` + `F` move left and right a whole word at a time (on the Mac, Option-`left` and Option-`right` do the same)
     * `^A` moves the cursor to the start of the line
     * `^E` moves the cursor to the end of the line
     * `^B` and `^F` work like left and right arrows
     * `esc` + `B` and `esc` + `F` move left and right a whole word at a time (on the Mac, Option-`left` and Option-`right` do the same)
+    * Control-`]`+`x` will move the cursor rightwards to the next `x` character on the line (similarly for other characters in place of `x`). You can do the same leftwards by typing `esc`+Control-`]`+`x`. You can move to the second-next `x` character by typing `esc`+`2`+Control-`]`+`x`. This is all pretty cumbersome.
     * `^L` clears the screen
     * `up`/`down` arrows let you scroll through previous lines you typed (also `^P` / `^N`)
     * `^L` clears the screen
     * `up`/`down` arrows let you scroll through previous lines you typed (also `^P` / `^N`)
-    * `^R` lets you search through previous lines you typed for a matching substring; to refine the search keep making the substring longer, or type `^R` again to find an earlier match. Type `esc` to exit the search and edit the currently showing command line.
+    * `^R` lets you search through previous lines you typed for a matching substring; to refine the search keep making the substring longer, or type `^R` again to find an earlier match. Type `esc` to exit the search and edit the currently showing command line. Type `^G` to exit the search with a blank command line.
 
     If you create a file named `$HOME/.inputrc` with the contents:
 
         set blink-matching-paren on
 
 
     If you create a file named `$HOME/.inputrc` with the contents:
 
         set blink-matching-paren on
 
-    then you will get the further nice feature that when you type a close parenthesis, rlwrap will temporarily make the cursor jump to the matching open parenthesis, so that you can see how many close parentheses you need to type. If you want to further customize `rlwrap` or the above keycommands, you can read the documentation at `man rlwrap` and `man readline`, and also look into the Preferences of your Terminal program. (On the Mac, look under Terminal menu/Preferences/Keyboard tab.) This gets complicated quickly, but those are the places to start looking if you want to experiment. You should of course also read around on the web, rather than just changing these blindly.
+    then you will get the further nice feature that when you type a close parenthesis, `rlwrap` will temporarily make the cursor jump to the matching open parenthesis, so that you can see how many close parentheses you need to type. If you want to further customize `rlwrap` or the above keycommands, you can read the documentation at `man rlwrap` and `man readline`, and also look into the Preferences of your Terminal program. (On the Mac, look under Terminal menu/Preferences/Keyboard tab.) This gets complicated quickly, but those are the places to start looking if you want to experiment. You should of course also read around on the web, rather than just changing these blindly.
 
 3. Whether you use `utop` or `rlwrap ocaml` or just plain `ocaml`, you will need to set up some initialization commands in order to use the Juli8 libraries. You'll want to edit or create an file called `.ocamlinit` in your `$HOME` directory. The file may already be there and have some commands in it if you used OPAM.
 
 
 3. Whether you use `utop` or `rlwrap ocaml` or just plain `ocaml`, you will need to set up some initialization commands in order to use the Juli8 libraries. You'll want to edit or create an file called `.ocamlinit` in your `$HOME` directory. The file may already be there and have some commands in it if you used OPAM.
 
@@ -102,16 +105,18 @@ TODO
 
 1. When (If) you installed Haskell, we hope you did it via a method that gave you the Haskell Platform. This will give you a recent version of the Glasgow Haskell Compiler (GHC), which comes with the interactive Haskell session program `ghci`, along with the **Cabal** package manager (the analogue of OCaml's OPAM) and also with a collection of the most widely-used libraries in the Haskell community, that don't come along with GHC itself.
 
 
 1. When (If) you installed Haskell, we hope you did it via a method that gave you the Haskell Platform. This will give you a recent version of the Glasgow Haskell Compiler (GHC), which comes with the interactive Haskell session program `ghci`, along with the **Cabal** package manager (the analogue of OCaml's OPAM) and also with a collection of the most widely-used libraries in the Haskell community, that don't come along with GHC itself.
 
-2. Assuming you do have Cabal, we recommend you do the following. First, find out where Cabal installs logs of its activity. On my Mac, it puts them in the folder `~/Library/Haskell/logs/world`. Now what I did was to type the following command in a Terminal:
+2. Assuming you do have Cabal, we recommend you do the following. First, find out where Cabal installs logs of its activity. On my Mac, it logs them in the file `~/Library/Haskell/logs/world`. Now what I did was to type the following command in a Terminal:
 
 
-        ln -s ~/Library/Haskell/logs/world ~/.cabal
+        ln -s ~/Library/Haskell/logs/world ~/.cabal/
 
 
-    Now I can find a link to what Cabal has done inside cabal's own folder, without needing to remember or hunt down where the hell on my disk that information has been stored. (Alright, to be honest, you can skip this whole step if you want. But I recommend doing it.)
+    Now I can find a link to what Cabal has done inside cabal's own folder, without needing to remember or hunt down where the hell on my disk that information has been stored. (Alright, to be honest, you can skip this whole step if you want. But I recommend doing it.)
 
 3. Still assuming you have Cabal, type the following in a Terminal:
 
         cabal update
 
 3. Still assuming you have Cabal, type the following in a Terminal:
 
         cabal update
-        cabal install --user ghc-paths semigroups hoogle
+        cabal install --user cabal-install ghc-paths semigroups hoogle
+
+    <!-- also haskell-docs for :whatis command, but I'm not sure yet this is worth it. -->
 
 4. If you haven't already downloaded and installed the Juli8 libraries as described in Step 4 under the earlier OCaml section, do that now. Also type the following lines in a Terminal:
 
 
 4. If you haven't already downloaded and installed the Juli8 libraries as described in Step 4 under the earlier OCaml section, do that now. Also type the following lines in a Terminal: