2013-02-12 11:55:32 +01:00
|
|
|
# Tests of the vi mode of ZLE
|
|
|
|
|
|
|
|
%prep
|
|
|
|
if ( zmodload -i zsh/zpty ) >/dev/null 2>&1; then
|
|
|
|
. $ZTST_srcdir/comptest
|
|
|
|
comptestinit -v -z $ZTST_testdir/../Src/zsh
|
|
|
|
else
|
|
|
|
ZTST_unimplemented="the zsh/zpty module is not available"
|
|
|
|
fi
|
|
|
|
|
|
|
|
%test
|
|
|
|
|
2014-10-23 22:12:06 +02:00
|
|
|
zletest $'goox\ecld'
|
|
|
|
0:change last character in buffer
|
|
|
|
>BUFFER: good
|
|
|
|
>CURSOR: 4
|
|
|
|
|
2014-10-23 21:47:23 +02:00
|
|
|
zletest $'yankee doodle\ebhDyy0"1P'
|
|
|
|
0:paste register 1 to get last deletion
|
|
|
|
>BUFFER: doodleyankee
|
|
|
|
>CURSOR: 6
|
|
|
|
|
|
|
|
zletest $'yankee\eyyodoodle\edd"0p'
|
|
|
|
0:paste register 0 to get last yank
|
|
|
|
>BUFFER: yankee
|
|
|
|
>yankee
|
|
|
|
>CURSOR: 7
|
|
|
|
|
|
|
|
zletest $'err\eddahello\e"hddP'
|
|
|
|
0:setting named register also sets unnamed register
|
|
|
|
>BUFFER: hello
|
|
|
|
>CURSOR: 0
|
|
|
|
|
|
|
|
zletest $'first\e"ay0ddasecond\e"Add"aP'
|
|
|
|
0:appending to named register
|
|
|
|
>BUFFER: firs
|
|
|
|
>second
|
|
|
|
>CURSOR: 0
|
|
|
|
|
|
|
|
zletest $'word\e"a"byy"bp'
|
|
|
|
0:set one and then a different register
|
|
|
|
>BUFFER: word
|
|
|
|
>word
|
|
|
|
>CURSOR: 5
|
|
|
|
|
|
|
|
zletest $'i\exaar\e0"a"_cewn\eP'
|
|
|
|
0:set register then set black hole register
|
|
|
|
>BUFFER: win
|
|
|
|
>CURSOR: 1
|
|
|
|
|
|
|
|
zletest $'double\eyy"_"0P'
|
|
|
|
0:reset register after selecting black hole
|
|
|
|
>BUFFER: double
|
|
|
|
>double
|
|
|
|
>CURSOR: 0
|
|
|
|
|
|
|
|
# zsh works like vi here; in vim you get the concatenated string
|
|
|
|
zletest $'first\e"addasecond\eddP'
|
|
|
|
0:retrieve unnamed register after appending
|
|
|
|
>BUFFER: second
|
|
|
|
>CURSOR: 0
|
|
|
|
|
|
|
|
zletest $'Z\exayankee doodle\e"_db0"_yeP'
|
|
|
|
0:yank and delete to black hole register
|
|
|
|
>BUFFER: Zyankee e
|
|
|
|
>CURSOR: 0
|
|
|
|
|
|
|
|
zletest $'foo\eddabar\e"_p..'
|
|
|
|
0:paste from black hole register and repeat
|
|
|
|
>BUFFER: bar
|
|
|
|
>CURSOR: 2
|
|
|
|
|
|
|
|
zletest $'start\eFa"ac2lnew\eX"ap..'
|
|
|
|
0:repeat paste from named register
|
|
|
|
>BUFFER: stnwararart
|
|
|
|
>CURSOR: 9
|
|
|
|
|
2014-02-05 23:18:26 +01:00
|
|
|
zletest $'word\euaend'
|
|
|
|
0:undo initial change
|
|
|
|
>BUFFER: end
|
|
|
|
>CURSOR: 3
|
|
|
|
|
|
|
|
zletest $'text\e.'
|
|
|
|
0:repeat initial edit
|
|
|
|
>BUFFER: text
|
|
|
|
>text
|
|
|
|
>CURSOR: 8
|
|
|
|
|
2014-03-18 17:57:47 +01:00
|
|
|
zpty_run 'print -z before'
|
2014-02-05 23:18:26 +01:00
|
|
|
zletest $'after\e.'
|
|
|
|
0:repeat initial edit with non-blank starting line
|
|
|
|
>BUFFER: beforeafterafter
|
|
|
|
>CURSOR: 15
|
|
|
|
|
2014-03-18 17:57:47 +01:00
|
|
|
zpty_run 'setopt overstrike;print -z bung'
|
2014-02-05 23:18:26 +01:00
|
|
|
zletest $'ing\e2|.'
|
|
|
|
0:repeat initial edit with overstrike set
|
|
|
|
>BUFFER: binging
|
|
|
|
>CURSOR: 3
|
|
|
|
|
2014-03-18 17:57:47 +01:00
|
|
|
zpty_run 'bindkey "^_" undo'
|
2014-02-05 23:18:26 +01:00
|
|
|
zletest $'undoc\037e'
|
|
|
|
0:use of undo in vi insert mode
|
|
|
|
>BUFFER: undoe
|
|
|
|
>CURSOR: 5
|
|
|
|
|
|
|
|
zletest $'one\euatwo\e0clthree'
|
|
|
|
0:vi mode undo of initial and subsequent change
|
|
|
|
>BUFFER: threewo
|
|
|
|
>CURSOR: 5
|
|
|
|
|
|
|
|
zletest $'xxx\euiyyy\euAz'
|
|
|
|
0:undo invoked twice
|
|
|
|
>BUFFER: z
|
|
|
|
>CURSOR: 1
|
|
|
|
|
2014-03-18 17:57:47 +01:00
|
|
|
zpty_run 'bindkey -a "^K" redo'
|
2014-02-15 22:45:35 +01:00
|
|
|
zletest $'123\C-_\e\C-k'
|
2014-02-05 23:18:26 +01:00
|
|
|
0:undo in insert mode, redo in command
|
|
|
|
>BUFFER: 123
|
|
|
|
>CURSOR: 2
|
|
|
|
|
2014-03-18 17:57:47 +01:00
|
|
|
zpty_run 'bindkey "^Y" redo'
|
2014-02-05 23:18:26 +01:00
|
|
|
zletest $'pre\eA123\C-_\C-y\eu'
|
|
|
|
0:undo and redo in insert mode, undo in command
|
|
|
|
>BUFFER: pre
|
|
|
|
>CURSOR: 2
|
|
|
|
|
2014-03-18 17:57:47 +01:00
|
|
|
zpty_run 'bindkey "^Gu" split-undo'
|
2014-02-05 23:18:26 +01:00
|
|
|
zletest $'one\C-gutwo\eu'
|
|
|
|
0:split the undo sequence
|
|
|
|
>BUFFER: one
|
|
|
|
>CURSOR: 2
|
|
|
|
|
2013-02-12 11:55:32 +01:00
|
|
|
zletest $'one two\ebmt3|`tx``'
|
|
|
|
0:setting mark and returning to original position
|
|
|
|
>BUFFER: one wo
|
|
|
|
>CURSOR: 2
|
|
|
|
|
|
|
|
%clean
|
|
|
|
|
|
|
|
zmodload -ui zsh/zpty
|