我刚刚用 更新了 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
(所有文件都是普通文本文件)
编辑:
有问题的文件位于文件夹路径 ~/work/(+1000 个字符的文件夹和子文件夹)/file.tex 中
~/work/folder1 上的文件不存在该问题。
和路径的长度有关系吗?
回答@EliahKagan 的问题/建议:
让其~/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
2)您没有遇到问题的文件是您通常以vim
root 身份运行所编辑的文件吗?
不,我以用户身份运行它们:
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'
4)您知道软件更新程序安装、升级或删除了哪些软件包吗?/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
我遇到了“跳到最后一个位置”的问题。
6)这也更加有趣:
如果我复制该文件:
david@so1:~/work/folder2/very-long-path-of-folders-and-subfolders--around_1000_characters_of_folders_and_subfolders$ cp test_2.tex ~/Documents/
然后打开它:
david@so1:~/Documents$ vi test_2.tex
然后“跳转到最后一个位置”确实有效......
那么问题可能出在哪里?
回答@muru 的问题/建议:
如果我做:
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
是: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]:
因此,这个有问题的文件夹一定发生了一些事情