ZSH Workshop: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
(completion erfordert grundlegendes zsh-verständnis imho)
("script" das ich durchgegangen bin)
 
(7 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:
 
*: und ich --[[Benutzer:Henning|Henning]] 14:14, 11. Feb. 2012 (CET)
 
*: und ich --[[Benutzer:Henning|Henning]] 14:14, 11. Feb. 2012 (CET)
 
*: und ich --[[Benutzer:Entilzah|Entilzah]] 15:29, 11. Feb. 2012 (CET)
 
*: und ich --[[Benutzer:Entilzah|Entilzah]] 15:29, 11. Feb. 2012 (CET)
*: und ich --[[Benutzer:Blinry|blinry]]
 
 
*: und ich --[[Benutzer:Neo Bechstein|Neo Bechstein]] 20:12, 16. Feb. 2012 (CET)
 
*: und ich --[[Benutzer:Neo Bechstein|Neo Bechstein]] 20:12, 16. Feb. 2012 (CET)
 
*: und ich --[[Benutzer:Emantor|Emantor]]
 
*: und ich --[[Benutzer:Emantor|Emantor]]
 +
*: <del>und ich --[[Benutzer:Stew|Stew]] 23:46, 24. Apr. 2012 (CEST)</del> komme später, wenn überhaupt. :-(
 +
*: <del> und ich -- [[Benutzer:Hp-bioing|Hp-bioing]] 00:05, 26. Apr. 2012 (CEST) </del> Leider kurzfristig nein ....
 
*c) zsh-user die etwas neues lernen wollen
 
*c) zsh-user die etwas neues lernen wollen
 
*: z.B. ich --[[Benutzer:Ktrask|Ktrask]] 23:09, 10. Feb. 2012 (CET)
 
*: z.B. ich --[[Benutzer:Ktrask|Ktrask]] 23:09, 10. Feb. 2012 (CET)
 
*: ich, wobei ich vor kurzem noch zu b) gehört hätte --[[Benutzer:Drc|Drc]] 15:48, 11. Feb. 2012 (CET)
 
*: ich, wobei ich vor kurzem noch zu b) gehört hätte --[[Benutzer:Drc|Drc]] 15:48, 11. Feb. 2012 (CET)
 +
*: und ich --[[Benutzer:Blinry|blinry]], dito
 +
 
Und das ist nicht ganz einfach zu balancieren. Hab schonmal meine eigene Einschaetzung eingetragen, und aktuell wuerde ich vermutlich am ehesten die c) Leute ansprechen, aber das kann sich nach Bedarf aendern.
 
Und das ist nicht ganz einfach zu balancieren. Hab schonmal meine eigene Einschaetzung eingetragen, und aktuell wuerde ich vermutlich am ehesten die c) Leute ansprechen, aber das kann sich nach Bedarf aendern.
  
Zeile 21: Zeile 24:
 
! POI !! relevante zsh line !! Interesse (! hochinteressant / + interessant / O geht so)
 
! POI !! relevante zsh line !! Interesse (! hochinteressant / + interessant / O geht so)
 
|-
 
|-
| living in the shell / basics (nicht allzu zsh-spezifisch) || <tt>evince =(curl www.irs.gov/pub/irs-pdf/fw4.pdf)</tt> || OOoO+++
+
| living in the shell / basics (nicht allzu zsh-spezifisch) || <tt>evince =(curl www.irs.gov/pub/irs-pdf/fw4.pdf)</tt> || OOoO++++
 
|-
 
|-
 
| zsh interactive use || <tt><nowiki>echo **/*(mh-48);
 
| zsh interactive use || <tt><nowiki>echo **/*(mh-48);
zmv 'artist_(<->)_(*)_releasegroup.mp3' '$1 ${(C)2:gs/_/ }.mp3'</nowiki></tt> || !+!!!+!
+
zmv 'artist_(<->)_(*)_releasegroup.mp3' '$1 ${(C)2:gs/_/ }.mp3'</nowiki></tt> || !+!!!+!++
 
|-
 
|-
| zsh scripting || <tt><nowiki>[[ 'something' =~ 's(ometh)ing' ]] && print $match;</nowiki></tt> ||  ++++O++
+
| zsh scripting || <tt><nowiki>[[ 'something' =~ 's(ometh)ing' ]] && print $match;</nowiki></tt> ||  ++++O++++
 
|-
 
|-
| .zshrc ueberblick und Moeglichkeiten || <tt>bindkey -e; bindkey jj vi-cmd-mode;</tt>  || OOoO!!!
+
| .zshrc ueberblick und Moeglichkeiten || <tt>bindkey -e; bindkey jj vi-cmd-mode;</tt>  || OOoO!!!!!
 
|-
 
|-
| bash ~> zsh, und warum zsh > bash? || <tt>touch -- host:*; scp host:* .</tt> || OO!+!!+
+
| bash ~> zsh, und warum zsh > bash? || <tt>touch -- host:*; scp host:* .</tt> || OO!+!!+++
 
|-
 
|-
| writing a completion || <tt>#compdef _application</tt> || +!+!++!
+
| writing a completion || <tt>#compdef _application</tt> || +!+!++!o0
 
|}
 
|}
  
Zeile 49: Zeile 52:
  
 
Was mir gerade auffällt: Um eine Completion zu schreiben, wäre es wahrscheinlich nicht verkehrt, überhaupt mal einen Überblick über ZSH zu haben. Gerade wenn ich mir oben die Anzahl der Benutzer anschaue, die von bash/etc. bekehrt werden wollen. Man hat dann zwar am Ende eine Completion, aber weiß vielleicht garnichts von den anderen Features, und warum man zsh überhaupt einsetzen will. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 14:38, 18. Apr. 2012 (CEST)
 
