�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!PKA0]+ Y||editexisting.vimnu[" Load the editexisting package. " For those users who were loading the editexisting plugin from here. packadd editexisting PKA0]YIIhanoi/hanoi.vimnu[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/ PKA0]"Whanoi/click.menu[ See Vim solve the towers of Hanoi! Instructions: type ":so hanoi.vim" to load the macros type "g" to start it and watch it go. to quit type ":q!" to interrupt type CTRL-C (This text will disappear as soon as you type "g") PKA0]v hanoi/posternu[Article 2913 of alt.sources: Path: oce-rd1!hp4nl!mcsun!uunet!munnari.oz.au!metro!cluster!swift!softway!otc!gregm From: gregm@otc.otca.oz.au (Greg McFarlane) Newsgroups: comp.sources.d,alt.sources,comp.editors Subject: VI SOLVES HANOI Message-ID: <2323@otc.otca.oz> Date: 19 Feb 91 01:32:14 GMT Sender: news@otc.otca.oz Reply-To: gregm@otc.otca.oz.au (Greg McFarlane) Organization: OTC Development Unit, Australia Lines: 80 Xref: oce-rd1 comp.sources.d:5702 alt.sources:2913 comp.editors:2313 Submitted-by: gregm@otc.otca.oz.au Archive-name: hanoi.vi.macros/part01 Everyone seems to be writing stupid Tower of Hanoi programs. Well, here is the stupidest of them all: the hanoi solving vi macros. Save this article, unshar it, and run uudecode on hanoi.vi.macros.uu. This will give you the macro file hanoi.vi.macros. Then run vi (with no file: just type "vi") and type: :so hanoi.vi.macros g and watch it go. The default height of the tower is 7 but can be easily changed by editing the macro file. The disks aren't actually shown in this version, only numbers representing each disk, but I believe it is possible to write some macros to show the disks moving about as well. Any takers? (For maze solving macros, see alt.sources or comp.editors) Greg PKA0]VIrr swapmous.vimnu[" Load the swapmouse package. " For those users who were loading the swapmous plugin from here. packadd swapmouse PKA0]swless.vimnu[" Vim script to work like "less" " Maintainer: Bram Moolenaar " Last Change: 2017 Mar 31 " Avoid loading this file twice, allow the user to define his own script. if exists("loaded_less") finish endif let loaded_less = 1 " If not reading from stdin, skip files that can't be read. " Exit if there is no file at all. if argc() > 0 let s:i = 0 while 1 if filereadable(argv(s:i)) if s:i != 0 sleep 3 endif break endif if isdirectory(argv(s:i)) echomsg "Skipping directory " . argv(s:i) elseif getftime(argv(s:i)) < 0 echomsg "Skipping non-existing file " . argv(s:i) else echomsg "Skipping unreadable file " . argv(s:i) endif echo "\n" let s:i = s:i + 1 if s:i == argc() quit endif next endwhile endif set nocp syntax on set so=0 set hlsearch set incsearch nohlsearch " Don't remember file names and positions set viminfo= set nows " Inhibit screen updates while searching let s:lz = &lz set lz " Allow the user to define a function, which can set options specifically for " this script. if exists('*LessInitFunc') call LessInitFunc() endif " Used after each command: put cursor at end and display position if &wrap noremap L L0:redraw:file au VimEnter * normal! L0 else noremap L Lg0:redraw:file au VimEnter * normal! Lg0 endif " When reading from stdin don't consider the file modified. au VimEnter * set nomod " Can't modify the text set noma " Give help noremap h :call Help() map H h fun! s:Help() echo " One page forward b One page backward" echo "d Half a page forward u Half a page backward" echo " One line forward k One line backward" echo "G End of file g Start of file" echo "N% percentage in file" echo "\n" echo "/pattern Search for pattern ?pattern Search backward for pattern" echo "n next pattern match N Previous pattern match" if &foldmethod != "manual" echo "\n" echo "zR open all folds zm increase fold level" endif echo "\n" echo ":n Next file :p Previous file" echo "\n" echo "q Quit v Edit file" let i = input("Hit Enter to continue") endfun " Scroll one page forward noremap