Файловый менеджер arch linux

nnn (Русский)

Состояние перевода: На этой странице представлен перевод статьи nnn. Дата последней синхронизации: 14 октября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

nnn (стилизованно: n 3 ) это компактный файловый менеджер для терминала, написанный на Си. Является очень гибким за счёт своей системы плагинов, которая абстрагирована от языка, например, плагин (neo)vim.

nnn имеет встроенную функцию (раз)архивирования широко распространённых форматов, функцию анализа использования диска, средство нечёткого запуска приложений (неполное или чуть неправильно написанное имя) и средство множественного переименования. nnn поддерживает быстрый поиск search-as-you-type с регексом и навигацию navigate-as-you-type с непрерывной навигацией и авто-выделением. Кроме того поддерживаются контексты, закладки, сложные условия сортировки, SSHFS, множественные операции над выделенными объектами и другое.

Несмотря на свои возможности, nnn спроектирован быть простым в использовании и конфигурируемым через переменные окружения, нежели конфигурационные файлы.

Установка

nnn распространяется как пакет nnn .

Использование

nnn управляется не только как vim при помощи hjkl , но и при помощи стрелок. Для удобного использования (в отличие от vim) достаточно стрелок, / и q . Смотри справку через ? в любой момент.

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

nnn конфигурируется через переменные окружения, обычно добавляемые в файл ~/.bashrc . Дополнительную информацию о конфигурировании можно прочесть как в nnn(1) , так и на вики в GitHub.

Вот пример конфигурации ~/.bashrc :

Примечание: Если запускаете nnn при помощи nnn.desktop из среды рабочего стола, он может не подхватить настройку из .bashrc . В таком случае, смотри статью desktop integration на вики в GitHub.

Самая полезная настройка из всех это NNN_BMS . Она позволяет выбрать горячие клавиши для указанных каталогов. Перемещение в директорию происходит по нажатию на b с выбранной буквой закладки. В примере выше требуется нажать клавиши bD , чтобы переместиться в каталог ~/Downloads .

Советы и рекомендации

Список выделенных файлов

Получить список выделенных файлов можно при помощи псевдонимов. Создайте такой псевдоним:

alias ncp="cat $/nnn/.selection> | tr '\0' '\n'"

Теперь можно использовать ncp для получения списка выделенных файлов и его передачи в другие программы через пайп.

Указание уровня вложенности оболочки

Когда используется ! чтобы открыть командную оболочку в текущей директории (не запутайтесь в оболочках, которые запустили nnn, и которые запущенны из nnn) можно добавить такую строку, чтобы не запутаться:

[ -n "$NNNLVL" ] && PS1="N$NNNLVL $PS1"

Выход и cd (Ctrl-G)

Обычно, когда выходите из nnn, вас переносит в директорию, из которой запустили менеджер, однако если настроить cd-on-quit, то при выходе оболочка уже будет находится в последней выбранной в nnn директории.

Читайте также:  Linux скорость по nfs

Для настройки добавьте в ваш .bashrc / .zshrc :

if [ -f /usr/share/nnn/quitcd/quitcd.bash_zsh ]; then source /usr/share/nnn/quitcd/quitcd.bash_zsh fi

Подключённый скрипт создаст команду n (точнее, bash-функцию n) — используйте её вместо команды nnn .

Смотрите также статью configure cd on quit на вики в GitHub.

Добавление плагинов

Чтобы добавить плагин, следует добавить файл плагина в $/nnn/plugins/ . Например, можно создать свой запускаемый шелл-скрипт

Скрипт срабатывает по нажатии клавиши R и выбору git-changes , который покажет удобный журнал изменений git репозитория для конкретного файла вместе с кодом для удобного код-ревью.

Смотрите также

Источник

Midnight Commander (Русский)

Состояние перевода: На этой странице представлен перевод статьи Midnight Commander. Дата последней синхронизации: 28 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Midnight Commander — двухпанельный файловый менеджер, поддерживающий стандартные файловые операции, виртуальные файловые системы, панелизацию внешних комманд и пользовательские меню. Он также включает в себя встроенный просмотрщик, редактор файлов и инструмент для просмотра различий.

Midnight Commander имеет графический интерфейс, который отображается в текстовом режиме. Он работает в обычной консоли, внутри терминала X и через SSH-соединение на всех видах терминалов.

Установка

Последняя нестабильная версия доступна в пакете mc-git AUR .

Дополнительные темы

Midnight Commander поставляется с большим числом встроенных тем. Вы можете выбрать тему в меню Настройки > Оформление.

Можно дополнительно установить сторонние темы:

  • mc-solarized-git — Цветовая схема Solarized
  • mc-skin-modarin-debian — Thin versions of the modarin theme

Использование

В этом разделе представлен краткий обзор использования Midnight Commander.

Интерфейс

Основой интерфейса являются две вертикальные панели. Каждая может отобразить содержимое каталога, показать предварительный просмотр обычного текста, сведения о файле или дерево каталогов (смотрите mc(1) § Directory Tree ). Операции с файлами доступны с помощью функциональных клавиш или мыши. Дополнительные параметры отображаются в динамическом меню пользователя ( F2 ) и меню параметров ( F9 ). Клавиши после F12 (от F13 до F20 ) доступны через Shift . Некоторые надписи в пунктах меню и диалоговых окнах имеют одну выделенную букву — нажатие этой буквы (или Alt+Буква , если фокус находится в поле ввода) сразу выполняет соответствующее действие.

Под панелями есть командная строка, в которой запущена командная оболочка. Она обычно относится к тому же типу, из которого был запущен mc. В неё можно переключиться ( Ctrl+o ), смотрите mc(1) § The subshell support . В этой командной строке команду cd обрабатывает сам Midnight Commander и не передаёт её оболочке для выполнения. Файлы в панели взаимодействуют с командной строкой; например, Alt+Enter копирует имя (выбранного) файла в командную строку.

Сочетания клавиш в целом аналогичны GNU Emacs. Можно включить более строгую раскладку клавиш emacs (смотрите mc(1) § Redefine hotkey bindings ). Однако новые пользователи могут использовать Lynx-подобные (стрелочные) привязки клавиш (включаются в меню Настройки > Настройки панелей) и клики мышью для навигации.

Читайте также:  Qt развертывание приложений linux

Поддержка мыши в виртуальной консоли Linux может быть получена с помощью GPM.

Модули

Их можно вызывать через интерфейс mc (с включенными пунктами Встроенный в меню Настройки > Конфигурация) или отдельно как символические ссылки на двоичный файл mc.

  • mcedit — Редактор текстовых и двоичных файлов с поддержкой замены с помощью регулярных выражений, подсветкой синтаксиса, макросами и shell piping, смотрите mcedit(1)
  • mcview — Просмотрщик текста и шестнадцатеричного кода с goto метками и поиском по регулярному выражению
  • mcdiff — Сравнивает и редактирует два файла на месте ( Ctrl+x d )

Можно запускать несколько модулей одновременно в пределах одного экземпляра mc и переключаться между ними с помощью Alt+` (смотрите mc(1) § Screen selector ). Вместо них можно использовать внешние редакторы и соответствующим образом настроить параметры.

Настройка

Большинство настроек Midnight Commander можно изменить из меню. Однако небольшое количество настроек, таких как команды буфера обмена, определение кодировки и параметры для внешних редакторов, меняется только через файл ~/.config/mc/ini . Описание настроек можно почитать в mc(1) § Special Settings .

Также для настройки используются следующие переменные окружения: MC_SKIN , MC_KEYMAP , MC_XDG_OPEN , MC_COLOR_TABLE , MC_DATADIR , MC_HOME , KEYBOARD_KEY_TIMEOUT_US , PAGER , EDITOR , VIEWER .

extfs

extfs позволяет легко создавать новые виртуальные файловые системы для mc. Для более подробной информации смотрите /usr/lib/mc/extfs.d/README .

Советы и рекомендации

Запуск из меню

Midnight Commander можно запускать из меню, создав файл desktop entry. Пример:

[Desktop Entry] Type=Application Version=1.0 Name=Midnight Commander Comment=Visual file manager Exec=mc Icon=folder MimeType=inode/directory Terminal=true Categories=Utility;

Поддержка корзины

Midnight Commander не поддерживает функцию корзины.

Использование libtrash

Библиотека libtrash перехватывает вызовы функций удаления файлов и вместо удаления выполняет перемещение файлов в корзину.

Установите libtrash AUR и создайте псевдоним для mc в файле инициализации вашей командной оболочки (например, ~/.bashrc или ~/.zshrc ):

alias mc='LD_PRELOAD=/usr/lib/libtrash.so mc'

Чтобы изменения вступили в силу, переоткройте сеанс терминала или просто выполните скрипт инициализации командой source.

Стандартные настройки библиотеки находятся в файле /etc/libtrash.conf.sys ; по умолчанию для корзины используется каталог ~/Trash/ . Вы можете переопределить их для текущего пользователя, создав пользовательский файл настроек ~/.libtrash , например:

TRASH_CAN = .Trash INTERCEPT_RENAME = NO IGNORE_EXTENSIONS= o;exe;com UNCOVER_DIRS=/dev

Теперь файлы, удаляемые через mc, будут попадать в каталог ~/.Trash/ .

  • У этого способа существует побочный эффект: программы, запущенные из mc наследуют переменную окружения LD_PRELOAD , которая может вызывать проблемы в их работе. Смотрите [1] для более подробной информации.
  • С установленной опцией GLOBAL_PROTECTION = YES (значение по умолчанию), файлы вне домашнего каталога будут попадать в корзину, даже если они находятся на другом разделе диска. Такие файлы фактически перемещаются копированием и удалением из исходного расположения, поэтому процедура удаления в корзину файла на другом разделе может занимать продолжительное время.

Решение проблем

Выход в текущий каталог

При выходе командная оболочка вернёт вас в тот каталог, в котором вы запустили Midnight Commander. Если вы хотите, чтобы оставался текущий каталог, выбранный в Midnight Commander, можно использовать специальный скрипт-обёртку, который выполнит переход в текущий каталог после закрытия mc. Добавьте алиас в ваш ~/.bashrc или ~/.zhsrc :

alias mc=". /usr/lib/mc/mc-wrapper.sh"

Теперь команда mc будет запускать этот скрипт-обёртку.

Читайте также:  Проверка оперативной памяти линукс

Другим простым решением будет просто скрывать интерфейс, не прерывая сеанс программы, нажатием Ctrl+O . Однако это может мешать работе других приложений в терминале.

Искаженное изображение

Нажмите Ctrl+L для перерисовки интерфейса. Эта команда перерисует изображение, но не обновит список файлов в каталогах. Для обновления списка файлов на панелях используйте Ctrl+R .

Открытие файлов

Для открытия файлов mc считывает переменную окружения MC_XDG_OPEN (если она не указана, по умолчанию используется xdg-open). [3]

Если mc блокируется до завершения процесса или процесс завершается вместе с mc, используйте nohup & :

#!/bin/bash nohup xdg-open "$@" & 

И пропишите MC_XDG_OPEN соответственно:

$ export MC_XDG_OPEN=~/bin/nohup-open

Совет: Если вы настроили #Использование libtrash, также добавьте unset LD_PRELOAD перед xdg-open в этом скрипте.

Поиск файла ничего не находит

Если Поиск файла ничего не может найти, проверьте текущий каталог на наличие символических ссылок. Поиск файлов не переходит по символическим ссылкам, поэтому вместо них используйте bind mount (смотрите mount(8) ) или команду Внешняя панелизация.

Сломаны сочетания клавиш

С некоторыми определениями терминалов вроде screen-256color или xterm-termite сочетания клавиш, такие как Shift+F6 , могут не работать или работать как другие сочетания. Чтобы исправить это, назначьте последовательности терминала вручную в диалоговом окне Распознавание клавиш в настройках.

Настройки сохранятся в ~/.config/mc/ini , например для screen-256color :

[terminal:screen-256color] f1=\\eOP f2=\\eOQ f3=\\eOR f4=\\eOS f5=\\e[15~ f6=\\e[17~ f7=\\e[18~ f8=\\e[19~ f9=\\e[20~ f10=\\e[21~ f11=\\e[23~ f12=\\e[24~ f13=\\e[1\;2R f14=\\e[1\;2S f15=\\e[15\;2~ f16=\\e[17\;2~ f17=\\e[18\;2~ f18=\\e[19\;2~ f19=\\e[20\;2~ f20=\\e[21\;2~ complete=\\e^i backtab=\\e[Z backspace=^?

Нет жирного текста в urxvt

При запуске в urxvt с настройкой TERM по умолчанию, текст, который обычно выделяется жирным шрифтом во многих других терминалах, здесь не будет жирным. Корень проблемы в том, что xterm объединяет яркий цвет текста с атрибутом жирного шрифта (таким образом, яркие цвета всегда будут отображаться жирным шрифтом в xterm).

urxvt не имеет этого ограничения, которому следует Slang (библиотека, которую mc использует для отображения текста по умолчанию). Поскольку Slang может отделить полужирный атрибут от ярких цветов на urxvt, mc потребуется явно указать полужирный атрибут, если это необходимо (чего он не делает).

Решение состоит в том, чтобы настроить mc на явное использование полужирных цветов по желанию, например отредактировав скин по умолчанию следующим образом:

$ mkdir ~/.local/share/mc/skins $ cp /usr/share/mc/skins/default.ini ~/.local/share/mc/skins/ $ sed -i -E 's/^(.* = (gray|brightred|brightgreen|yellow|brightblue|brightmagenta|brightcyan|white);.*)$/\0;bold/' ~/.local/share/mc/skins/default.ini

Это создаст копию скина по умолчанию, но со всеми яркими цветами, имеющими явный добавленный полужирный атрибут.

Другой обходной путь — прописать TERM=xterm , однако это вызывает другие проблемы из-за несоответствия termcap/terminfo, например, некоторые клавиши не работают.

Смотрите также

Источник

Оцените статью
Adblock
detector