Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

CDargs


Status projekta


CDargs je ,najverovatnije, moj "najuspešniji" softverski projekat, koliko god bio mali. Uprkos tome, ja ovaj deo softvera smatram završenim. On obavlja skoro sve što želim (i implementacija obimnije pretrage bi bila previše dosadna).

Kod je zaista loš, ja to znam. Pisan je u fazi kada započinjete učenje C++, nakon kodiranja nekog vremena u C... Ovo je još jedan razlog da ga više ne diram ( naravno, osim ako ne primim ispravke bagova koji nisu već detektovani.)

Ja bih uključio neke ZSH-kodove, radi kompletnosti za distribuciju, ali ne koristim ZSH i tako ih neću ni pisati. (u nastavku potražite pečeve)

Od Jula 2010 tamo postoji prijateljsko razilaženje na github-u: http://github.com/cbxbiker61/cdargs Možda će neko drugi preuzeti posao oko ovoga i uvesti ga u moderno doba. Molim vas, slobodno potražite na tom mestu, ukoliko otkrijete da je bilo šta pokvareno, ili nedostaje u verziji 1.35.

Uvod




Aktuelna verzija: 1.35

CDargs značajno poboljšava navođenje prostih sistema unix datoteka u okviru školjke (shell). On uključuje u shell, komande-ugrađene-u cd (preko funkcija školjke ili nadimka(alijasa)) i tako joj dodaje obeleživače(bookmarkove) i pretraživače. Ovo vam omogućuje premeštanje na veoma udaljena mesta u sistemu datoteka, sa samo nekoliko udaraca po tastaturi. Ovo je nešto što su korisnici power shell-ova izmislili za situaciju kada je čak i svemoćni i predivni TAB-completion suviše za kucanje. (Samo kao usputno obaveštenje: postoji TAB-completion zacdargs ;-)

Ovaj mali deo softvera bio je inspirisan člankom Michael Schilli-a napisanom za nemački iX-Magazine ]. Tamo se prikazuje tekst koji vam dozvoljava da birate, sa spiska mogućnosti, gde će šta sa cd-a , npr. u vašem xterm-u. Na forumu povezanom sa ovim člankom neko drugi je poboljšali ovaj tekst.

Kada sam poželeo da ga još više izmenim i dodam mu još neke karakteristike otkrio sam da nije po GPL(po propisima), tako da sam odlučio da ispočetka napišem celu stvar. Budući da sam želeo da budem siguran da ne delim nijedan kod sa originalnim umetničkim delom, izabrao sam da koristim C/C++ zajedno sa ncurses bibliotekom. Ovaj program je rezultat tih napora.

Zapravo
  • Claus Brunzema
  • Dan Allen
Su značajno umešani u ovaj projekat. Molim vas pročitajte THANKS (zahvaljujem se) datoteku za distribuciju, radi punog spiska onih koji su učestvovali. Zapanjujuće ja da za tako mali program, toliko mnogo ljudi pomaže.

Motivacija i ostale zabeleške


Segfault
Dobija sam izvaštaje u vazi segfault-ova izazvanih cdargs-om. Mogu se izbeći kada se kompajlerska opcija -Os ne koristi. Ukoliko neko otkrije odakle se pojavljuju, molim da me obavesti.

pushd, popd, dirs
Da, znam za to. Nije mi se dopalo. Samo je stackbased (uskladišteno), nije sačuvano na kraju sesije, i nije mi ni polazilo za rukom. Iskreno sam se trudio, dovoljno dugo da stvorim neke alijase.

Alijasi
Kada govorimo o alijasima. Da, mogao sam da kreiram alijase za skakanje po direktorijumima. Ali nisam mogao da pronađem userfriendly(blisko korisniku), brz način upravljanja njima.

Symlinks
Da, nekada sam imao direktorijum sa symlink-ovima(sym-vezama) za moje hotspot-ove(važna mesta-žarišta). Nisam to dugo koristio. Loše za održavanje, direktorijumski clobber-i, nema tab completion,bez odlaska u taj direktorijum.Kao i dodatna zabava sa rešenim ili nerešenim symlink-ovima u pathname-ovima(naziv putanja).

CDPATH
Glupa ideja da se sa njom krene. Nisam mogao uzeti to za ozbiljno.

