Где Gedit хранит последнюю позицию курсора?

18

Когда вы открываете существующий текстовый файл в gedit, курсор начинается с позиции, в которой он находился при последнем закрытии файла. Таким образом, gedit, вероятно, должен хранить список инодов и смещений.

Мне интересно, где хранится эта информация, так как я не могу найти ее в ~ / .config / gedit

CrazyApe84
источник
1
Вы можете увидеть все файлы, открытые geditв вашей $HOMEкоманде strace -e trace=open $(type -p gedit) Your_File |& grep $HOME | egrep -v ENOENT:
waltinator
@muru Хорошая мысль. Я так и сделал.
CrazyApe84

Ответы:

11

Есть файл, к ~/.local/share/gvfs-metadataкоторому прикасается каждый раз, когда вы перемещаете курсор и закрываете gedit. Это бинарный файл, поэтому его нелегко интерпретировать. Вы, вероятно, можете понять это лучше с исходным кодом Gedit

попей
источник
Благодарю. По-видимому, есть инструменты командной строки для работы с gvfs. Смотрите редактирование на мой вопрос.
CrazyApe84
24

Благодаря ответам / комментариям выше я теперь знаю, что позиция gedit сохраняется в виртуальной файловой системе GNOME. В частности, это в файле ~/.local/share/gvfs-metadata/home.

Существует множество инструментов командной строки для работы с gvfs.

gvfs-cat            gvfs-mkdir          gvfs-rename
gvfs-copy           gvfs-monitor-dir    gvfs-rm
gvfs-info           gvfs-monitor-file   gvfs-save
gvfs-less           gvfs-mount          gvfs-set-attribute
gvfs-ls             gvfs-move           gvfs-trash
gvfs-mime           gvfs-open           gvfs-tree

Положение gedit можно увидеть с помощью:

gvfs-info FILENAME | grep metadata::gedit-position

Это можно изменить так:

gvfs-set-attribute FILENAME metadata::gedit-position 42
CrazyApe84
источник