SwissMove

When moving through large files the usual scrolling functions might be too slow. Swiss movement is introduced to mean moving in smaller and smaller steps.

At the first keystroke (say it goes down) you’ll move halfway to the end of the file (counting from your current position). If you continue moving in that direction the behaviour will stay the same.

If, however, you change direction you will be carried halfway back towards your starting position.

Imagine it like this (plain stupid ASCII-art)

 Start  press1 press2 press3
 TOP
 ->.... ...... ...... ......
 ...... ...... ...... ......
 ...... ...... ...... ......
 ...... ...... ...... ......
 ...... ->.... ...... ......
 ...... ...... ...... ......
 ...... ...... ...... ->....
 ...... ...... ->.... ......
 ...... ...... ...... ......
 ...... ...... ...... ......
 BOT

Wanna see the code? Get it from here

I like these kinds of hacks that sort of breaks the normal “rules” we are used to. But I wonder, is it useful? Yes, I could test myself but I just wanted to know if it is just a cool thing that maybe could be useful or if people really use it. And I’m too lazy right now… 😊 – MaDa
I wrote it yesterday and start to really use it today. It feels funny but I’ll keep on trying ;-) – StefanKamphausen
The above comments seem to be from 2004. The linked page reveals that the code only worked in XEmacs and that the author has abandoned it circa 2006. – EraEriksson

Nope, it works with GnuEmacs - in spite of what the linked page suggests (it is the comment that says that that is out-of-date).

And the version at that link, though it says it is from 2004, is different from a 2004 version that I had downloaded then. It is, however, the same as what I downloaded in 2008.

The author might have abandoned it, but that doesn’t mean that it doesn’t work or is not useful. And someone else might want to develop it further.

In sum, it’s good that we have it around, either for use or as food for thought.

DrewAdams, who doesn’t use it, but who finds the idea interesting.


CategoryDisplay