Хелп неовима и XDG

и другие vi-подобные редакторы

Модератор: /dev/random

incomer17
Сообщения: 9
ОС: Ubuntu 18.04 LTS

Хелп неовима и XDG

Сообщение incomer17 » 16.09.2018 15:17

Всем привет!
В хелпе неовима рекомендовано использовать в vimrc следующие 3 строчки:
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
source ~/.vimrc

Если не ошибаюсь, они требуются. если используется vim вместе с неовимом и vimrc вима являтся общим конфиг-файлом. У меня инсталлирован только неовим, нужны ли мне в vimrc эти строки? Если не трудно, прокомментируйте, пжл. их.

И ещё, там же предлагается в путях использовать переменную окружения $XDG_CONFIG_HOME вместо каталога .config, но эта переменная была пустой. Тогда я присвоил ей значения:
XDG_CACHE_HOME DEFAULT=@{HOME}/.xdg/cache
XDG_CONFIG_HOME DEFAULT=@{HOME}/.xdg/config
XDG_DATA_HOME DEFAULT=@{HOME}/.xdg/data
XDG_STATE_HOME DEFAULT=@{HOME}/.xdg/state
в /etc/security/pam_env.conf
Перегрузил bash командой $ execute bash, но использовать переменную в качестве заменителя .config не смог, также как и увидеть её содержимое командами echo и export. Буду признателен за любые пояснения.
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7729
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Хелп неовима и XDG

Сообщение serzh-z » 16.09.2018 16:48

Цель-то какая?
Scio me nihil scire.
Спасибо сказали:

incomer17
Сообщения: 9
ОС: Ubuntu 18.04 LTS

Re: Хелп неовима и XDG

Сообщение incomer17 » 16.09.2018 17:41

1. Понять, что имели в виду авторы хелпа
2. Построить более или менее грамотно v[mrc
3. Разобраться с непонятной мне переменной: не получается "пощупать".
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7729
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Хелп неовима и XDG

Сообщение serzh-z » 16.09.2018 19:40

1. Что стоит разделить runtime-каталоги neovim и vim, чтобы, вероятно, избежать конфликтов. Вообще, выглядит лишним, особенно если не установлены какие-то тяжёлые только-vim плагины.
2. `> ~/.vimrc`
3. Если переменная XDG_CONFIG_HOME не установлена, то, по спецификации XDG, должны использоваться конфиги из $HOME/.config.
Scio me nihil scire.
Спасибо сказали:

incomer17
Сообщения: 9
ОС: Ubuntu 18.04 LTS

Re: Хелп неовима и XDG

Сообщение incomer17 » 16.09.2018 21:02

Что значит разделить runtime-каталоги neovim и vim? У меня установлен только неовим в .config/neovim/init.vim, Значения переменной XDG присвоил (вот только посмотреть почему-то не получилось). Далее действовал по хелпу. Если я правильно понял, Вы предлагаете использовать ~/.vimrc и забыть про XDG?
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7729
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Хелп неовима и XDG

Сообщение serzh-z » 16.09.2018 21:10

incomer17 писал:
16.09.2018 21:02
Что значит разделить runtime-каталоги neovim и vim?
Сделать так, что neovim не будет загружать среду выполнения vim.
incomer17 писал:
16.09.2018 21:02
Вы предлагаете использовать ~/.vimrc и забыть про XDG?
https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Все что касается .vimrc в контексте neovim нужно, по большему счету, для миграции конфигурации vim в neovim.
Scio me nihil scire.
Спасибо сказали:

incomer17
Сообщения: 9
ОС: Ubuntu 18.04 LTS

Re: Хелп неовима и XDG

Сообщение incomer17 » 16.09.2018 21:33

Замечательно, вот к разделению я и пытаюсь подойти, мигрировать у меня нечему. За спецификацию отдельное спасибо. У меня дремучий вопрос: данная спецификация определяет работу с файлами в неовиме? И как я понял, рекомендуется её придерживаться? Остаётся вопрос, как же всё-таки посмотреть значения? Может быть после присвоения значений надо было перезагрузить сеанс (я перезапустил только bash)?
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7729
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Хелп неовима и XDG

Сообщение serzh-z » 16.09.2018 21:55

incomer17 писал:
16.09.2018 21:33
данная спецификация определяет работу с файлами в неовиме?
Она описывает где искать и хранить конфигурацию опенсорсным приложениям.
incomer17 писал:
16.09.2018 21:33
как же всё-таки посмотреть значения?
`echo ${XDG_CONFIG_HOME:-$HOME/.config}`

pam_env запускается при логине.
Scio me nihil scire.
Спасибо сказали:

incomer17
Сообщения: 9
ОС: Ubuntu 18.04 LTS

Re: Хелп неовима и XDG

Сообщение incomer17 » 16.09.2018 23:15

А разве не просто "echo $XDG_CONFIG_HOME"? В вашем случае выдаёт home/shem/.config, что соответствует истине и $HOME/.config. echo $XDG_CONFIG_HOME по-прежнему ничего не выдаёт.
Спасибо сказали:

incomer17
Сообщения: 9
ОС: Ubuntu 18.04 LTS

Re: Хелп неовима и XDG

Сообщение incomer17 » 16.09.2018 23:56

serzh-z, спасибо за помощь, буду разбираться.
Спасибо сказали:

Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: Хелп неовима и XDG

Сообщение ZyX » 17.09.2018 00:08

incomer17 писал:
16.09.2018 23:15
А разве не просто "echo $XDG_CONFIG_HOME"? В вашем случае выдаёт home/shem/.config, что соответствует истине и $HOME/.config. echo $XDG_CONFIG_HOME по-прежнему ничего не выдаёт.
Нет, не просто. В спецификации явно указаны значения по‐умолчанию, которые будут использованы, если переменная окружения не определена либо пуста. Это ровно то, что в POSIX shell делает конструкция ${VAR:-str}: подменяет неопределённую/пустую переменную на str. Neovim этой части спецификации следует.

Относительно самой спецификации: она указывает куда класть конфиги десктопным приложениям для десктопов на основе X Windows (первый абзац в https://www.freedesktop.org/wiki/). Строго говоря, к Neovim это не относится ни разу (но относится к nvim-qt). И это абсолютно точно не относится к открытым приложениям на Windows. Просто многим людям не нравится видеть помойку в $HOME и иметь большие списки в vcsignore (что происходит если, к примеру, хранить кэши рядом с настройками) и спецификацию также используют те разработчики, которые либо разделяют это мнение, либо были успешно убеждены пользователями. Но для Windows всё ещё приходится изобретать что‐то своё; я совершенно не уверен, что текущую схему Neovim использует какое‐либо другое Windows приложение.
Спасибо сказали: