1

尝试scrollbind在vim中设置选项时,窗口在双向移动时正确更新,但是,光标仅在向上移动时正确突出显示,而不是向下移动时(见下文)

运动前 初始位置

请注意,我已设置scrollbind为突出显示两个方法签名(第 989 和 925 行)

向上运动后 向上运动

正如预期的那样,顶部窗口光标从第 989 行向上移动到第 988 行,底部窗口光标从第 925 行移动到第 924 行。

而是向下运动 在此处输入图像描述

相反,如果我执行向下移动,则只有顶部(聚焦)窗口的光标位置从第 989 行更新到第 990 行。底部窗口将继续在第 925 行突出显示其光标。

问题: 有什么想法可以解决这个问题吗?

更新:

我注意到这个问题只发生在 C 文件中。例如,对于 Python 文件,问题表现为向下滚动时性能下降。如果我通过连续按下向上滚动k它可以无缝工作。相反,如果我按住k突出显示的行会有明显的延迟。虽然按下j此延迟总是很明显。如果我改为按住不放,j则突出显示的行将不会更新,直到我放开j. 如果我在文本文件上尝试它,那么它的行为与 C 文件完全相同。

更新 2: 我创建了一个 gif,它显示了两个滚动窗口的奇怪行为。在这里,我在左侧屏幕上向下滚动,有时右侧屏幕会向前跳几行。

在此处输入图像描述

版本:

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 26 2012 14:50:07)
Included patches: 1-285
Compiled by anonymous@main
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff 
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi 
+file_in_path +find_in_path +float +folding -footer +fork() +gettext 
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall 
+linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname 
+mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm 
-mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg 
+path_extra -perl +persistent_undo +postscript +printer +profile +python 
-python3 +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent 
-sniff +startuptime +statusline -sun_workshop +syntax +tag_binary 
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim 
+xsmp_interact +xterm_clipboard -xterm_save 
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/local/include  -g -O2 -D_FORTIFY_SOURCE=1      
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim   -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl  -lselinux  -ldl     -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions 
4

0 回答 0