User Tools

Site Tools


plan9front_-_fn_reply_and_prompt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
plan9front_-_fn_reply_and_prompt [2023/01/06 05:23] – [reply with selected text] hc9plan9front_-_fn_reply_and_prompt [2024/09/07 06:30] (current) – … ☺ hc9
Line 1: Line 1:
 +====== function, reply and prompt ======
 +
 +|x| Tutorial [ ] Guide [x]|
 +
 +===== function (fn) =====
 +
 +^#^Examples^
 +|**1.**|…[[resources_for_website_builders#editing_text|“vim”]] and “emacs” which offer an unmatched degree of customization.|
 +|//a.//|''fn vim { sam $* }''|
 +|**2.**|//Grep, but force listing of filename:lineno so you can click on an entry to jump to it in an editor.//|
 +|//a.//|''fn gn { grep -n $* /dev/null }''|
 +|**3.**|//Tree enumerator (simple "find") useful for many purposes//|
 +|//a.//|''fn f { du -a $* <nowiki>|</nowiki> sed 's/^.*// ((This whitespace is a tab.))//<nowiki>//</nowiki>g' }'' ⇐ that whitespace is a tab|
 +|**4.**| [[plan9front_-_acme_sam_abaco_mothra_and_man#acme|acme]] |
 +|//a.//|''fn acme { /bin/acme -b -c 1 $* }''|
 +
 +**Example #1:**
 +
 +<code>
 +cpu% lc profile.edit
 +profile.edit
 +cpu% sam -d profile.edit
 + -. profile.edit
 +/fn
 +fn
 + fn term%{ $* }
 +/fn
 +fn
 + fn cpu%{ $* }
 +a
 + fn vim { sam $* }
 +.
 +w
 +profile.edit: #991
 +q
 +cpu%
 +</code>
 +
 +=== whatis vim: ===
 +
 +<code>
 +cpu% whatis vim
 +fn vim {
 + sam $*
 +}
 +cpu%
 +</code>
 +
 +===== reply with selected text =====
 +
 +|x|''|ireply'' is mentioned as an rc example, while an ''acme'' **Reply** is available.|
 +
 +=== ireply: ===
 +
 +<file config $home/bin/rc/ireply>
 +#!/bin/rc
 +awk '{ print "> " $0}'
 +</file>
 +
 +|1.|select text to include in reply with button 1|
 +|2.|//type ((Prepend ''ireply'' with the pipe (''|'').))// **''|ireply''** in message tag and run with button 2|
 +|3.|run **''reply''** in message tag with button 2|
 +|4.|use the button 1,3 chord to paste text into reply|
 +|5.|remove Include: line from message and type your reply.|
 +
 +Start acme to access the mbox.
 +
 +<code>
 +  % acme
 +</code>
 +
 +^Newcol Kill Putall Dump Exit^^^
 +|**New Cut Paste Snarf Sort Zerox Delcol**|:::|
 +
 +^Newcol Kill Putall Dump Exit^^^
 +|**New Cut Paste Snarf Sort Zerox Delcol**|:::|⇐ Add //Mail// by typing ''Mail''.|
 +
 +^Newcol Kill Putall Dump Exit^^^
 +|**New Cut Paste Snarf Sort Zerox Delcol Mail**|:::|⇐ Mouse button 2 press //Mail//.|
 +
 +^Newcol Kill Putall Dump Exit^^^
 +|**New Cut Paste Snarf Sort Zerox Delcol Mail**|
 +|**///mail/fs/mbox//** **Del Snarf : Look Put Mail Delmesg Undelmesg Next**|
 +|2/|:::|⇐ An Email messages is here. Mouse button 3 press #2.|
 +|1/|
 +|**///mail/fs/mbox/2///** **Del Snarf : Look Reply all Mail Delmesg Save |ireply**|:::|⇐ Add //|ireply// by typing ''|ireply''. Mouse button 2 press //|ireply// after highlighting the text (below) to include in the reply, then mouse button 2 press //Reply//.|
 +|From: ne1nb00k@9p.sdf.org|
 +|To:   ne1nb00k@9p.sdf.org|
 +|Date: Fri Jun 24 23:06:59 +0000 2022|
 +|Subject: practice reply|
 +|[blank]|
 +|That was some good neinbook!|
 +|[blank]|
 +|> Some text to reply to|:::|⇐ This is the text highlighting example area.|
 +|[blank]|
 +|Other text|
 +|Other text|
 +
 +=== whatis ireply: ===
 +
 +<code>
 +cpu% whatis ireply
 +/bin/ireply
 +cpu%
 +</code>
 +
 +===== prompt =====
 +
 +<code>
 +  cpu% cp $home/lib/profile $home/lib/profile.bak
 +</code>
 +
 +^#^Examples^
 +|**1.**|//To set your prompt in rc to reflect your current directory add this to your profile.//|
 +|//a.//|''<nowiki>fn cd { builtin cd $* && prompt=(`{pwd}^% '' ) }</nowiki>''|
 +|**2.**|//If you make frequent use of cpu's -''h'' and ''-u'' arguments, this variant keeps track of the host you are connected to, and as which user://|
 +|//a.//|''<nowiki>prompt = (`{cat /dev/user}^@^`{cat /dev/sysname}^'% '  ' ')</nowiki>''|
 +|//a.//|''<nowiki>fn `{echo $prompt(1) | tr -d ' '} { $* }</nowiki>''|
 +|**3.**|A Plan 9 Boot Camp user contributed prompt.|
 +|//a.//|''<nowiki>prompt=('['^`{pwd}^'] '^$sysname^'% ' ' ')</nowiki>''|
 +|//b.//|''<nowiki>fn cd {builtin cd $* && prompt=('['^`{pwd}^'] '^$sysname^'% ' ' ')}</nowiki>''|
 +
 +**Example #1:**
 +
 +<code>
 +cpu% lc profile.edit
 +profile.edit
 +cpu% sam -d profile.edit
 + -. profile.edit
 +/fn
 +fn
 + fn term%{ $* }
 +/fn
 +fn
 + fn cpu%{ $* }
 +s/cpu%{ \$\*/cd { builtin cd $* \&\& prompt=(`{pwd}^% '' )
 +.
 + fn cd { builtin cd $* && prompt=(`{pwd}^% '' ) }
 +w
 +profile.edit: #1007
 +q
 +cpu%
 +</code>
 +
 +=== whatis cd: ===
 +
 +<code>
 +cpu% whatis cd
 +fn cd {
 + builtin cd $* && prompt=(`{
 + pwd
 + }^% '')
 +}
 +cpu%
 +</code>