Рейнджер: открыть с vim в новом окне

Использование: st, Ranger, vim, i3

С большинством файлов, когда я открываю их с помощью Ranger, он открывается в новом окне. Тем не менее, когда я пытаюсь открыть файл с помощью vim, он открывает его в текущем терминале, в котором в данный момент работает Ranger.

Я понимаю, почему он это делает, я просто не могу найти, как получить желаемый результат открытия файлов с помощью vim (из ranger) в новом терминале.

5 ответов

Вы можете отредактировать конфигурацию винтовки рейнджера для этого. Винтовка является средством открывания файла рейнджера.

ranger --copy-config=rifle.conf

скопировать конфигурацию винтовки по умолчанию в ~/.config/ranger/rifle.conf

Затем измените строку в rifle.conf, которая говорит

mime ^ текст, редактор меток = ${VISUAL:-$EDITOR} - "$@" для

mime ^text,  label editor = nohup termite -e "${VISUAL:-$EDITOR} $@" >/dev/null &

Я использую эмулятор терминала термитов. Измените это на st в вашем случае.

Чтобы открыть несколько файлов одновременно, вы можете использовать

  mime ^text,  label editor = OPEN_WITH_TABS="${VISUAL:-$EDITOR} -p $@" && nohup termite -e "${OPEN_WITH_TABS}" >/dev/null &

Вы можете использовать t флаг для открытия в новом терминале.

Использовать r ярлык или тип :open_with vim t.

Я использовал решение, обнаруженное Yash для открытия mpv в отдельном окне

mime ^audio|ogg$, terminal, has mpv = nohup gnome-terminal -e "mpv '$a'" > /dev/null &

очень полезно

Вместо того, чтобы жестко запрограммировать предпочитаемый вами терминал, вы можете просто установитьtфлаг. Это «запустит программу в отдельном терминале, как указано в $TERMCMD» (со страницы руководства ).

Это соответствующий раздел моегоrifle.conf:

      # Define the "editor" for text files as first action
mime ^text,  label editor, flag t = ${VISUAL:-$EDITOR} -- "$@"
mime ^text,  label pager, flag t  = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php, flag t = ${VISUAL:-$EDITOR} -- "$@"
!mime ^text, label pager,  ext xml|json|csv|tex|py|pl|rb|js|sh|php, flag t = "$PAGER" -- "$@"

Поскольку первое решение у меня не сработало из-за цитат, упомянутых в @Javanator, и потому что-eопция будет устаревшей в этой функции, вот мое решение, вдохновленное @Yash:

mime ^text, label editor = gnome-terminal -- vim "$@"

Также бонусные баллы за добавление--geometry 153x40-0 вариант послеgnome-terminalоткрыть vim в определенном месте с определенным размером и--quietчтобы гарантировать, чтоnohupделает.

Другие вопросы по тегам