Was mir gerade auffällt: Um eine Completion zu schreiben, wäre es wahrscheinlich nicht verkehrt, überhaupt mal einen Überblick über ZSH zu haben. Gerade wenn ich mir oben die Anzahl der Benutzer anschaue, die von bash/etc. bekehrt werden wollen. Man hat dann zwar am Ende eine Completion, aber weiß vielleicht garnichts von den anderen Features, und warum man zsh überhaupt einsetzen will. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 14:38, 18. Apr. 2012 (CEST)
 +
 +
== Shownotes ==
 +
* [https://github.com/Valodim/zshrc Valodims ZSH-Config] zum selberzusammenklauen
 +
* [http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc Grml] ZSH-Cconfig
 +
* Das [http://mugenguild.com/~valodim/st0/zwork script], mit den ganzen dargestellten Beispielen. Nicht gerade uebersichtlich, muesst euch mein Geschwafel dazudenken :)
 +
** for i in ${(Oaf)"$(<zwork)"}; print -z $i;
  
 
[[Kategorie:Workshops]]
 
[[Kategorie:Workshops]]

Aktuelle Version vom 29. April 2012, 23:26 Uhr

Organisator
Valodim
Termin
28. April 2012, 17:00

Um den Content moeglichst an eurem Interesse auszurichten, wuerde mich einmal interessieren, wo ihr Schwerpunkte setzen wuerdet, bzw. wie viel Background schon da ist. Insbesondere gibt es vermutlich diese Kategorien von Interessenten:

  • a) gaenzlich shell unerfahrene
  • b) bash-user, die bekehrt werden wollen
    z.B. ich Daniel Bohrer 22:54, 10. Feb. 2012 (CET)
    und ich --Henning 14:14, 11. Feb. 2012 (CET)
    und ich --Entilzah 15:29, 11. Feb. 2012 (CET)
    und ich --Neo Bechstein 20:12, 16. Feb. 2012 (CET)
    und ich --Emantor
    und ich --Stew 23:46, 24. Apr. 2012 (CEST) komme später, wenn überhaupt. :-(
    und ich -- Hp-bioing 00:05, 26. Apr. 2012 (CEST) Leider kurzfristig nein ....
  • c) zsh-user die etwas neues lernen wollen
    z.B. ich --Ktrask 23:09, 10. Feb. 2012 (CET)
    ich, wobei ich vor kurzem noch zu b) gehört hätte --Drc 15:48, 11. Feb. 2012 (CET)
    und ich --blinry, dito

Und das ist nicht ganz einfach zu balancieren. Hab schonmal meine eigene Einschaetzung eingetragen, und aktuell wuerde ich vermutlich am ehesten die c) Leute ansprechen, aber das kann sich nach Bedarf aendern.

Falls tatsaechlich grosses Interesse an dem Themekomplex "shell statt KDE und gnome" besteht, also eher an basics als spezifischeren Themen, dann wuerde ich das vermutlich in einen weiteren Workshop auslagern.

POI relevante zsh line Interesse (! hochinteressant / + interessant / O geht so)
living in the shell / basics (nicht allzu zsh-spezifisch) evince =(curl www.irs.gov/pub/irs-pdf/fw4.pdf) OOoO++++
zsh interactive use echo **/*(mh-48); zmv 'artist_(<->)_(*)_releasegroup.mp3' '$1 ${(C)2:gs/_/ }.mp3' !+!!!+!++
zsh scripting [[ 'something' =~ 's(ometh)ing' ]] && print $match; ++++O++++
.zshrc ueberblick und Moeglichkeiten bindkey -e; bindkey jj vi-cmd-mode; OOoO!!!!!
bash ~> zsh, und warum zsh > bash? touch -- host:*; scp host:* . OO!+!!+++
writing a completion #compdef _application +!+!++!o0


Completion

Da einiges Interesse daran zu bestehen scheint, eine completion zu schreiben, waere ich an Vorschlaegen interessiert, wofuer wir denn eine Completion schreiben. Spontan fallen mir ein:

  • 7z
  • pv
  • tail (aus irgendwelchen Gruenden gibt es das noch nicht)

Diese Beispiele haben denke ich angemessenen Umfang, und haben sicherlich sogar eine gewisse Nachfrage. Jemand weitere Vorschlaege oder Wuensche? :)

Kann schlecht beurteilen, was sich da gut oder schlecht für eignet... tail klingt aber erstmal am einfachsten :P --Daniel Bohrer 18:12, 11. Mär. 2012 (CET)

Was mir gerade auffällt: Um eine Completion zu schreiben, wäre es wahrscheinlich nicht verkehrt, überhaupt mal einen Überblick über ZSH zu haben. Gerade wenn ich mir oben die Anzahl der Benutzer anschaue, die von bash/etc. bekehrt werden wollen. Man hat dann zwar am Ende eine Completion, aber weiß vielleicht garnichts von den anderen Features, und warum man zsh überhaupt einsetzen will. --Daniel Bohrer 14:38, 18. Apr. 2012 (CEST)

Shownotes

  • Valodims ZSH-Config zum selberzusammenklauen
  • Grml ZSH-Cconfig
  • Das script, mit den ganzen dargestellten Beispielen. Nicht gerade uebersichtlich, muesst euch mein Geschwafel dazudenken :)
    • for i in ${(Oaf)"$(<zwork)"}; print -z $i;