Vim обычно поставлется с netrw.vim
сценарий, который, среди других вещей, поддержки и локальный и удаленный просмотр каталога. Это инициировано путем простого редактирования каталога, например. :edit .
.
Как Greg Hewgill указал, Дерево Компьютерного фаната является другим популярным каталогом, просматривающим плагин. Это по существу заменяет функции просмотра каталога netrw.vim
сценарий при установке, т.е. :edit .
инициирует Дерево Компьютерного фаната вместо этого. Дерево компьютерного фаната также предлагает параметры конфигурации для, например, автоматически открывая область каталога на запуске и корректируя размещение окна с несколькими панелями, в котором это открывается.
Если бы Вы используете вкладки в Vim и предпочли бы, чтобы NerdTree был персистентным через вкладки, существует сценарий для этого также.
После того, как я обнаружил, что используемая мной вики Ubuntu ссылается на внешние модули , было легче найти решение от rtfm.
Сводка путей установки внешних модулей
modules_install
в / lib / modules / $ (KERNELRELEASE) / extra /
. INSTALL_MOD_PATH
используется для префикса пути установки или INSTALL_MOD_DIR
используется для создания нового каталога в обычном / lib / modules / $ (KERNELRELEASE)
путь. См. Нижнюю часть этого ответа для более подробного объяснения.
Поиск внешних модулей
Чтобы сузить поиск до вышеуказанного, я использую locate
для печати путей, содержащих lib / module
и xargs
] в фильтрует вывод путей, не являющихся каталогами.
Наконец, grep -v
используется для фильтрации вывода путей, начинающихся с / lib / modules / $ (uname -r) / kernel
. При этом должны по-прежнему отображаться пути с префиксом INSTALL_MOD_PATH
во время установки, например / frodo / lib / modules / $ (KERNELRELEASE) / kernel /
.
Очевидно, что при этом не будет выведен путь к модулям, которые каким-то образом были установлены по совершенно странному пути. Вот команда:
locate --null "* lib / modules / $ (uname -r) *" | xargs -r0 sh -c 'для меня [-d "$ i"] && printf "% s \ n" "$ i"; done 'sh {} + | grep -v "^ / lib / modules / $ (uname -r) / kernel \ | ^ / lib / modules / $ (uname -r) $ \ | ^ / lib / modules / $ (uname -r) / build $ \ | ^ / lib / modules / $ (uname -r) / initrd $ "
Это удаляет пути в дереве из вывода, который для меня составлял 4695 строк при использовании только locate" * lib / modules / $ (uname -r) * "
. Теперь вывод намного меньше и должен отображать только известные пути вне дерева:
/frodo/lib/modules/3.12.3-031203-generic
/frodo/lib/modules/3.12.3-031203-generic/kernel
Выдержки из документации Построение внешних модулей
Подробности ниже взяты из Построение внешних модулей
modules_install
Install the external module(s). The default location is
/lib/modules/<kernel_release>/extra/, but a prefix may
be added with INSTALL_MOD_PATH (discussed in section 5).
=== 5. Module Installation
Modules which are included in the kernel are installed in the
directory:
/lib/modules/$(KERNELRELEASE)/kernel/
And external modules are installed in:
/lib/modules/$(KERNELRELEASE)/extra/
--- 5.1 INSTALL_MOD_PATH
Above are the default directories but as always some level of
customization is possible. A prefix can be added to the
installation path using the variable INSTALL_MOD_PATH:
$ make INSTALL_MOD_PATH=/frodo modules_install
=> Install dir: /frodo/lib/modules/$(KERNELRELEASE)/kernel/
INSTALL_MOD_PATH may be set as an ordinary shell variable or,
as shown above, can be specified on the command line when
calling "make." This has effect when installing both in-tree
and out-of-tree modules.
--- 5.2 INSTALL_MOD_DIR
External modules are by default installed to a directory under
/lib/modules/$(KERNELRELEASE)/extra/, but you may wish to
locate modules for a specific functionality in a separate
directory. For this purpose, use INSTALL_MOD_DIR to specify an
alternative name to "extra."
$ make INSTALL_MOD_DIR=gandalf -C $KDIR \
M=$PWD modules_install
=> Install dir: /lib/modules/$(KERNELRELEASE)/gandalf/
Модули ядра, будь то в дереве или вне дерева, установлены в каталогах, относящихся к данным версиях ядра ( / lib / модулей / $ (uname -r)
), так что вы должны Т надо убирать модули для обновления до нового ядра: новое ядро просто не будет рассмотреть старые модули.
Тем не менее, насколько я знаю модули деревьев в / lib / модули / $ (uname -r) / ядро
, так что-нибудь в / lib / модулей / $ (Uname -r)
Снаружи из этого является вне дерева модуль.