7 votes

Puis-je raccourcir mes commandes de répertoire dans Ubuntu ?

Lorsque je travaille sur une application Rails, j'aime ouvrir tous mes fichiers via la ligne de commande, comme suit

CD my_app
gedit app/views/user/show.HTML.erb

Y a-t-il un moyen de raccourcir cela pour que je puisse juste écrire quelque chose comme

gedit  user_views/show.HTML.erb

?

Je voudrais que la console reste dans le répertoire principal, mais je n'aime pas avoir à taper app/controller/user_controler.rb chaque fois que je veux ouvrir le contrôleur utilisateur. Je sais que je pourrais simplement ouvrir le fichier avec ma souris, mais j'ai l'impression que passer du clavier à la souris me déconcentre un peu. Lorsque je peux simplement taper sur le clavier, j'ai l'impression que le flux de travail est plus fluide.

0voto

Avez-vous envisagé GMate ? Il s'agit d'une sélection de plugins pour Gedit qui facilitent considérablement le développement de Rails (entre autres choses) en le faisant ressembler à Textmate. Il résout votre problème avec le plugin Fuzzy Open. Vous ouvrez le répertoire de votre projet dans Gedit (en utilisant le plugin File Browser Pane, je crois), puis vous appuyez sur ctrl-shift-o pour activer FuzzyOpen. Ensuite, commencez à taper certaines des lettres du fichier que vous voulez, et FuzzyOpen les compare aux fichiers et répertoires de votre projet. Par exemple, si vous commencez à taper :

viushowhe

il trouvera tous les fichiers dont le chemin d'accès contient ces lettres dans cet ordre, par ex.

app/VIews/USers/sHOW.Html.Erb

Dans cette même série de lettres, on peut aussi trouver des choses comme :

Vendor/ImaplUgin/Stuff/SHOWmetHEmoney.rb etc.

0voto

user unknown Points 1732

J'avais un besoin connexe, celui de sauter dans des répertoires éloignés. J'ai écrit un script qui compte sur le nom du répertoire pour être plus ou moins unique, pour fonctionner :

#!/bin/bash
#
# usage: pcd NAME
#
# checks, whether the first locate-match is a directory, and jumps into it, if it is.
# If not, the first match is displayed. pcd: perhaps-cd. :)
#
function pcd 
{
    folder=$(locate $1 | egrep "$1$" | head -n 1)
    # echo $folder
    if [[ -d $folder ]]
    then 
        echo $folder
        cd $folder
    else 
    echo "No directory "$folder
    fi
}

J'ai pris la source dans .bashrc pour utiliser la fonction.

Si locate ne trouve pas trop de fichiers à modifier, le Shell pourrait afficher 30 ou 40 correspondances sous la forme d'une liste numérotée, et vous inviter à entrer un nombre de 0 à 30, 40, pour ouvrir ce fichier, ou vous pourriez utiliser zenity pour afficher les correspondances, et vous laisser les sélectionner.

Le programme locate repose sur l'exécution régulière de updatedb. Il ne fonctionnera pas pour les nouveaux fichiers d'aujourd'hui, mais la plupart des éditeurs ont une liste des fichiers récemment ouverts, n'est-ce pas ?

La boîte de dialogue d'ouverture de fichier peut être modifiée pour contenir les répertoires souvent utilisés - tirez ces répertoires vers la gauche, liste des favoris.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X