diff --git a/cmd/micro/view.go b/cmd/micro/view.go index 9a759a47..ce91860e 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -203,9 +203,12 @@ func (v *View) Relocate() bool { v.Topline = cy ret = true } - if cy > v.Topline+v.height-1-scrollmargin { + if cy > v.Topline+v.height-1-scrollmargin && cy < v.Buf.NumLines-scrollmargin { v.Topline = cy - v.height + 1 + scrollmargin ret = true + } else if cy >= v.Buf.NumLines-scrollmargin { + v.Topline = v.Buf.NumLines - v.height + ret = true } cx := v.Cursor.GetVisualX()