78 lines
5.9 KiB
HTML
78 lines
5.9 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<title>CLiki: CloserLookAtHemlock</title>
|
||
|
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
|
||
|
href="https://www.cliki.net/site/feed/article.atom?title=CloserLookAtHemlock">
|
||
|
<link rel="stylesheet" href="static/css/style.css">
|
||
|
<link rel="stylesheet" href="static/css/colorize.css">
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<span class="hidden">CLiki - CloserLookAtHemlock</span>
|
||
|
<div id="content"><div id="content-area"><div id="article-title">CloserLookAtHemlock</div><div id="article"><a href="Hemlock.html" class="category">Hemlock</a> seems quite alien if you've only used <a href="GNU.html" class="internal">GNU</a> <a href="Emacs.html" class="internal">Emacs</a> and XEmacs before. Here's description of getting acquainted with it.<p><h2>First impressions</h2><p>When it starts there are some differences that jump out at you: commands names look <tt>Like This</tt> and not <tt>like-this</tt>, and space bar is used for completion instead of tab. Fortunately most of the key bindings are the same, so you can get around pretty easily. A read of the very good Hemlock User's Manual makes it easy to adjust to the rest.<p>Under the hood there are differences too, most obviously that text is structured into doubly-linked lists of lines, rather than linear chunks of characters.<p><h2>Second impressions</h2><p>Once you're up and about, you can see that there are much fewer fancy add-ons to Hemlock than <a href="GNU.html" class="internal">GNU</a> <a href="Emacs.html" class="internal">Emacs</a> - no surprise there. The editor generally feels pretty good, though it's easy to bump into something that's "missing". But all the code is there and it's all written in Lisp, so it's quite inviting to dive in and hack things.<p><h2>Home sickness</h2><p>Being ASCII-perverted I use C-h for backspace and C-m for return, which are not the default bindings in Hemlock. This is easily fixed by creating a <tt>~/hemlock-init.lisp</tt> file containing:<p><pre>
|
||
|
(in-package :hemlock)
|
||
|
(bind-key "delete previous character" #k"C-h" :global)
|
||
|
(bind-key "new line" #k"C-m" :global)
|
||
|
</pre><p>well it looks like someone has already beat me to it. i had a hard time getting my key bindings working for delete, home, etc. working from the example init file in the hemlock manual i judged that you would do something like this<p><pre>
|
||
|
(bind-key "delete next character" '#(#\delete))
|
||
|
</pre><p>or something like that. this is not the case and the way to do it is<p><pre>
|
||
|
(bind-key "delete next character" #k"delete")
|
||
|
</pre><p>other ones you might find interesting are<p><pre>
|
||
|
#k"home" #k"end" #k"pageup" #k"pagedown"
|
||
|
</pre><p>See section 18.1 of the Hemlock Command Implementor's Manual for more details about keys and key events.<p><h2>Hemlock and <a href="Debian.html" class="internal">Debian</a> Woody</h2><p><a href="https://www.emacswiki.org/emacs/Hemlock">Emacs Wiki: Hemlock</a> confirms that Hemlock was moved into the cmucl-source package in <a href="Debian.html" class="internal">Debian</a> Woody.<p>To install Hemlock:<p><ul>
|
||
|
<li>Make sure CMUCL is installed and configured. I install the latest version from "unstable":<br>
|
||
|
<pre class="inline">
|
||
|
apt-get install -t unstable cmucl cmucl-normal
|
||
|
</pre>
|
||
|
Then run "cmuclconfig" and follow the prompts.</li>
|
||
|
<li>Install the cmucl-source package and wait for it to complete compiling:
|
||
|
<pre class="inline">
|
||
|
apt-get install -t unstable cmucl-source
|
||
|
</pre>
|
||
|
</li>
|
||
|
<li>As a user start a lisp session from a terminal in X:
|
||
|
<pre class="inline">
|
||
|
$ lisp
|
||
|
</pre>
|
||
|
</li>
|
||
|
<li>Then type (ed) to start the hemlock editor. That's it!</li>
|
||
|
</ul></div></div>
|
||
|
<div id="footer" class="buttonbar"><ul><li><a href="CloserLookAtHemlock.html">Current version</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/history?article=CloserLookAtHemlock">History</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/backlinks?article=CloserLookAtHemlock">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=CloserLookAtHemlock&from-revision=3799161636">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
|
||
|
</div>
|
||
|
<div id="header-buttons" class="buttonbar">
|
||
|
<ul>
|
||
|
<li><a href="https://www.cliki.net/">Home</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
|
||
|
<li><a href="CLiki.html">About</a></li>
|
||
|
<li><a href="Text Formatting.html">Text Formatting</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
|
||
|
</ul>
|
||
|
<div id="search">
|
||
|
<form action="https://www.cliki.net/site/search">
|
||
|
<label for="search_query" class="hidden">Search CLiki</label>
|
||
|
<input type="text" name="query" id="search_query" value="" />
|
||
|
<input type="submit" value="search" />
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div id="pageheader">
|
||
|
<div id="header">
|
||
|
<span id="logo">CLiki</span>
|
||
|
<span id="slogan">the common lisp wiki</span>
|
||
|
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
|
||
|
<label for="login_name" class="hidden">Account name</label>
|
||
|
<input type="text" name="name" id="login_name" class="login_input" />
|
||
|
<label for= "login_password" class="hidden">Password</label>
|
||
|
<input type="password" name="password" id="login_password" class="login_input" />
|
||
|
<input type="submit" name="login" value="login" id="login_submit" /><br />
|
||
|
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
|
||
|
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body></html>
|