Вопрос или проблема
В настоящее время ranger открывает текстовые файлы только с помощью nano, и я хочу, чтобы он открывал их с помощью vim.
Согласно Arch Wiki, я пытался добавить
has xdg-open, flag f = xdg-open "$1"
ext txt = vim "$@"
в rifle.conf, но это не сработало.
Вам не нужно редактировать .bashrc
, только конфигурацию ranger. Вот как:
После запуска ranger создает каталог ~/.config/ranger
.
Вы хотите отредактировать файл rifle.conf
. Rifle — это программа, которая выбирает, чем открывать файлы. Чтобы скопировать конфигурацию по умолчанию для rifle в этот каталог, выполните следующую команду:
$ ranger --copy-config=rifle.conf
(В качестве альтернативы, добавьте все файлы конфигурации ranger с помощью $ ranger --copy-config=all
)
В rifle.conf
найдите эту часть. Измените переменную $EDITOR
в двух строках ниже:
#-------------------------------------------
# Прочее
#-------------------------------------------
# Определить "редактор" для текстовых файлов как первое действие
mime ^text, label editor = $EDITOR -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
Измените это на то, чем вы хотите редактировать текстовые файлы, например vim
. Я использую Kakoune, поэтому изменяю это на kak
:
#-------------------------------------------
# Прочее
#-------------------------------------------
# Определить "редактор" для текстовых файлов как первое действие
mime ^text, label editor = kak -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = kak -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
Это было сделано на версии ranger 1.8.1.
Я разобрался.
Если вы используете BASH, добавьте следующее в ваш .bashrc:
export VISUAL=vim;
export EDITOR=vim;
в противном случае следуйте этим инструкциям
- Откройте
ranger
, нажмите S, это откроет оболочкуranger
- Введите
select-editor
, он покажет нумерованный список доступных опций, и вам нужно ввести номер той опции, которую вы хотите.
Также стоит учитывать разницу между нажатием Enter и нажатием E на файле, который вы хотите редактировать
export VISUAL=vim;
export EDITOR=vim;
Хотя это решение может сработать, когда вы нажимаете E на файле, нажатие Enter может различаться.
Ответ или решение
Чтобы изменить текстовый редактор по умолчанию в файловом менеджере Ranger, выполните следующие шаги:
1. Копирование конфигурации Ranger
При первом запуске Ranger создается каталог конфигураций в ~/.config/ranger
. Этот каталог содержит все необходимые конфигурационные файлы, например, rifle.conf
, который отвечает за определение приложений для открытия файлов.
Запустите следующую команду, чтобы скопировать стандартные настройки:
ranger --copy-config=rifle.conf
2. Редактирование конфигурационного файла rifle.conf
После выполнения предыдущей команды откройте файл rifle.conf
в любом текстовом редакторе (например, nano
или vim
):
vim ~/.config/ranger/rifle.conf
3. Настройка текстового редактора
В файле rifle.conf
найдите раздел, который определяет поведение для текстовых файлов. Вам нужно изменить строку, где указано $EDITOR
на ваше предпочтение. Например, если вы хотите использовать vim
, измените соответствующие строки на:
#-------------------------------------------
# Misc
#-------------------------------------------
# Define the "editor" for text files as first action
mime ^text, label editor = vim -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = vim -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
4. Установка переменных окружения
Дополнительным шагом может быть установка переменных окружения EDITOR
и VISUAL
, чтобы гарантировать, что другие приложения также будут использовать vim
. Для этого добавьте следующие строки в ваш файл ~/.bashrc
или ~/.bash_profile
:
export VISUAL=vim
export EDITOR=vim
После редактирования не забудьте перезагрузить терминал или выполнить команду source ~/.bashrc
, чтобы изменения вступили в силу.
5. Выбор редактора непосредственно в Ranger
Если вы хотите использовать встроенную возможность Ranger для выбора редактора, откройте Ranger, нажмите S
, чтобы открыть консоль Ranger, и введите select-editor
. Вы увидите список доступных редакторов, куда сможете выбрать vim
.
6. Различие между клавишами Enter
и E
Обратите внимание на различие в поведении при нажатии клавиш:
- Нажимая
E
на выбранном файле, вы открываете его в редакторе. - Нажимая
Enter
, вы просто заходите в файл или папку, что может вызывать неожиданные результаты.
Также следите за тем, чтобы не было конфликтующих конфигураций между системными переменными и настройками в rifle.conf
.
Заключение
Следуя указанным шагам, вы сможете изменить текстовый редактор по умолчанию в Ranger на vim
или любой другой редактор на ваш выбор. Эти настройки обеспечат более удобную и персонализированную работу с текстовыми файлами в Ranger.