aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vis.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/vis.c b/vis.c
index cb401d9..d86b9ec 100644
--- a/vis.c
+++ b/vis.c
@@ -1127,9 +1127,14 @@ static void put(const Arg *arg) {
}
static void openline(const Arg *arg) {
- movement(&(const Arg){ .i = arg->i == MOVE_LINE_NEXT ?
- MOVE_LINE_END : MOVE_LINE_PREV });
- insert_newline(NULL);
+ if (arg->i == MOVE_LINE_NEXT) {
+ movement(&(const Arg){ .i = MOVE_LINE_END });
+ insert_newline(NULL);
+ } else {
+ movement(&(const Arg){ .i = MOVE_LINE_BEGIN });
+ insert_newline(NULL);
+ movement(&(const Arg){ .i = MOVE_LINE_PREV });
+ }
switchmode(&(const Arg){ .i = VIS_MODE_INSERT });
}