Emacs. Neotree

Плагин к Emacs для отображения дерева каталогов.

Содержание

1 Общая информация

2 Конфигурация

2.1 Темы NeoTree

  • Можно изменить тему NeoTree, используя переменную neo-theme.
  • Значение по умолчанию classic.
  • Используйте nerd, если хотите, чтобы он больше всего походил на NERDTree в VIM.
  • Для настройки следует установить переменную neo-theme:
    (setq neo-theme 'icons)
    
Таблица 1: Параметры темы NeoTree
ПараметрОписание
classicИспользование иконок для отображения элементов
asciiИспользование символов x, - для отображения каталогов
arrowИспользование стрелок Юникод
iconsИспользование пакета all-the-icons
nerdИспользование режима отступов и стрелкок как в NERDTree

2.2 Сочетания клавиш

  • Сочетания работают только в буфере NeoTree
Таблица 2: Сочетания клавиш NeoTree
КлавишиЗначение
nследующая строка
pпредыдущая строка
SPC или RET или TABОткрыть текущий элемент, если это файл. Свернуть/развернуть текущий элемент, если это каталог
UПерейти вверх по каталогу
gОбновить
AРазвернуть/свернуть окно NeoTree
HПереключить отображение скрытых файлов
OРекурсивно открыть каталог
C-c C-nСоздайте файл или создайте каталог, если имя файла заканчивается на /
C-c C-dУдалить файл или каталог
C-c C-rПереименуйте файл или каталог
C-c C-cИзмените корневой каталог
C-c C-pСкопируйте файл или каталог

2.3 Отслеживание каталога

  • Каждый раз при открытии окна neotree фокус переходит на текущий файл:
    (setq neo-smart-open t)
    

2.4 Взаимодействие с projectile

  • Переключение на корень проекта при открытии:
    (defun neotree-project-dir ()
      "Open NeoTree using the git root."
      (interactive)
      (let ((project-dir (projectile-project-root))
            (file-name (buffer-file-name)))
        (neotree-toggle)
        (if project-dir
            (if (neo-global--window-exists-p)
                (progn
                  (neotree-dir project-dir)
                  (neotree-find file-name)))
          (message "Could not find git project root."))))
    (global-set-key [f8] 'neotree-project-dir)
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие