On Friday, November 21, 2014 2:57:16 AM UTC-6, Paul Jungwirth wrote: > Hello, > > Sometimes when I'm using vim it will start behaving as if I ran it in > a different directory. It seems to be particular files that set it > off, where I have other files with the same name elsewhere on my disk. > For example, if I `cd ~/src/a/app/controllers` and `vi > users_controller.rb`, then I `:e application_controller.rb`, vim will > open ~/src/b/app/controllers/application_controller.rb. If I `:!pwd` > I'll get ~/src/b/app/controllers. If I `:ls` it will show this: > > ~/src/a/app/controllers/users_controller.rb > application_controller.rb > > I've been living with this for years, and I've never had success > trying to Google it. If I close all my vim sessions and `rm -rf > ~/.vim/view` the problem goes away for a little while, but it always > comes back. > ... > My .vimrc is pretty short, but I'll paste it below just in case. > ... > au BufWinLeave * mkview > au BufWinEnter * silent loadview >
According to :help :mkview, view files will contain "the local current directory" which will be restored with loadview. I don't see any way in 'viewoptions' to disable this. I'd guess that at some point you changed directory while editing a file, which got stored in the view file. I see that view files I create end with "doautoall SessionLoadPost" so you could probably create a SessionLoadPost autocmd to restore the directory to what you want. Unfortunately, I don't know whether it is possible to get the current global directory, if a local directory is set. To avoid the problem, you can avoid using :lcd, using either :cd or 'autochdir' to mess with the directory. I thought maybe you could modify your mkview autocmd to not fire if global cd doesn't match local cd, but as mentioned I'm not sure how you'd do that. I suppose you could :cd to the current directory in that autocmd to clear any previous :lcd but then your directory could change whenever you save. -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
