CardiacPhase/Git/usr/share/vim/vim81/macros/hanoi/hanoi.vim
2019-05-06 16:34:28 +02:00

65 lines
1.1 KiB
VimL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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/