view runtime/macros/hanoi/hanoi.vim @ 15209:3a99b2e6d136 v8.1.0614

patch 8.1.0614: placing signs can be complicated commit https://github.com/vim/vim/commit/162b71479bd4dcdb3a2ef9198a1444f6f99e6843 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Dec 21 15:17:36 2018 +0100 patch 8.1.0614: placing signs can be complicated Problem: Placing signs can be complicated. Solution: Add functions for defining and placing signs. Introduce a group name to avoid different plugins using the same signs. (Yegappan Lakshmanan, closes #3652)
author Bram Moolenaar <Bram@vim.org>
date Fri, 21 Dec 2018 15:30:07 +0100
parents 3fc0f57ecb91
children bdda48f01a68
line wrap: on
line source

set remap
set noterse
set wrapscan
" to set the height of the tower, change the digit in the following
" two lines to the height you want (select from 1 to 9)
map t 7
map! t 7
map L 1G/t
X/^0
$P1GJ$An$BGC0e$X0E0F$X/T
@f
@h
$A1GJ@f0l$Xn$PU
map g IL

map J /^0[^t]*$
map X x
map P p
map U L
map A "fyl
map B "hyl
map C "fp
map e "fy2l
map E "hp
map F "hy2l

" initialisations:
" KM	cleanup buffer
" Y	create tower of desired height
" NOQ	copy it and inster a T
" NO	copy this one
" S	change last char into a $
" R	change last char in previous line into a n
" T	insert two lines containing a zero
" V	add a last line containing a backslash
map I KMYNOQNOSkRTV

"create empty line
map K 1Go

"delete to end of file
map M dG

"yank one line
map N yy

"put
map O p

"delete more than height-of-tower characters
map q tllD

"create a tower of desired height
map Y o0123456789Z0q

"insert a T in column 1
map Q 0iT

"substitute last character with a n
map R $rn

"substitute last character with a $
map S $r$

"insert two lines containing a zero
map T ko0
0



"add a backslash at the end
map V Go/