cd -
Samo jedan direktorijum, ali ga koristim sve vreme.

Ostalo...
Da, postoje i druge mogućnosti ponuđene od strane školjke ili programa poput midnight commander-a. Znam to. Nema potrebe za ukazivanjem na to. Želeo sam grafički pretraživač u shell-u, dopada mi se TAB completion, i karakteristike poput kursor.desno na bookmarku, ili pretraživanje sistema datoteke kursor-levo, radeći to kao i u cdargs, ili upravljanje vašim bookmarkovima dok se prikazuju, Ove karakteristike nedostaju u svim ostalim sugestijama na koje sam naišao.

Ali na kraju krajeva, besplatni softver je stvar izbora. Ukoliko pronađete drugi način da sebi budete praktični, ja se s time slažem. Budite srečni i brzi sa njim. Ja jesam sa cdargs-om.

Preuzimanje, instalacija i upotreba


Preuzmite tarball sa http://www.skamphausen.de/downloads/cdargs/ i raspakujte ga. Pogledajte u INSTALL datoteku radi detalja u vezi instalacije, i kako koristiti cdargs.

Bash i prijatelji


Još od verzije 1.19 cdargs dolazi u paketu sa kolekcijom shell funkcija za bash (napisanim od strane Dan Allen-a) tako da vi treba samo da ubacite liniju u vaš ~/.bashrc, odakle izvire ova datoteka. Kada je postavite negde u vaš $PATH samo treba da:

izvedete cdargs-bash.sh

ili je možete staviti gde god želite i odrediti joj putanju it, npr.:

  izvedete $HOME/src/cdargs/contrib/cdargs-bash.sh

Starija verzija cdargs zahteva shell funkciju koja poziva cdargs program i zatim menja direktorijum u putanju pronađenu u rezultirajućoj datoteci iz cdargs (verovatno ~/.cdargsresult). Neki primeri za naš bash:
     function cv () {
       cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" ;
     }
     
     function cv () {
       cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" && pwd ;
     }
     
     function cv () {
       cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" &&
       rm -f "$HOME/.cdargsresult";
     }
     
     function cap () {
       cdargs --add=":$1:`pwd`" ;
     }
             (zahvaljujem Stephen Gildea-u i Juhapekka Tolvanen-u na nepostavljanju pitanja!)

TCShell i slično(povezano)


Budući da ne koristim nijedan drugi shell, osim bash, ne mogu da omogućim ovu jednostavnu postavku i sve fine funkcije koje je Dan napisao za tcsh. Žao mi je. Ali ovo je besplatan softver. Bio bih više nego zadovoljan da primim prevod u tcsh i stavim ga u distribuciju!

U najmanju ruku, sa verzijom 1.20 cdargs ship-ove sa jednostavnim tcshell omotačem datoteke: cdargs-tcsh.csh koji ne omogućuje sve divne funkcije bashish verzije.

ZSH


Ovde se nalazi patch koji sam primio na početku 2009., za uspešno ZSH-kompletiranje jednostavnom upotrebom bash-kompletiranja iz ZSH: cdargs-zsh-completion.patch

Upotreba


Dok pišete cdargs pritisnite 'H' (ili '?' ili 'C-h') za pružanje pomoći i videćete koje su vam mogućnosti u rukama ... U suprotnom, pogledajte u INSTALL datoteku, koja sadrži važnu informaciju, ili pročitajte man-page.

Ukratko


Komanda ili pritisak na tasterFunkcija
cv u vašem shell-upoziva cdargs GUI
cv [TAB]Pruža vam TAB-completion za vaše zabeleške
ca [label]Dodaje aktuelni direktorijum listi vaših zabeleški, opcionalno koristeći LABEL kao opisni niz..
cpb FILELIST [bookmark]Kopira listu datoteka u direktorijum po vašem izboru. Osigurajte da opcionalni BOOKMARK nije direktorijum gde se vi nalazite.
Tasteri sa strelicama u cdargsPomeraju listu ili direktorijume.
ENTERBira(potvrđuje) unos
q,ESC,C-c,C-],C-gPrekid/završetak
H,?,C-hPoziv za pomoć

enjoy...





Published (Last edited): 03-10-2012 , source: http://www.skamphausen.de/cgi-bin/ska/CDargs/