|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
How to create hyperlinks to
"here" with `find-here-links'
(This is about Emacs and eev)
Eduardo Ochs
December 26, 2020
1. The tutorials
================
The header of
(find-eev-quick-intro)
points to...
(find-emacs-keys-intro)
(find-here-links-intro)
(find-refining-intro)
Let's start with:
(find-emacs-keys-intro "beginner's way of creating" "hyperlinks to here")
(find-emacs-keys-intro "other keys for creating hyperlinks to here")
The beginner's way of creating "hyperlinks to here" is with:
M-h M-3 - (find-here-links-intro "4. `find-here-links-3'")
M-h M-1 - (find-here-links-intro "5. `find-here-links-1'")
M-h M-w - (find-here-links-intro "6. Copying the hyperlink" "M-h M-w")
The other keys for creating hyperlinks to here and refining them are:
M-h M-h - `find-here-links': (find-eev-quick-intro "4.1. `find-here-links'")
M-h M-2 - `ee-duplicate-this-line'. See: (find-eval-intro "M-h M-2")
M-h M-y - `ee-yank-pos-spec'. See: (find-eval-intro "M-h M-y")
See also: (find-refining-intro "2. Refining hyperlinks")
(eek "M-h M-k M-h M-2 ;; ee-duplicate-this-line")
(find-efunction 'ee-duplicate-this-line)
(find-refining-intro "kill-new")
(find-refining-intro "M-h M-2 M-h M-y")
2. The beginner's way
=====================
2.1. The 3-window setting - and going back from it
--------------------------------------------------
Demo:
(find-wset "12233ooo3o2ooo+")
(eek "M-h M-3")
(eek "M-h M-1")
(find-here-links-intro "saves the current window configuration")
(find-here-links-intro "`M-h M-1' undoes what `M-h M-3' did")
(eek "M-h M-k M-h M-3 ;; find-here-links-3")
(find-elongkey-links "M-h M-3 ;; find-here-links-3")
(find-efunctiondescr 'find-here-links-3)
A variant of `find-here-links' that creates a three-window setting.
(eek "M-h M-k M-h M-1 ;; find-here-links-1")
(find-elongkey-links "M-h M-1 ;; find-here-links-1")
(find-efunctiondescr 'find-here-links-1)
Restore the window configuration before `find-here-links-3'.
_______________ _____________________ ________________
| | | | | | |
| | | | elinks | | |
| | | | buffer | | |
| target | M-h M-3 | target |__________| M-h M-1 | target |
| buffer | ------> | buffer | | ------> | buffer |
| | | | notes | | |
| | | | buffer | | |
|_______________| |__________|__________| |________________|
2.2. Copying one link
---------------------
_____________________
| | |
| | elinks |
| | buffer |
| target |____||____|
| buffer | \/ |
| | notes |
| | buffer |
|__________|__________|
(find-elongkey-links "C-w ;; kill-region (a.k.a. Cut)")
(find-elongkey-links "M-w ;; kill-ring-save (a.k.a. Copy)")
(find-elongkey-links "C-y ;; yank (a.k.a. Paste)")
(find-elongkey-links "M-h M-w ;; ee-copy-this-line-to-kill-ring")
_____________________________________________
| | |
| | |
| | elinks |
| | buffer |
| :::::> |
| target | |
| buffer | || C-w, M-w, or |
| | || M-h M-w |
| |----||----------------|
| | || C-y |
| | \/ |
| | |
| | notes |
| | buffer |
| | |
| | |
|______________________|______________________|
2.3. Duplicating and refining
-----------------------------
(find-refining-intro "2. Refining hyperlinks")
(find-refining-intro "2. Refining hyperlinks" "M-h M-2" "`ee-duplicate-this-line'")
(find-refining-intro "2. Refining hyperlinks" "M-h M-y" "`ee-yank-pos-spec'")
(find-refining-intro "2. Refining hyperlinks" "Try")
Example:
BAR
(find-fline "/tmp/FOO")
_____________________________________________
| | |
| | |
| M-w, | elinks |
| M-h M-3 | buffer |
| ::::::> |
| target | M-h M-2, |
| buffer | || M-h M-y, |
| | || M-w |
| |----||----------------|
| | || C-y |
| | \/ |
| | |
| | notes |
| | buffer |
| | |
| | |
|______________________|______________________|
3. Using a single window
========================
(find-refining-intro "3. Three buffers")
(find-refining-intro "3. Three buffers" "keys to switch buffers")
________ ________ ________ ________
| | : : | | | |
| target | M-h M-h : elinks : M-1 M-j | notes | M-K M-K | target |
| buffer | ------> : buffer : ------> | buffer | ------> | buffer |
|________| :________: |________| |________|
4. Advanced usage: anchors
==========================
4.1. Creating anchors
---------------------
(find-eev-quick-intro "8. Anchors")
(find-eev-quick-intro "8.3. Creating index/section anchor pairs")
(find-eev-quick-intro "8.3. Creating index/section anchor pairs" "`M-A'")
(find-eev-quick-intro "8.3. Creating index/section anchor pairs" "`M-A' in the line below")
(find-eev-quick-intro "8.4. Creating e-script blocks")
(find-eev-quick-intro "8.4. Creating e-script blocks" "`M-B' on the line below")
4.2. The option :anchor for `code-c-d'
--------------------------------------
(find-anchors-intro "1. Introduction")
(find-anchors-intro "1. Introduction" "code-c-d")
(find-anchors-intro "1. Introduction" "code-c-d" ":anchor")
(code-c-d "eev" "~/eev-current/" :anchor)
(find-code-c-d "eev" "~/eev-current/" :anchor)
(find-eevfile "eev-tlinks.el" "«find-youtubedl-links»")
(find-eev "eev-tlinks.el" "find-youtubedl-links")
4.3. Shrinking hyperlinks
-------------------------
(find-anchors-intro "2. Shrinking")
(find-anchors-intro "2. Shrinking" "`M-h M--'")
(find-anchors-intro "2. Shrinking" "Try it")
4.4. The preceding tag
----------------------
(find-anchors-intro "3. The preceding tag")
(find-anchors-intro "3. The preceding tag" "`M-h M-w' with a numeric argument")
(find-anchors-intro "3. The preceding tag" "`M-1 M-h M-w'")
A demo (with the 3-window setting for clarity):
_____________________________________________
| | |
| | |
| M-1 M-h M-w, | elinks |
| M-h M-3 | buffer |
| ::::::> |
| target | M-h M-2, |
| buffer | || M-h M--, |
| | || M-h M-y, |
| | || M-w |
| |----||----------------|
| | || C-y |
| | \/ |
| | |
| | notes |
| | buffer |
| | |
| | |
|______________________|______________________|