Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Sam expressions for manipulating text. This is a blub thing - if you haven't seen them you might not realise what you're missing out on. Try to imagine an editor where the core idea is a better-sed-than-sed.

Two well-known editors to come from the ed tradition: vi and sam. Vi is an obvious evolution - make it 2d. Sam did this as well, but its main focus was developing the expression language. For example, so you can chain expressions together for text manipulation. Another comment mentions multiple cursors.

But sam also has plan9 culture. It strongly encourages the mouse with an interaction that I've found to difficult to adjust to.

Vis seems to unify the best bits of vi and sam, from a unix user's perspective.

If anyone reading this knows sam or vis fluently, it would be helpful to have a youtube video for each of sam and vis in the the style of the recent Russ Cox video on acme.

[I'm struggling to get this vis thing to build and run, tips? Debian stable. I downloaded libtermkey, configure, make make install. Not thrilled about this - would rather it create .a and .h files I could copy it into the vis dir. Now when I run ./vis it says, "error while loading shared libraries: libtermkey.so.1: cannot open shared object file: No such file or directory".]



If you have libtermkey.so.1 somewhere, you could export LD_LIBRARY_PATH to point to the directory containing it.

More notes on what to do if a build system for a project doesn't link in libraries, and you can't simply install the relevant -dev package through apt-get: http://homepages.inf.ed.ac.uk/imurray2/compnotes/library_lin...


Mouse-dependency put me off the sam/acme line (I'm stuck with only two hands, and ssh rather than 9p), but this looks very interesting.

Naming nit: vis(1) has been around for 25 years: http://www.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/share/...


Generalized library troubleshooting: make sure you installed the -dev of whatever package through apt-get, and try running sudo ldconfig (it is supposed to happen automatically). If you did not use apt, check your library search path.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: