Рейнджер: открыть с 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
делает.