aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/move.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-04-01 07:11:38 +0800
committerGitHub <noreply@github.com>2022-04-01 07:11:38 +0800
commit8a6cf51a710585fee7edb9d1357791da30f31f44 (patch)
tree09cea09f139567e60d5505e0905f997346d90933 /src/nvim/move.c
parentdc48330b9d51bffb314583bbe4073dfa1083d9a5 (diff)
downloadrneovim-8a6cf51a710585fee7edb9d1357791da30f31f44.tar.gz
rneovim-8a6cf51a710585fee7edb9d1357791da30f31f44.tar.bz2
rneovim-8a6cf51a710585fee7edb9d1357791da30f31f44.zip
vim-patch:8.2.3122: with 'nowrap' cursor position is unexected in narrow window (#17935)
Problem: With 'nowrap' cursor position is unexected in narrow window. (Leonid V. Fedorenchik) Solution: Put cursor on the last non-empty line. (closes vim/vim#8525) https://github.com/vim/vim/commit/30441bb3d5fa73f888b09684db3f54ff5ab48dbc
Diffstat (limited to 'src/nvim/move.c')
-rw-r--r--src/nvim/move.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c
index 5e02e355bf..eda3298101 100644
--- a/src/nvim/move.c
+++ b/src/nvim/move.c
@@ -778,8 +778,13 @@ void curs_columns(win_T *wp, int may_scroll)
int textwidth = wp->w_width_inner - extra;
if (textwidth <= 0) {
// No room for text, put cursor in last char of window.
+ // If not wrapping, the last non-empty line.
wp->w_wcol = wp->w_width_inner - 1;
- wp->w_wrow = wp->w_height_inner - 1;
+ if (wp->w_p_wrap) {
+ wp->w_wrow = wp->w_height_inner - 1;
+ } else {
+ wp->w_wrow = wp->w_height_inner - 1 - wp->w_empty_rows;
+ }
} else if (wp->w_p_wrap
&& wp->w_width_inner != 0) {
width = textwidth + win_col_off2(wp);