mirror of
https://github.com/vim/vim.git
synced 2025-10-01 04:54:07 -04:00
patch 8.1.1988: :startinsert! does not work the same way as "A"
Problem: :startinsert! does not work the same way as "A". Solution: Use the same code to move the cursor. (closes #4896)
This commit is contained in:
@@ -7596,16 +7596,14 @@ ex_startinsert(exarg_T *eap)
|
||||
{
|
||||
if (eap->forceit)
|
||||
{
|
||||
/* cursor line can be zero on startup */
|
||||
// cursor line can be zero on startup
|
||||
if (!curwin->w_cursor.lnum)
|
||||
curwin->w_cursor.lnum = 1;
|
||||
coladvance((colnr_T)MAXCOL);
|
||||
curwin->w_curswant = MAXCOL;
|
||||
curwin->w_set_curswant = FALSE;
|
||||
set_cursor_for_append_to_line();
|
||||
}
|
||||
|
||||
/* Ignore the command when already in Insert mode. Inserting an
|
||||
* expression register that invokes a function can do this. */
|
||||
// Ignore the command when already in Insert mode. Inserting an
|
||||
// expression register that invokes a function can do this.
|
||||
if (State & INSERT)
|
||||
return;
|
||||
|
||||
@@ -7620,7 +7618,7 @@ ex_startinsert(exarg_T *eap)
|
||||
{
|
||||
if (eap->cmdidx == CMD_startinsert)
|
||||
restart_edit = 'i';
|
||||
curwin->w_curswant = 0; /* avoid MAXCOL */
|
||||
curwin->w_curswant = 0; // avoid MAXCOL
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user