diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-11-01 00:43:20 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-11-01 13:43:20 +0900 |
commit | 471427d045f74fa9d2e47b2975ef178e719c2ae8 (patch) | |
tree | 2a3bf3f62e0c9ad9215f6f1acd0ee90eaaa4acaa /src/nvim/normal.c | |
parent | efaf4732e26e2f0fbfab947296141376223b30d7 (diff) | |
download | rneovim-471427d045f74fa9d2e47b2975ef178e719c2ae8.tar.gz rneovim-471427d045f74fa9d2e47b2975ef178e719c2ae8.tar.bz2 rneovim-471427d045f74fa9d2e47b2975ef178e719c2ae8.zip |
vim-patch:8.1.2231: introduce gM command #11321
Problem: Not easy to move to the middle of a text line.
Solution: Add the gM command. (Yasuhiro Matsumoto, closes vim/vim#2070)
https://github.com/vim/vim/commit/8b530c1ff91f07cf6b0289a536992b7dfbc86598
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r-- | src/nvim/normal.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index d1c6362931..2ef2c3101f 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -6749,6 +6749,22 @@ static void nv_g_cmd(cmdarg_T *cap) curwin->w_set_curswant = true; break; + case 'M': + { + const char_u *const ptr = get_cursor_line_ptr(); + + oap->motion_type = kMTCharWise; + oap->inclusive = false; + i = (int)mb_string2cells_len(ptr, STRLEN(ptr)); + if (cap->count0 > 0 && cap->count0 <= 100) { + coladvance((colnr_T)(i * cap->count0 / 100)); + } else { + coladvance((colnr_T)(i / 2)); + } + curwin->w_set_curswant = true; + } + break; + case '_': /* "g_": to the last non-blank character in the line or <count> lines * downward. */ |