Я только что обновил Ubuntu 14.04.5 LTS с помощью Software Updater.
После перезапуска, по-видимому, что-то изменилось на vim:
Раньше при открытии файла с vim, затем :q, а затем снова открыв его, он автоматически переместился в последнюю строку, которую я читал.
После этого обновления, когда я открываю некоторые файлы, уже сохраненные на компьютере, затем :q и снова открывая их, они прыгают на линию, которую я читал минуту назад, но другие файлы нет, и открываются в строке 1.
Я ничего не изменил
Мой /etc/vim/vimrc раскоментировал следующие строки:
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
И мой ~/.vimrc имеет только одну строку:
syntax on
(Все файлы являются нормальными текстовыми файлами)
EDIT:
Проблемные файлы находятся в пути к папке ~ / work / (+ 1000 символов папок и подпапок) /file.tex
Файлы на ~ / work / folder1 не представляют эту проблему.
Требуется ли длина пути?
Позволять ~/work/folder1/test_1.tex будет файлом, в котором «прыжок в последнее место» работает хорошо.
Пусть ~/work/folder2/very-long-path-of-folders-and-subfolders--around_1000 characters_of_folders_and_subfolders/test_2.tex - это файл (ы), где «переход в последнее место» не работает.
1) Можете ли вы добавить вывод ls -l ~/.viminfo к вашему вопросу?
david@so1:~$ ls -l ~/.viminfo
-rw------- 1 david david 330206 Jul 9 22:08 /home/david/.viminfo
1) Являются ли файлы, для которых вы не имеете
Нет, я запускаю их как пользователь:
david@so1:~$ vi ~/work/folder1/test_1.tex
3) Каков выходной сигнал file /etc/alternatives/vim, который вы обычно редактируете,
david@so1:~/work/folder1$ file /etc/alternatives/vim
/etc/alternatives/vim: symbolic link to `/usr/bin/vim.gtk3'
3) Знаете ли вы, какие пакеты обновления программного обеспечения установлены, обновлены или удалены? /var/log/apt/history.log
david@so1:~/work/folder1$ /var/log/apt/history.log
bash: /var/log/apt/history.log: Permission denied
И как root:
david@so1:~/work/folder1$ sudo su
root@so1:/home/david/work/folder1# /var/log/apt/history.log
bash: /var/log/apt/history.log: Permission denied
Если я открою файл /var/log/apt/history.log:
david@so1:~/work/folder1$ vim /var/log/apt/history.log
Я вижу следующее:
Start-Date: 2017-07-03 22:05:01
Commandline: apt-get install pandoc
Install: pandoc:amd64 (1.12.2.1-1build2), pandoc-data:amd64 (1.12.2.1-1build2, automatic)
End-Date: 2017-07-03 22:05:04
Start-Date: 2017-07-09 18:54:46
Commandline: aptdaemon role='role-commit-packages' sender=':1.682'
Install: linux-headers-4.4.0-83-generic:amd64 (4.4.0-83.106~14.04.1), linux-image-4.4.0-83-generic:amd64 (4.4.0-83.106~14.04.1), linux-headers-4.4.0-83:amd64 (4.4.0-83.106~14.04.1), linux-signed-image-4.4.0-83-generic:amd64 (4.4.0-83.106~14.04.1), linux-image-extra-4.4.0-83-generic:amd64 (4.4.0-83.106~14.04.1)
5) Я заметил очень интересную вещь:
david@so1:~$ sudo su
[sudo] password for david:
root@so1:/home/david# cd work/folder1/
root@so1:/home/david/work/folder1# ls
test_1.tex
root@so1:/home/david/work/folder1# vim test_1.tex
, и при открытии файла можно перемещать курсор, где вы указываете и щелчок.
Однако при открытии файла как user:
root@so1:/home/david/work/folder1# exit
exit
david@so1:~$ cd work/folder1/
david@so1:~/work/folder1$ ls
test_1.tex
david@so1:~/work/folder1$ vi test_1.tex
курсор не работает (я действительно предпочитаю его таким образом, поэтому я предпочитаю не изменять это).
Если я теперь открою проблемный файл как root:
root@so1:/home/david/work/folder2/very-long-path-of-folders-and-subfolders--around_1000_characters_of_folders_and_subfolders# vi test_2.tex
У меня проблема «переход к последней позиции»
5) Это еще более интересно:
Если я скопирую файл:
david@so1:~/work/folder2/very-long-path-of-folders-and-subfolders--around_1000_characters_of_folders_and_subfolders$ cp test_2.tex ~/Documents/
, а затем откройте it:
david@so1:~/Documents$ vi test_2.tex
Затем работает «переход к последней позиции» ....
«переход к последней позиции» [.... d42]
Если я это делаю:
david@so1:~/work/folder2/very-long-path-of-folders-and-subfolders--around_1000_characters_of_folders_and_subfolders$ vim test_2.tex
и я делаю :scriptnames Я получаю следующее:
1: /usr/share/vim/vimrc
2: /usr/share/vim/vim80/debian.vim
3: ~/.vimrc
4: /usr/share/vim/vim80/syntax/syntax.vim
5: /usr/share/vim/vim80/syntax/synload.vim
6: /usr/share/vim/vim80/syntax/syncolor.vim
7: /usr/share/vim/vim80/filetype.vim
8: /usr/share/vim/vim80/plugin/getscriptPlugin.vim
9: /usr/share/vim/vim80/plugin/gzip.vim
10: /usr/share/vim/vim80/plugin/logiPat.vim
11: /usr/share/vim/vim80/plugin/manpager.vim
12: /usr/share/vim/vim80/plugin/matchparen.vim
13: /usr/share/vim/vim80/plugin/netrwPlugin.vim
14: /usr/share/vim/vim80/plugin/rrhelper.vim
15: /usr/share/vim/vim80/plugin/spellfile.vim
16: /usr/share/vim/vim80/plugin/tarPlugin.vim
17: /usr/share/vim/vim80/plugin/tohtml.vim
18: /usr/share/vim/vim80/plugin/vimballPlugin.vim
19: /usr/share/vim/vim80/plugin/zipPlugin.vim
20: /usr/share/vim/vim80/syntax/tex.vim
Результат :autocmd i s: http://paste.ubuntu.com/25060281/
(Поскольку вывод этой команды очень длинный, я не мог публиковать его прямо здесь)
При запуске ipython в этой проблемной папке я получаю это сообщение об ошибке:
david@so1:~/work/folder2/very-long-path-of-folders-and-subfolders--around_1000_characters_of_folders_and_subfolders$ ipython
[TerminalIPythonApp] ERROR | Current working directory doesn't exist.
в отличие от ожидаемого результата в любой другой папке:
david@so1:~/home/david/work/folder1$ ipython
Python 2.7.11 |Anaconda 4.0.0 (64-bit)| (default, Dec 6 2015, 18:08:32)
Type "copyright", "credits" or "license" for more information.
IPython 4.1.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]:
Итак, что-то должно происходить в этой проблемной папке