patch 8.0.0826: cannot use text objects in Terminal mode
Problem: Cannot use text objects in Terminal mode.
Solution: Check for pending operator and Visual mode first. (Yasuhiro
Matsumoto, closes #1906)
diff --git a/src/normal.c b/src/normal.c
index e8f80f1..d655c74 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -9037,14 +9037,6 @@
static void
nv_edit(cmdarg_T *cap)
{
-#ifdef FEAT_TERMINAL
- if (term_in_terminal_mode())
- {
- term_leave_terminal_mode();
- return;
- }
-#endif
-
/* <Insert> is equal to "i" */
if (cap->cmdchar == K_INS || cap->cmdchar == K_KINS)
cap->cmdchar = 'i';
@@ -9063,6 +9055,14 @@
clearopbeep(cap->oap);
#endif
}
+#ifdef FEAT_TERMINAL
+ else if (term_in_terminal_mode())
+ {
+ clearop(cap->oap);
+ term_leave_terminal_mode();
+ return;
+ }
+#endif
else if (!curbuf->b_p_ma && !p_im)
{
/* Only give this error when 'insertmode' is off. */