summaryrefslogtreecommitdiffstats
path: root/computer
diff options
context:
space:
mode:
Diffstat (limited to 'computer')
-rw-r--r--computer/vim-acme-design.rst149
1 files changed, 74 insertions, 75 deletions
diff --git a/computer/vim-acme-design.rst b/computer/vim-acme-design.rst
index 65f7697..bfb7e1c 100644
--- a/computer/vim-acme-design.rst
+++ b/computer/vim-acme-design.rst
@@ -11,41 +11,40 @@ Design notes on plan9-for-vimspace
.. zotero-setup::
:style: chicago-author-date
-.. default-role:: xcite
-
-When I have seen for the first time `@cox:2012tour` presenting
-Acme, modular text editor from Plan9, I was intriguied by its
-design which seemed to put Unix philosophy on steroids. However,
-in the same time I was driven away by the mouse-driven nature of
-the result. I strongly agree with `@christiansen:1999zenclavier`,
-that the automatism is the key for the increased productivity
-(“to be in the Zone”, “to achive the Zen state of mind”), and
-that a mouse is the first thing which breaks any attempts of
-learning my fingers patterns of behavior. I remember, when I saw
-the screencast, I was thinking whether it would be possible to
-transfer somehow the modular nature of Acme to the vim world.
-I haven’t came with anything, so I gave up then and forgot whole
-thing.
+When I have seen for the first time :xcite:`@cox:2012tour`
+presenting Acme, modular text editor from Plan9, I was
+intriguied by its design which seemed to put Unix philosophy
+on steroids. However, in the same time I was driven away by
+the mouse-driven nature of the result. I strongly agree with
+:xcite:`@christiansen:1999zenclavier`, that the automatism is
+the key for the increased productivity (“to be in the Zone”,
+“to achive the Zen state of mind”), and that a mouse is the
+first thing which breaks any attempts of learning my fingers
+patterns of behavior. I remember, when I saw the screencast, I
+was thinking whether it would be possible to transfer somehow the
+modular nature of Acme to the vim world. I haven’t came with
+anything, so I gave up then and forgot whole thing.
.. image:: {static}/images/glenda_sshot.png
:width: 66%
:align: center
:alt: screenshot of Plan 9 desktop
-So, I was very excited when looking for something else I found on
-GitHub project_ trying to bring some Advantages of Acme text
-editor to the vim. However, it is obviously in the early stages
-of development and it didn’t give much of description on what’s
-going on (or what’s at least planned to go on). So, I have asked
-in `@cepl:2016some` for help, but then I decided that actually
-what I was asking for (to summarize the screencast, separate
-individual ideas, and try to remap them to the vim universe)
-could be done by myself. The actual paper is better than
-screencast for annotation, so I have found (because of the great
-Bell Labs tradition of documenting their design in standalone
-papers) `@pike:acme` describing design of Acme. This article is
-basically commentary on that paper, trying to identify individual
-features, and translate them to the vim universe.
+So, I was very excited when looking for something else I found
+on GitHub project_ trying to bring some Advantages of Acme text
+editor to the vim. However, it is obviously in the early stages
+of development and it didn’t give much of description on what’s
+going on (or what’s at least planned to go on). So, I have asked
+in :xcite:`@cepl:2016some` for help, but then I decided that
+actually what I was asking for (to summarize the screencast,
+separate individual ideas, and try to remap them to the vim
+universe) could be done by myself. The actual paper is better
+than screencast for annotation, so I have found (because of
+the great Bell Labs tradition of documenting their design in
+standalone papers) :xcite:`@pike:acme` describing design of
+Acme. This article is basically commentary on that paper, trying
+to identify individual features, and translate them to the vim
+universe.
User Interface
==============
@@ -83,7 +82,7 @@ when the internal command is not found with the given name.
It is important to know, that all external commands are run with
the ``$PWD`` being set to the directory of the currently opened
document (I am slowly but surely distancing myself from the idea
-of `@stewart:2017vim`, but I am still fighting).
+of :xcite:`@stewart:2017vim`, but I am still fighting).
Hyperlinks in the body of text
------------------------------
@@ -101,32 +100,32 @@ Primary mouse button [#]_ is used more or like normal way the
mouse is used in other text/word-processors, i.e., for selection,
cutting, and pasting of text.
-Most of what Acme does in the body of text is nothing more than
-just a normal hypertext, but not the limited version we have now
-in the World Wide Web, but it is closer to the original ideas of
-hypertext as envisioned by `@bush:1945as`,
-`@nelson:1974computer`, `@nelson:1960project`, and
-`@larson:1984maxthink` and `@larson:1986houdini`. Target of the
-link can be a way richer than just a jump to other document (or
-some particular place in a document). Links are in their nature
-either local (somehow connected to the local path name; of
-course, local in Plan 9 is quite relative term) or activation of
-some command.
+Most of what Acme does in the body of text is nothing
+more than just a normal hypertext, but not the limited
+version we have now in the World Wide Web, but it is
+closer to the original ideas of hypertext as envisioned
+by :xcite:`@bush:1945as`, :xcite:`@nelson:1974computer`,
+:xcite:`@nelson:1960project`, and :xcite:`@larson:1984maxthink`
+and :xcite:`@larson:1986houdini`. Target of the link can be a way
+richer than just a jump to other document (or some particular
+place in a document). Links are in their nature either local
+(somehow connected to the local path name; of course, local in
+Plan 9 is quite relative term) or activation of some command.
Of course, hypertext is not completely new idea in vim
(``Ctrl-]``, to some extent ``K``), so it would be probably wise
just to extend already existing system with new features.
-Given that the system is intended to work with plain text (there
-is no separation of presentation from content, aka
-what-you-see-is-what-you-have), it is probably a good idea,
-actually it is necessary, to use for recognition of the
-hyperlinks more sophisticated and more stealthy form than just
-normal URL style of ``method://target``. Also, given that the
-system of links should be expandable, so that the user may add
-new types of links for her particular class of documents, it
-could be necessary to use something like regular expression or
-some other mechanism and these scripts should be probably
+Given that the system is intended to work with plain text
+(there is no separation of presentation from content, aka
+what-you-see-is-what-you-have), it is probably a good idea,
+actually it is necessary, to use for recognition of the
+hyperlinks more sophisticated and more stealthy form than just
+normal URL style of ``method://target``. Also, given that the
+system of links should be expandable, so that the user may add
+new types of links for her particular class of documents, it
+could be necessary to use something like regular expression
+or some other mechanism and these scripts should be probably
specific to each filetype.
Of course, there will be set of already defined links. The
@@ -168,25 +167,25 @@ A bit on the Acme user interface philosophy
Acme and the shell, cross-connecting the standard input and
output of the shell to the text of the window.
-First of all, I needed to disentangle what I think about those
-“typescripts”. It seems to me that Plan9 user interface was child
-of the same primary enthusiasm after the invention of computer
-mouse which drove user interface of the first Apple MacIntosh
-(albeit Plan9 didn’t have to conform to the commercial reality,
-so they could use the best display technology, best monitors, and
-three-button mice). The design was apparently meant to replace
-menus with the other more appropriate means of control
-(three-button mouse, chords), and unfortunately it came also
-before invention of context menus, which could be more
-appropriate than the application ones. When looking on
-`@cox:2012tour` demo of Acme functionality, I can see user
-inteface fighting against my deepest persuasion that for the
-activity which consists mostly from creating text, the keyboard
-oriented user interface is the best, in short phrase “we don’t
-write with mouse”. It seems significant to me that
-`@christiansen:1999zenclavier` came a lot later primary as
-a reaction to this enamorment to mouse. So, let us abstain from
-this primary urge to “move beyond typescripts” and let us
+First of all, I needed to disentangle what I think about those
+“typescripts”. It seems to me that Plan9 user interface was
+child of the same primary enthusiasm after the invention of
+computer mouse which drove user interface of the first Apple
+MacIntosh (albeit Plan9 didn’t have to conform to the commercial
+reality, so they could use the best display technology, best
+monitors, and three-button mice). The design was apparently
+meant to replace menus with the other more appropriate means
+of control (three-button mouse, chords), and unfortunately it
+came also before invention of context menus, which could be
+more appropriate than the application ones. When looking on
+`@cox:2012tour` demo of Acme functionality, I can see user
+inteface fighting against my deepest persuasion that for
+the activity which consists mostly from creating text, the
+keyboard oriented user interface is the best, in short phrase
+“we don’t write with mouse”. It seems significant to me that
+:xcite:`@christiansen:1999zenclavier` came a lot later primary
+as a reaction to this enamorment to mouse. So, let us abstain
+from this primary urge to “move beyond typescripts” and let us
consider what we have left here otherwise.
While straying from the Acme itself, we probably need to mention
@@ -240,7 +239,7 @@ mode (although probably just in its “normal” not in the inserting
one?), but it would be interesting if we could run an action on
selection/current word in the terminal.
-Acme apparently follows the `@zawinski:2003zawinski` (“Every
+Acme apparently follows the :xcite:`@zawinski:2003zawinski` (“Every
program attempts to expand until it can read mail. Those programs
which cannot so expand are replaced by ones which can.”) written
with these tools and small help tools. However, I think that is
@@ -266,10 +265,10 @@ now how to connect it with any Python debugger, which is what
I would need most now, but that’s exactly the type of application
which could be best served by the two-way communication between
vim and independent daemon program. I thought about moving pdb
-towards `@free_software_foundation:debugging` (which, according
-to `@moolenaar:2017patch` is what ``:termdebug`` uses), but
+towards :xcite:`@free_software_foundation:debugging` (which, according
+to :xcite:`@moolenaar:2017patch` is what ``:termdebug`` uses), but
`@miranda:2017gdb` claims that apparently it is really not good
-enough either. `@miranda:2017debugsoon` and
+enough either. :xcite:`@miranda:2017debugsoon` and
`@eclipse_foundation:what` says that the future of debugging is
`@anonymous:integratingdbgvscode`, but it seems that the
development is in really early stages and nothing much solid
@@ -318,7 +317,7 @@ by vim, for example) and ability of vim read such HTML file
.. [#] Interesting thing is that even professor Wirth resurrected
his projected recently and created similar system on the
- current hardware in 2013 (`@wirth:2013programming`)
+ current hardware in 2013 (:xcite:`@wirth:2013programming`)
.. [#] Obscure example of this tool was GEOS_, which ultimately
failed, but it managed to have swiftly working environment for