您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ startvichange函数代码示例

51自学网 2021-06-03 08:22:25
  C++
这篇教程C++ startvichange函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中startvichange函数的典型用法代码示例。如果您正苦于以下问题:C++ startvichange函数的具体用法?C++ startvichange怎么用?C++ startvichange使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了startvichange函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: vijoin

intvijoin(UNUSED(char **args)){    int x, pos;    startvichange(-1);    if ((x = findeol()) == zlell)	return 1;    zlecs = x + 1;    pos = zlecs;    for (; zlecs != zlell && ZC_iblank(zleline[zlecs]); INCPOS(zlecs))	;    x = 1 + (zlecs - pos);    backdel(x, CUT_RAW);    if (zlecs) {	int pos = zlecs;	DECPOS(pos);	if (ZC_iblank(zleline[pos])) {	    zlecs = pos;	    return 0;	}    }    spaceinline(1);    zleline[zlecs] = ZWC(' ');    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:26,


示例2: vibackwarddeletechar

intvibackwarddeletechar(char **args){    int n = zmult;    if (invicmdmode())	startvichange(-1);    /* handle negative argument */    if (n < 0) {	int ret;	zmult = -n;	ret = videletechar(args);	zmult = n;	return ret;    }    /* It is an error to be at the beginning of the line, or (in *     * insert mode) to delete past the beginning of insertion.   */    if ((!invicmdmode() && zlecs - n < viinsbegin) || zlecs == findbol()) {	return 1;    }    /* Put argument into the acceptable range -- it is not an error to  *     * specify a greater count than the number of available characters. */    /* HERE: we should do the test properly with DECPOS(). */    if (n > zlecs - findbol()) {	n = zlecs - findbol();	/* do the deletion */	backkill(n, CUT_FRONT|CUT_RAW);    } else	backkill(n, CUT_FRONT);    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:31,


示例3: viputafter

voidviputafter(void){    Cutbuffer buf = &cutbuf;    startvichange(-1);    if (zmult < 0)	return;    if (gotvibufspec)	buf = &vibuf[vibufspec];    if (!buf->buf) {	feep();	return;    }    vilinerange = !!(buf->flags & CUTBUFFER_LINE);    if (vilinerange) {	cs = findeol();	spaceinline(buf->len + 1);	line[cs++] = '/n';	memcpy((char *)line + cs, buf->buf, buf->len);	vifirstnonblank();    } else {	if (cs != findeol())	    cs++;	while (zmult--) {	    spaceinline(buf->len);	    memcpy((char *)line + cs, buf->buf, buf->len);	    cs += buf->len;	}	if (cs)	    cs--;    }}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:34,


示例4: viputafter

intviputafter(UNUSED(char **args)){    Cutbuffer buf = &cutbuf;    int n = zmult;    startvichange(-1);    if (n < 0)	return 1;    if (zmod.flags & MOD_VIBUF)	buf = &vibuf[zmod.vibuf];    if (!buf->buf)	return 1;    if(buf->flags & CUTBUFFER_LINE) {	zlecs = findeol();	spaceinline(buf->len + 1);	zleline[zlecs++] = ZWC('/n');	ZS_memcpy(zleline + zlecs, buf->buf, buf->len);	vifirstnonblank(zlenoargs);    } else {	if (zlecs != findeol())	    INCCS();	while (n--) {	    spaceinline(buf->len);	    ZS_memcpy(zleline + zlecs, buf->buf, buf->len);	    zlecs += buf->len;	}	if (zlecs)	    DECCS();    }    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:32,


示例5: viunindent

voidviunindent(void){    int oldcs = cs, c2;    /* get the range */    startvichange(1);    if ((c2 = getvirange(0)) == -1) {	vichgflag = vilinerange = 0;	return;    }    vichgflag = 0;    /* must be a line range */    if (!vilinerange) {	feep();	cs = oldcs;	return;    }    vilinerange = 0;    oldcs = cs;    /* remove a tab from the beginning of each line within range */    while (cs < c2) {	if (line[cs] == '/t')	    foredel(1);	cs = findeol() + 1;    }    /* go back to the first line of the range */    cs = oldcs;    vifirstnonblank();}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:30,


示例6: videletechar

intvideletechar(char **args){    int n = zmult;    startvichange(-1);    /* handle negative argument */    if (n < 0) {	int ret;	zmult = -n;	ret = vibackwarddeletechar(args);	zmult = n;	return ret;    }    /* it is an error to be on the end of line */    if (zlecs == zlell || zleline[zlecs] == '/n')	return 1;    /* Put argument into the acceptable range -- it is not an error to  *     * specify a greater count than the number of available characters. */    /* HERE: we should do the test properly with INCPOS(). */    if (n > findeol() - zlecs) {	n = findeol() - zlecs;	/* do the deletion */	forekill(n, CUT_RAW);    } else {	forekill(n, 0);    }    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:29,


示例7: vireplacechars

voidvireplacechars(void){    int ch;    startvichange(1);    /* get key */    if((ch = vigetkey()) == -1) {	vichgflag = 0;	feep();	return;    }    /* check argument range */    if (zmult < 0 || zmult + cs > findeol()) {	vichgflag = 0;	feep();	return;    }    /* do change */    if (ch == '/r' || ch == '/n') {	/* <return> handled specially */	cs += zmult - 1;	backkill(zmult - 1, 0);	line[cs++] = '/n';    } else {	while (zmult--)	    line[cs++] = ch;	cs--;    }    vichgflag = 0;}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:31,


示例8: vireplacechars

intvireplacechars(UNUSED(char **args)){    ZLE_INT_T ch;    int n = zmult, fail = 0, newchars = 0;    if (n > 0) {	int pos = zlecs;	while (n-- > 0) {	    if (pos == zlell || zleline[pos] == ZWC('/n')) {		fail = 1;		break;	    }	    newchars++;	    INCPOS(pos);	}	n = pos - zlecs;    }    startvichange(1);    /* check argument range */    if (n < 1 || fail) {	if(vichgrepeat)	    vigetkey();	if(vichgflag) {	    free(vichgbuf);	    vichgbuf = NULL;	    vichgflag = 0;	}	return 1;    }    /* get key */    if((ch = vigetkey()) == ZLEEOF) {	vichgflag = 0;	return 1;    }    /* do change */    if (ch == ZWC('/r') || ch == ZWC('/n')) {	/* <return> handled specially */	zlecs += n - 1;	backkill(n - 1, CUT_RAW);	zleline[zlecs++] = '/n';    } else {	/*	 * Make sure we delete displayed characters, including	 * attach combining characters. n includes this as a raw	 * buffer offset.	 * Use shiftchars so as not to adjust the cursor position;	 * we are overwriting anything that remains directly.	 */	if (n > newchars)	    shiftchars(zlecs, n - newchars);	else if (n < newchars)	    spaceinline(newchars - n);	while (newchars--)	    zleline[zlecs++] = ch;	zlecs--;    }    vichgflag = 0;    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:60,


示例9: vioperswapcase

intvioperswapcase(UNUSED(char **args)){    int oldcs, c2, ret = 1;    /* get the range */    startvichange(1);    if ((c2 = getvirange(0)) != -1) {	oldcs = zlecs;	/* swap the case of all letters within range */	while (zlecs < c2) {	    if (ZC_ilower(zleline[zlecs]))		zleline[zlecs] = ZC_toupper(zleline[zlecs]);	    else if (ZC_iupper(zleline[zlecs]))		zleline[zlecs] = ZC_tolower(zleline[zlecs]);	    INCCS();	}	/* go back to the first line of the range */	zlecs = oldcs;	ret = 0;#if 0	vifirstnonblank();#endif    }    vichgflag = 0;    return ret;}
开发者ID:Osse,项目名称:zsh,代码行数:27,


示例10: vipoundinsert

intvipoundinsert(UNUSED(char **args)){    int oldcs = zlecs;    startvichange(-1);    vifirstnonblank(zlenoargs);    if(zleline[zlecs] != '#') {	spaceinline(1);	zleline[zlecs] = '#';	if(zlecs <= viinsbegin)	    INCPOS(viinsbegin);	if (zlecs <= oldcs)	    INCPOS(oldcs);	zlecs = oldcs;    } else {	foredel(1, 0);	if (zlecs < viinsbegin)	    DECPOS(viinsbegin);	if (zlecs < oldcs)	    DECPOS(oldcs);	zlecs = oldcs;    }    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:25,


示例11: viyank

intviyank(UNUSED(char **args)){    int c2, ret = 1;    startvichange(1);    if ((c2 = getvirange(0)) != -1) {	cut(zlecs, c2 - zlecs, CUT_YANK);	ret = 0;    }    vichgflag = 0;    /* cursor now at the start of the range yanked. For line mode     * restore the column position */    if (vilinerange && lastcol != -1) {	int x = findeol();	if ((zlecs += lastcol) >= x) {	    zlecs = x;	    if (zlecs > findbol() && invicmdmode())		DECCS();	}#ifdef MULTIBYTE_SUPPORT	else	    CCRIGHT();#endif	lastcol = -1;    }    return ret;}
开发者ID:jackleaks,项目名称:zsh,代码行数:29,


示例12: viunindent

intviunindent(UNUSED(char **args)){    int oldcs = zlecs, c2;    /* get the range */    startvichange(1);    if ((c2 = getvirange(0)) == -1) {	vichgflag = 0;	return 1;    }    vichgflag = 0;    /* must be a line range */    if (!vilinerange) {	zlecs = oldcs;	return 1;    }    oldcs = zlecs;    /* remove a tab from the beginning of each line within range */    while (zlecs < c2) {	if (zleline[zlecs] == '/t')	    foredel(1, 0);	zlecs = findeol() + 1;    }    /* go back to the first line of the range */    zlecs = oldcs;    vifirstnonblank(zlenoargs);    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:29,


示例13: startvitext

static voidstartvitext(int im){    startvichange(im);    bindtab = mainbindtab;    undoing = 0;    viinsbegin = cs;}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:8,


示例14: startvitext

static voidstartvitext(int im){    startvichange(im);    selectkeymap("main", 1);    vistartchange = undo_changeno;    viinsbegin = zlecs;}
开发者ID:jackleaks,项目名称:zsh,代码行数:8,


示例15: startvitext

static voidstartvitext(int im){    startvichange(im);    selectkeymap("main", 1);    vistartchange = (curchange && curchange->prev) ? curchange->prev->changeno : 0;    viinsbegin = zlecs;}
开发者ID:Osse,项目名称:zsh,代码行数:8,


示例16: startvitext

static voidstartvitext(int im){    startvichange(im);    selectkeymap("main", 1);    undoing = 0;    viinsbegin = zlecs;}
开发者ID:Jaharmi,项目名称:zsh,代码行数:8,


示例17: viyank

voidviyank(void){    int oldcs = cs, c2;    startvichange(1);    if ((c2 = getvirange(0)) != -1)	cut(cs, c2 - cs, 0);    vichgflag = vilinerange = 0;    cs = oldcs;}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:11,


示例18: viyankeol

intviyankeol(UNUSED(char **args)){    int x = findeol();    startvichange(-1);    if (x == zlecs)	return 1;    cut(zlecs, x - zlecs, 0);    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:11,


示例19: viyankeol

voidviyankeol(void){    int x = findeol();    startvichange(-1);    if (x == cs) {	feep();	return;    }    cut(cs, x - cs, 0);}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:12,


示例20: vichange

voidvichange(void){    int c2;    startvichange(1);    if ((c2 = getvirange(1)) != -1) {	forekill(c2 - cs, 0);	bindtab = mainbindtab;	viinsbegin = cs;	undoing = 0;    }    vilinerange = 0;}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:14,


示例21: viyank

intviyank(UNUSED(char **args)){    int oldcs = zlecs, c2, ret = 1;    startvichange(1);    if ((c2 = getvirange(0)) != -1) {	cut(zlecs, c2 - zlecs, 0);	ret = 0;    }    vichgflag = 0;    zlecs = oldcs;    return ret;}
开发者ID:Osse,项目名称:zsh,代码行数:14,


示例22: vikilleol

intvikilleol(UNUSED(char **args)){    int n = findeol() - zlecs;    startvichange(-1);    if (!n) {	/* error -- line already empty */	return 1;    }    /* delete to end of line */    forekill(findeol() - zlecs, CUT_RAW);    return 0;}
开发者ID:Osse,项目名称:zsh,代码行数:14,


示例23: vikilleol

voidvikilleol(void){    int n = findeol() - cs;    startvichange(-1);    if (!n) {	/* error -- line already empty */	feep();	return;    }    /* delete to end of line */    forekill(findeol() - cs, 0);}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:14,


示例24: vichange

intvichange(UNUSED(char **args)){    int c2, ret = 1;    startvichange(1);    if ((c2 = getvirange(1)) != -1) {	ret = 0;	forekill(c2 - zlecs, CUT_RAW);	selectkeymap("main", 1);	viinsbegin = zlecs;	vistartchange = (curchange && curchange->prev) ? curchange->prev->changeno : 0;    }    return ret;}
开发者ID:Osse,项目名称:zsh,代码行数:15,


示例25: vichange

intvichange(UNUSED(char **args)){    int c2, ret = 1;    startvichange(1);    if ((c2 = getvirange(1)) != -1) {	ret = 0;	forekill(c2 - zlecs, CUT_RAW);	selectkeymap("main", 1);	viinsbegin = zlecs;	undoing = 0;    }    return ret;}
开发者ID:Jaharmi,项目名称:zsh,代码行数:15,


示例26: videlete

voidvidelete(void){    int c2;    startvichange(1);    if ((c2 = getvirange(0)) != -1) {	forekill(c2 - cs, 0);	if (vilinerange && ll) {	    if (cs == ll)		cs--;	    foredel(1);	    vifirstnonblank();	}    }    vichgflag = vilinerange = 0;}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:17,


示例27: viputafter

intviputafter(UNUSED(char **args)){    int n = zmult;    startvichange(-1);    if (n < 0 || zmod.flags & MOD_NULL)	return 1;    if (zmod.flags & MOD_VIBUF)	kctbuf = &vibuf[zmod.vibuf];    else	kctbuf = &cutbuf;    if (!kctbuf->buf)	return 1;    kct = -1;    yankcs = zlecs;    pastebuf(kctbuf, n, 1);    return 0;}
开发者ID:MPOWER4RU,项目名称:zsh,代码行数:19,


示例28: viswapcase

voidviswapcase(void){    int eol;    startvichange(-1);    if (zmult < 1)	return;    eol = findeol();    while (cs < eol && zmult--) {	if (islower(line[cs]))	    line[cs] = tuupper(line[cs]);	else if (isupper(line[cs]))	    line[cs] = tulower(line[cs]);	cs++;    }    if (cs && cs == eol)	cs--;}
开发者ID:prabirshrestha,项目名称:winzsh,代码行数:19,


示例29: videlete

intvidelete(UNUSED(char **args)){    int c2, ret = 1;    startvichange(1);    if ((c2 = getvirange(0)) != -1) {	forekill(c2 - zlecs, CUT_RAW);	ret = 0;	if (vilinerange && zlell) {	    if (zlecs == zlell)		DECCS();	    foredel(1, 0);	    vifirstnonblank(zlenoargs);	}    }    vichgflag = 0;    return ret;}
开发者ID:Osse,项目名称:zsh,代码行数:19,


示例30: vijoin

intvijoin(UNUSED(char **args)){    int x, pos;    int n = zmult;    int visual = region_active;    startvichange(-1);    if (n < 1)	return 1;    if (visual && zlecs > mark) {	exchangepointandmark(zlenoargs);	x = findeol();	if (x >= mark) {	    exchangepointandmark(zlenoargs);	    return 1;	}    } else if ((x = findeol()) == zlell || (visual && x >= mark))	return 1;    while (n) {	zlecs = x + 1;	pos = zlecs;	for (; zlecs != zlell && ZC_iblank(zleline[zlecs]); INCPOS(zlecs))	    ;	x = 1 + (zlecs - pos);	backdel(x, CUT_RAW);	if (zlecs) {	    int pos = zlecs;	    DECPOS(pos);	    if (ZC_iblank(zleline[pos])) {		zlecs = pos;		return 0;	    }	}	spaceinline(1);	zleline[zlecs] = ZWC(' ');	if ((!visual && --n < 2) || (x = findeol()) == zlell || (visual && x >= mark))	    return 0;    }    return 0;}
开发者ID:jackleaks,项目名称:zsh,代码行数:42,



注:本文中的startvichange函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ stasis_app_send_command_async函数代码示例
C++ startup函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。