📄 test3.ok
字号:
/* start of AUTO matically checked */
{
if (test)
cmd1;
cmd2;
}
{
if (test)
cmd1;
else
cmd2;
}
{
if (test)
{
cmd1;
cmd2;
}
}
{
if (test)
{
cmd1;
else
}
}
{
while (this)
if (test)
cmd1;
cmd2;
}
{
while (this)
if (test)
cmd1;
else
cmd2;
}
{
if (test)
{
cmd;
}
if (test)
cmd;
}
{
if (test) {
cmd;
}
if (test) cmd;
}
{
cmd1;
for (blah)
while (this)
if (test)
cmd2;
cmd3;
}
{
cmd1;
for (blah)
while (this)
if (test)
cmd2;
cmd3;
if (test)
{
cmd1;
cmd2;
cmd3;
}
}
/* Test for 'cindent' do/while mixed with if/else: */
{
do
if (asdf)
asdfasd;
while (cond);
do
if (asdf)
while (asdf)
asdf;
while (asdf);
}
/* Test for 'cindent' with two ) on a continuation line */
{
if (asdfasdf;asldkfj asdlkfj as;ldkfj sal;d
aal;sdkjf ( ;asldfkja;sldfk
al;sdjfka ;slkdf ) sa;ldkjfsa dlk;)
line up here;
}
/* C++ tests: */
// foo() these three lines should remain in column 0
// {
// }
/* Test for continuation and unterminated lines: */
{
i = 99 + 14325 +
21345 +
21345 +
21345 + ( 21345 +
21345) +
2345 +
1234;
c = 1;
}
/*
testje for indent with empty line
here */
{
if (testing &&
not a joke ||
line up here)
hay;
if (testing &&
(not a joke || testing
)line up here)
hay;
if (testing &&
(not a joke || testing
line up here))
hay;
}
{
switch (c)
{
case xx:
do
if (asdf)
do
asdfasdf;
while (asdf);
else
asdfasdf;
while (cond);
case yy:
case xx:
case zz:
testing;
}
}
{
if (cond) {
foo;
}
else
{
bar;
}
}
{
if (alskdfj ;alsdkfjal;skdjf (;sadlkfsa ;dlkf j;alksdfj ;alskdjf
alsdkfj (asldk;fj
awith cino=(0 ;lf this one goes to below the paren with ==
;laksjfd ;lsakdjf ;alskdf asd)
asdfasdf;)))
asdfasdf;
}
int
func(a, b)
int a;
int c;
{
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3)
)
}
{
while (asd)
{
if (asdf)
if (test)
if (that)
{
if (asdf)
do
cdasd;
while (as
df);
}
else
if (asdf)
asdf;
else
asdf;
asdf;
}
}
{
s = "/*"; b = ';'
s = "/*"; b = ';';
a = b;
}
{
switch (a)
{
case a:
switch (t)
{
case 1:
cmd;
break;
case 2:
cmd;
break;
}
cmd;
break;
case b:
{
int i;
cmd;
}
break;
case c: {
int i;
cmd;
}
case d: if (cond &&
test) { /* this line doesn't work right */
int i;
cmd;
}
break;
}
}
{
if (!(vim_strchr(p_cpo, CPO_BUFOPTGLOB) != NULL && entering) &&
(bp_to->b_p_initialized ||
(!entering && vim_strchr(p_cpo, CPO_BUFOPT) != NULL)))
return;
label :
asdf = asdf ?
asdf : asdf;
asdf = asdf ?
asdf: asdf;
}
/* Special Comments : This function has the added complexity (compared */
/* : to addtolist) of having to check for a detail */
/* : texture and add that to the list first. */
char *(array[100]) = {
"testje",
"foo",
"bar",
}
{
struct Type
{
int i;
char *str;
} var[] =
{
0, "zero",
1, "one",
2, "two",
3, "three"
};
float matrix[3][3] =
{
{
0,
1,
2
},
{
3,
4,
5
},
{
6,
7,
8
}
};
}
{
/* blah ( blah */
/* where does this go? */
/* blah ( blah */
cmd;
func(arg1,
/* comment */
arg2);
a;
{
b;
{
c; /* Hey, NOW it indents?! */
}
}
{
func(arg1,
arg2,
arg3);
/* Hey, what am I doing here? Is this coz of the ","? */
}
}
main ()
{
if (cond)
{
a = b;
}
if (cond) {
a = c;
}
if (cond)
a = d;
return;
}
{
case 2: if (asdf &&
asdfasdf)
aasdf;
a = 9;
case 3: if (asdf)
aasdf;
a = 9;
case 4: x = 1;
y = 2;
label: if (asdf)
here;
label: if (asdf &&
asdfasdf)
{
}
label: if (asdf &&
asdfasdf) {
there;
}
label: if (asdf &&
asdfasdf)
there;
}
{
/*
hello with ":set comments= cino=c5"
*/
/*
hello with ":set comments= cino="
*/
}
{
if (a < b) {
a = a + 1;
} else
a = a + 2;
if (a)
do {
testing;
} while (asdfasdf);
a = b + 1;
asdfasdf
}
class bob
{
int foo() {return 1;}
int bar;
}
main()
{
while(1)
if (foo)
{
bar;
}
else {
asdf;
}
misplacedline;
}
{
if (clipboard.state == SELECT_DONE
&& ((row == clipboard.start.lnum
&& col >= clipboard.start.col)
|| row > clipboard.start.lnum))
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest
ENDTEST
{
/* this is
* a real serious
* about life, the
* universe, and the
* rest important big
* comment
*/
/* insert " about life, the universe, and the rest" after "serious" */
}
STARTTEST
:set nocin
/comments
joabout life/happens
jothere/below
oline/this
Ohello
ENDTEST
{
/*
* Testing for comments, without 'cin' set
*/
about life
/*
* what happens here?
*/
there
/*
the end of the comment, try inserting a line below */
line
/* how about
hello
this one */
}
STARTTEST
:set cin
/vec2
==
ENDTEST
{
var = this + that + vec[0] * vec[0]
+ vec[1] * vec[1]
+ vec2[2] * vec[2];
}
STARTTEST
:set cin
:set cino=}4
/testing1
k2==/testing2
k2==
ENDTEST
{
asdf asdflkajds f;
if (tes & ting) {
asdf asdf asdf ;
asdfa sdf asdf;
}
testing1;
if (tes & ting)
{
asdf asdf asdf ;
asdfa sdf asdf;
}
testing2;
}
STARTTEST
:set cin
:set cino=(0,)20
/main
=][
ENDTEST
main ( int first_par, /*
* Comment for
* first par
*/
int second_par /*
* Comment for
* second par
*/
)
{
func( first_par, /*
* Comment for
* first par
*/
second_par /*
* Comment for
* second par
*/
);
}
STARTTEST
:set cin
:set cino=
]]=][
ENDTEST
{
do
{
if ()
{
if ()
asdf;
else
asdf;
}
} while ();
cmd; /* this should go under the } */
}
STARTTEST
]]=][
ENDTEST
void f()
{
if ( k() ) {
l();
} else { /* Start (two words) end */
m();
}
n();
}
STARTTEST
/while
ohere
ENDTEST
a()
{
do {
a = a +
a;
} while ( a ); /* add text under this line */
here
if ( a )
a;
}
STARTTEST
:1;/ENDTEST/+1,$wq! test.out
ENDTEST
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -