int viunindent(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; }
int viyank(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; }
int vioperswapcase(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; }
void viunindent(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(); }
void viyank(void) { int oldcs = cs, c2; startvichange(1); if ((c2 = getvirange(0)) != -1) cut(cs, c2 - cs, 0); vichgflag = vilinerange = 0; cs = oldcs; }
int viyank(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; }
void vichange(void) { int c2; startvichange(1); if ((c2 = getvirange(1)) != -1) { forekill(c2 - cs, 0); bindtab = mainbindtab; viinsbegin = cs; undoing = 0; } vilinerange = 0; }
int vichange(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; }
int vichange(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; }
void videlete(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; }
int videlete(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; }
void vioperswapcase(void) { int oldcs, c2; /* get the range */ startvichange(1); if ((c2 = getvirange(0)) != -1) { oldcs = cs; /* swap the case of all letters within range */ while (cs < c2) { if (islower(line[cs])) line[cs] = tuupper(line[cs]); else if (isupper(line[cs])) line[cs] = tulower(line[cs]); cs++; } cs = oldcs; } vichgflag = vilinerange = 0; }
int vidowncase(UNUSED(char **args)) { int oldcs, c2, ret = 1; /* get the range */ startvichange(1); if ((c2 = getvirange(0)) != -1) { oldcs = zlecs; /* convert the case of all letters within range */ while (zlecs < c2) { zleline[zlecs] = ZC_tolower(zleline[zlecs]); INCCS(); } /* go back to the first line of the range */ zlecs = oldcs; ret = 0; } vichgflag = 0; return ret; }
int viindent(UNUSED(char **args)) { int oldcs = zlecs, c2; startvichange(1); /* force line range */ if (region_active == 1) region_active = 2; /* get the range */ if ((c2 = getvirange(0)) == -1) { vichgflag = 0; return 1; } vichgflag = 0; /* must be a line range */ if (!vilinerange) { zlecs = oldcs; return 1; } oldcs = zlecs; /* add a tab to the beginning of each line within range */ while (zlecs <= c2 + 1) { if (zleline[zlecs] == '\n') { /* leave blank lines alone */ ++zlecs; } else { spaceinline(1); zleline[zlecs] = '\t'; zlecs = findeol() + 1; } } /* go back to the first line of the range */ zlecs = oldcs; vifirstnonblank(zlenoargs); return 0; }