macvim-dev / macvim-dev/macvim

Problem using the file viewer and pressing "i" and having the list be re-sorted

Open
#954 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Vim Script
Stars
7.9k
Forks
691
PR merge metrics
No merged PRs in 30d

Description

I have a problem, when using the file viewer and pressing "i" the list of files is re-sorted
This didn't use to be this way in older versions of vim.

To Reproduce

Run open -a macvim a-folder
see the list order
press i in normal mode to see file details
see how the list is now re-sorted
cry, baby, cry
find your file again in the list (no, it isn't under the cursor, why would it)
get used to the list being re-sorted (this is hard)
accept the list is re-sorted (this is harder)
be frustrated
stop using vim altogether, because, omg.
go back to vim, cause you need it
file this bug report.

Expected behavior
when I press i in the list of files, the file details appear, the list stays in place, in the same order

Screenshots
Before:
https://imgur.com/a/FYq1UhK
After:
https://imgur.com/a/vxz8X1L

Notice how the order is different.

Environment (please complete the following information):

This doesn't happen in vim, only in macvim:

[b@localhost:]$ /Applications/MacVim.app/Contents/bin/gvim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Jul 28 2019 01:07:30)
macOS version
Included patches: 1-1722
Compiled by travis@Traviss-Mac.local
Huge version with MacVim GUI. Features included (+) or not (-):
+acl +file_in_path +mouse_urxvt -tcl
+arabic +find_in_path +mouse_xterm +termguicolors
+autocmd +float +multi_byte +terminal
+autochdir +folding +multi_lang +terminfo
-autoservername -footer -mzscheme +termresponse
+balloon_eval +fork() +netbeans_intg +textobjects
+balloon_eval_term +fullscreen +num64 +textprop
+browse -gettext +odbeditor +timers
++builtin_terms -hangul_input +packages +title
+byte_offset +iconv +path_extra +toolbar
+channel +insert_expand +perl/dyn +transparency
+cindent +job +persistent_undo +user_commands
+clientserver +jumplist +postscript +vartabs
+clipboard +keymap +printer +vertsplit
+cmdline_compl +lambda +profile +virtualedit
+cmdline_hist +langmap +python/dyn +visual
+cmdline_info +libcall +python3/dyn +visualextra
+comments +linebreak +quickfix +viminfo
+conceal +lispindent +reltime +vreplace
+cryptv +listcmds +rightleft +wildignore
+cscope +localmap +ruby/dyn +wildmenu
+cursorbind +lua/dyn +scrollbind +windows
+cursorshape +menu +signs +writebackup
+dialog_con_gui +mksession +smartindent -X11
+diff +modify_fname -sound -xfontset
+digraphs +mouse +spell +xim
+dnd +mouseshape +startuptime -xpm
-ebcdic +mouse_dec +statusline -xsmp
+emacs_tags -mouse_gpm -sun_workshop -xterm_clipboard
+eval -mouse_jsbterm +syntax -xterm_save
+ex_extra +mouse_netterm +tag_binary
+extra_search +mouse_sgr -tag_old_static
-farsi -mouse_sysmouse -tag_any_white
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
defaults file: "$VIMRUNTIME/defaults.vim"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X -DMACOS_X_DARWIN -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon -lm -lncurses -liconv -framework AppKit -fstack-protector -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE

OS: macOS 10.14.2
Terminal: GUI

Additional context
Why vim why...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the file viewer behavior in the MacVim GUI on macOS: open a folder, record the file order, and press i in normal mode. Compare the ordering and cursor position before and after; done means file details appear without changing the list order or moving the selected file.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, vim
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.