Răsfoiți Sursa

Make cursor not wrap around

The wrap around feature was nice, but added too much code for what it
was worth. It also kind of defeated navigation by motions like }, gg
etc.
Marco Hinz 12 ani în urmă
părinte
comite
7a4b8bc340
1 a modificat fișierele cu 5 adăugiri și 24 ștergeri
  1. 5 24
      autoload/startify.vim

+ 5 - 24
autoload/startify.vim

@@ -82,9 +82,6 @@ function! startify#insane_in_the_membrane() abort
     call append('$', ['', '   [q]  <quit>'])
     call append('$', ['', '   [q]  <quit>'])
   endif
   endif
 
 
-  let s:lastline = line('$')
-  call append('$', '')
-
   if exists('g:startify_custom_footer')
   if exists('g:startify_custom_footer')
     call append('$', g:startify_custom_footer)
     call append('$', g:startify_custom_footer)
   endif
   endif
@@ -367,30 +364,14 @@ function! s:set_cursor() abort
 
 
   " going down
   " going down
   if s:newline > s:oldline
   if s:newline > s:oldline
-    if empty(getline(s:newline))
-      let s:newline += 1
-    endif
-    if s:newline > s:lastline
-      call cursor(headoff, 5)
-      let s:newline = headoff
-    else
-      call cursor(s:newline, 5)
-    endif
+    if empty(getline(s:newline)) | let s:newline += 1      | endif
   " going up
   " going up
   elseif s:newline < s:oldline
   elseif s:newline < s:oldline
-    if empty(getline(s:newline))
-      let s:newline -= 1
-    endif
-    if s:newline < headoff
-      call cursor(s:lastline, 5)
-      let s:newline = s:lastline
-    else
-      call cursor(s:newline, 5)
-    endif
-  " hold cursor in column
-  else
-    call cursor(s:newline, 5)
+    if empty(getline(s:newline)) | let s:newline -= 1      | endif
+    if s:newline < headoff       | let s:newline = headoff | endif
   endif
   endif
+
+  call cursor(s:newline, 5)
 endfunction
 endfunction
 
 
 " Function: s:set_mark {{{1
 " Function: s:set_mark {{{1