J'utilise l' explorateur de fichiers du terminal Ranger à partir d'un terminal Linux.
Dis que je démarre à partir de l'invite de commande dans le répertoire personnel et lance ranger
user@/home/user $ ranger
ranger ouvre ..... et dans le programme de ranger j'explore pour:
/media/ubuntu/sdf675d7sf5sdfs7/some_directory
Si je frappe ensuite q pour quitter Ranger, je suis renvoyé dans le même dossier que celui d'où j'ai lancé Ranger. c'est à dire
user@/home/user $
Est-il possible de quitter Ranger et de rester dans le répertoire dans lequel j'étais avec Ranger, i.
user@/media/ubuntu/sdf675d7sf5sdfs7/some_directory $
linux
command-line
terminal
ranger
the_velour_fog
la source
la source
;
et ensuite spécifier plus de commandes après le point-virgule qui - je suppose que sont exécutées au moment où vous fermezranger
, merci!.rangerdir
place pour le masquer. Ou supprimez-le à la finrm -d $HOME/rangerdir
,.fish_config
et ajouté une abréviation pourranger --choosedir="$HOME/.rangerdir"; cd (cat $HOME/.rangerdir)
S
Si vous frappez
S
, il ouvre un nouveau shell sur le répertoire courant.Ensuite, si vous frappez
Ctrl + D
sur le coquillage, il revient àranger
.Cette solution de contournement est souvent suffisante.
la source
J'ai trouvé une solution plus simple. Lorsque vous installez ranger, il mettra un script dans votre dossier bin qui, s'il est exécuté, démarrera le programme. Mais si vous le sourcez, avec
il lancera ranger et vous déposera dans le dernier dossier visité lorsque vous quitterez.
donc si vous voulez ce comportement par défaut, faites
ou encore mieux le mettre dans votre fichier .bashrc.
Pour voir la documentation et l'implémentation de cette fonctionnalité, lisez le script ranger dans votre dossier bin.
la source
. ranger
Pour reprendre la réponse de Gombai Sándor, je suggère de faire un ajustement mineur à l'alias:
En remplaçant «$ Home / rangerdir» par «$ Home / .rangerdir», vous masquez le fichier créé par l'alias. fait en sorte qu'il n'encombre pas le dossier de base de manière ennuyeuse. cela ne fait aucune différence fonctionnelle dans son fonctionnement.
la source
Je suis tombé sur une question similaire ailleurs avec une meilleure réponse par rapport à Gambai et ses autres variantes proposées. C'est mieux depuis.
Il y a une fonction dans un fichier shell déjà dans le dépôt git de ranger:
https://github.com/ranger/ranger/blob/master/examples/bash_automatic_cd.sh
Vous pouvez mettre cette fonction dans le
~/.zshrc
fichier shell rc (par exemple ) de votre favori et créer un alias et / ou le lier à une combinaison de touches (encore une fois, les deux peuvent aller dans le fichier rc):et / ou
Avis de non-responsabilité: ce qui
bindkey
précède fonctionne dans ZSH et vous devez le modifier en fonction de votre shell préféréla source
Merci pour Gombai pour l'inspiration, mais sur Ubuntu 14.04 LTS, j'ai trouvé que la solution ne fonctionnait pas tout à fait. En le modifiant légèrement et en l'enregistrant en tant qu'alias dans mon .bashrc, les éléments suivants ont parfaitement fonctionné (après la création du
rangerdir
fichier):alias ranger='ranger --choosedir=$HOME/rangerdir;cd "$(cat $HOME/rangerdir)"'
Le post suivant sur askubuntu m'a aidé lorsque j'essayais de comprendre pourquoi les différentes solutions que j'essayais ne fonctionnaient pas: /ubuntu/404141/why-cant-i-pipe-into-cd
la source
puis-je un-up vous tous? passer par les autres arguments peut être utile, alors mettez cela dans votre shellrc
la source
Voici une manière plus élégante d'y écrire en écrivant un wrapper de fonction. Utilisez simplement la commande
ranger
, et si vous voulez synchroniser le changement de répertoire vers le shell principal, quittez ranger avec des majusculesQ
.(Les codes ci-dessous sont testés avec Bash et ZSH.)
Cela vous permettra de synchroniser le changement de répertoire sur demande . Utilisez
:q
pour quitter normalement,Q
pour quitter et modifier votre répertoire.la source