Zum Forum springen
Benachrichtigungen
Alles löschen

gVim Hilfe gesucht

19 Beiträge
8 Benutzer
0 Reactions
1,277 Ansichten
tranceactor
Beigetreten: 09.11.2006

habe das leider etwas schleifen lassen und bin jetzt wieder auf den thread gestoßen. ich bin leider definitiv zu blöd, um ein skript/makro oder irgendwas funktionierendes hinzubekommen für gvim.
die einzelschritte funktionieren aber. vielen dank an alle!

deshalb biete ich hiermit 15$ auf stars für die erstellung einer lösung, die ich einfach benutzen kann (ja, es muss mir vermutlich auch erklärt werden, wie ich das einbinde/benutze).

schritte, die die lösung können muss:
0) [nur bei €-hh nötig] suche €1 (das kommt, wenn ich € in gvim importiere für jedes €-zeichen) und ersetze es durch $

1) :%s/\(\d\)\.\(\d\)\d/.\1\2/g

2) :%s/\(\D\)\.\(\d\)/\10.\2/g

3) %s/$2\/$4/$0.20\/$0.40/
%s/$1\/$2/$0.10\/$0.20/
%s/$3\/$6/$0.30\/$0.60/
%s/$2.5\/$5/$0.25\/$0.50/

die letzten halt limitabhängig. macht gvim eigentlich weiter, wenn es den ausdruck nicht findet, also bsp. nach 1/2 sucht, aber nicht findet, weil es eine 3/6-hh ist? falls ja, reicht ein makro/script. falls nein, müsste man irgendwie beibringen das zu ignorieren oder gleich 8 makros/scripts bauen ( 1/2, 2/4, 3/6, 2.5/5 mit/ohne schritt 0)

schonmal vielen dank!

ursprünglicher post

hi,

ich suche eine möglichkeit in einem textdokument (handhistory) alle zahlen automatisch durch 10 teilen zu lassen. aus plo400 soll quasi plo40 werden. geht das irgendwie?

GAME #3411415081: Omaha PL €2/€4 2014-01-16 10:30:17/GMT
Table Aalst
Seat 1: FeralFighter (€414.50 in chips)
Seat 3: Rema10Messi (€427.00 in chips)
Seat 5: AsingleNun (€400.00 in chips)
Seat 6: Lil Dave (€495.00 in chips) DEALER
Seat 10: HERO (€403.90 in chips)
HERO: Post SB €2.00
FeralFighter: Post BB €4.00
HOLE CARDS
Dealt to HERO [HJ D9 HT DJ]
Rema10Messi: Fold
AsingleNun: Fold
Lil Dave: Fold
HERO: Raise (NF) €12.00
FeralFighter: Raise (NF) €36.00
HERO: Call €24.00
FLOP [C5 S4 H2]
HERO: Check
FeralFighter: Bet €34.00
HERO: Fold
SUMMARY
Total pot €103.00 Rake €3.00
FeralFighter: wins €103.00


Antwort
Zitat
18 Antworten
MisterJ
Beigetreten: 26.03.2006

Auch mit Zahlen <10? Dann müsste man ja ordentlich rechnen.

Ansonsten im vim:
:%s/\([0-9]*[0-9]\)[0-9]/\1/g


Antwort
Zitat
cheetah83
Beigetreten: 27.02.2007

Da du auch Datum und Uhrzeit drinstehen hast, so wie evtl. Spielernamen mti Zahlen drin, ist ne saubere Lösung schwierig.

quick und dirty würde ich es mit Suchen und ersetzen machen

zuerst alle letzten Stellen einer Zahl löschen (quasi immer abrunden)

ersetze "0 " durch " ", "1 " durch " " usw.

anschließend komma verschieben

ersetze "0." durch ".0", "1." durch ".1" usw.

wie gesagt ist diese lösung wirklich dreckig und kann zu änderung der spielernamen und nicht passenden pot größen führen. Und sie greift nur bei Zahlen die vor einem Leerzeichen stehen, da dann aber auch bei allen Zahlen, wie bspw. im Datum.


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

schonmal vielen dank euch beiden.

mir ist dummerweise gerade erst aufgefallen, dass alle zahlen durch 10 geteilt werden dürfen ausser den seats.

ich habe mir das vim (gvim?) runtergeladen, aber ich verstehe leider nicht, wo/wie ich den befehl erstellen/eingeben/einfügen/ausführen kann. ich habe im internet gesucht, aber irgendwie auch keine lösung finden können. ich finde dort immer nur einen haufen befehle, aber nie wie ich sie ausführe


Antwort
Zitat
sarc
Beigetreten: 06.06.2008

Ungetestet:

:%s/\(\d\)\.\(\d\)\d/.\1\2/g

Einfach nach dem Start vom vim so eintippen (der erste Doppelpunkt schaltet in den Kommandomodus, dann das Ersetzungskommando). Geht vom Format aus wie gezeigt und verschiebt den Punkt um eine Stelle nach vorn. Die letzte Stelle wird gelöscht (keine Rundung). Problem ist noch: Sachen wie 1.00 werden zu .10, das kannst solltest aber mit

:%s/\(\D\)\.\(\d\)/\10.\2/g

retten können.


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

sehr geil. da kommen wir der sache schon ziemlich nahe.

kam mir ziemlich dumm vor als man nur den doppelpunkt einzeln schreiben musste und dann erst den rest vom befehl. habe natürlich immer alles komplett gecopypastet

jetzt müsste sich eigentlich nur noch das limit mitändern in der jeweiligen limitzeile (sind ja normalerwise mehrere histories in einer file)
und man am besten die ganze befehlskette als makro oder ähnliches abspeichern. geht das irgendwie?


Antwort
Zitat
sarc
Beigetreten: 06.06.2008

Das ist halt ned ganz so einfach, weil da keine Punkte sind... ;) Wenn du immer aus 400 40 machen willst kannst das aber hässlich direkt reinhauen:

%s/€2\/€4/€0.20\/€0.40/

Das alles in n Script packen geht sicher, weiß ich aber ned auswendig wie.

Bist du eigentlich unter Linux unterwegs oder hast dir den vim für Windows gezogen? Unter Linux kannst nämlich stattdessen auch einfach sed nehmen, das wär dann mein Mittel der Wahl gewesen... ;)


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

vielen dank nochmals. ich nutze windows.

ist echt kein intuitives programm und die beschreibungen/tutorials sind meist auch schwer verständlich für anfänger wie mich. da fehlt meist schritt 0 ("klicke hier drauf, um da hin zu kommen"). aber irgendwie bekomme ich das schon als makro gespeichert (hoffentlich^^)


Antwort
Zitat
MisterJ
Beigetreten: 26.03.2006

qq startet eine Makro aufzeichnung, q nochmal beendet
@q spielt das makro wieder ab.


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

Original von MisterJ
qq startet eine Makro aufzeichnung, q nochmal beendet
@q spielt das makro wieder ab.

vielen dank.

ist das makro dann dauerhaft gespeichert? (wie) lässt es sich auf andere rechner übertragen?


Antwort
Zitat
sarc
Beigetreten: 06.06.2008

Du hast auch eine Problemstellung, die sich mit intuitiv bedienbaren Programmen nur schwer lösen lässt... ;)


Antwort
Zitat
lnternet
Beigetreten: 19.06.2012

Wie waers mit: entfern alle punkte, parse 3+ stellige zahlen, loesche letzte ziffer, und fuege punkte wieder ein

e: ok nix neues nevermind


Antwort
Zitat
bl4ze88
Beigetreten: 03.03.2009

Original von tranceactor
hi,

ich suche eine möglichkeit in einem textdokument (handhistory) alle zahlen automatisch durch 10 teilen zu lassen. aus plo400 soll quasi plo40 werden. geht das irgendwie?

GAME #3411415081: Omaha PL €2/€4 2014-01-16 10:30:17/GMT
Table Aalst
Seat 1: FeralFighter (€414.50 in chips)
Seat 3: Rema10Messi (€427.00 in chips)
Seat 5: AsingleNun (€400.00 in chips)
Seat 6: Lil Dave (€495.00 in chips) DEALER
Seat 10: HERO (€403.90 in chips)
HERO: Post SB €2.00
FeralFighter: Post BB €4.00
HOLE CARDS
Dealt to HERO [HJ D9 HT DJ]
Rema10Messi: Fold
AsingleNun: Fold
Lil Dave: Fold
HERO: Raise (NF) €12.00
FeralFighter: Raise (NF) €36.00
HERO: Call €24.00
FLOP [C5 S4 H2]
HERO: Check
FeralFighter: Bet €34.00
HERO: Fold
SUMMARY
Total pot €103.00 Rake €3.00
FeralFighter: wins €103.00

kurz eine Frage. Du möchtest aus obiger darstellung folgende machen?:
GAME #3411415081: Omaha PL €0.2/€0.4 2014-01-16 10:30:17/GMT
Table Aalst
Seat 1: FeralFighter (€41,450 in chips)
Seat 3: Rema10Messi (€42,700 in chips)
Seat 5: AsingleNun (€40,000 in chips)
Seat 6: Lil Dave (€49,500 in chips) DEALER
Seat 10: HERO (€40,390 in chips)
HERO: Post SB €0,200
FeralFighter: Post BB €0,400
HOLE CARDS
Dealt to HERO [HJ D9 HT DJ]
Rema10Messi: Fold
AsingleNun: Fold
Lil Dave: Fold
HERO: Raise (NF) €1,200
FeralFighter: Raise (NF) €3,600
HERO: Call €2,400
FLOP [C5 S4 H2]
HERO: Check
FeralFighter: Bet €3,400
HERO: Fold
SUMMARY
Total pot €10,300 Rake €0,300
FeralFighter: wins €10,300

eventuell mit rundung auf 2 stellen nach dem komma?


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

Original von bl4ze88

Original von tranceactor
hi,

ich suche eine möglichkeit in einem textdokument (handhistory) alle zahlen automatisch durch 10 teilen zu lassen. aus plo400 soll quasi plo40 werden. geht das irgendwie?

GAME #3411415081: Omaha PL €2/€4 2014-01-16 10:30:17/GMT
Table Aalst
Seat 1: FeralFighter (€414.50 in chips)
Seat 3: Rema10Messi (€427.00 in chips)
Seat 5: AsingleNun (€400.00 in chips)
Seat 6: Lil Dave (€495.00 in chips) DEALER
Seat 10: HERO (€403.90 in chips)
HERO: Post SB €2.00
FeralFighter: Post BB €4.00
HOLE CARDS
Dealt to HERO [HJ D9 HT DJ]
Rema10Messi: Fold
AsingleNun: Fold
Lil Dave: Fold
HERO: Raise (NF) €12.00
FeralFighter: Raise (NF) €36.00
HERO: Call €24.00
FLOP [C5 S4 H2]
HERO: Check
FeralFighter: Bet €34.00
HERO: Fold
SUMMARY
Total pot €103.00 Rake €3.00
FeralFighter: wins €103.00

kurz eine Frage. Du möchtest aus obiger darstellung folgende machen?:
GAME #3411415081: Omaha PL €0.20/€0.40 2014-01-16 10:30:17/GMT
Table Aalst
Seat 1: FeralFighter (€41,450 in chips)
Seat 3: Rema10Messi (€42,700 in chips)
Seat 5: AsingleNun (€40,000 in chips)
Seat 6: Lil Dave (€49,500 in chips) DEALER
Seat 10: HERO (€40,390 in chips)
HERO: Post SB €0,200
FeralFighter: Post BB €0,400
HOLE CARDS
Dealt to HERO [HJ D9 HT DJ]
Rema10Messi: Fold
AsingleNun: Fold
Lil Dave: Fold
HERO: Raise (NF) €1,200
FeralFighter: Raise (NF) €3,600
HERO: Call €2,400
FLOP [C5 S4 H2]
HERO: Check
FeralFighter: Bet €3,400
HERO: Fold
SUMMARY
Total pot €10,300 Rake €0,300
FeralFighter: wins €10,300

eventuell mit rundung auf 2 stellen nach dem komma?

bis auf die fehlende null bei der limitangabe trifft es das ganz gut. rundung auf 2 nachkommastellen wäre noch nötig (wobei immer 2 stellen stehen bleiben müssen - halt nicht 0.4, sondern 0.40) und es sollten keine kommas, sondern punkte sein bei allen beträgen. das wäre perfekt.


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

habe das leider etwas schleifen lassen und bin jetzt wieder auf den thread gestoßen. ich bin leider definitiv zu blöd, um ein skript/makro oder irgendwas funktionierendes hinzubekommen für gvim.
die einzelschritte funktionieren aber. vielen dank an alle!

deshalb biete ich hiermit 15$ auf stars für die erstellung einer lösung, die ich einfach benutzen kann (ja, es muss mir vermutlich auch erklärt werden, wie ich das einbinde/benutze).

schritte, die die lösung können muss:
0) [nur bei €-hh nötig] suche €1 (das kommt, wenn ich € in gvim importiere für jedes €-zeichen) und ersetze es durch $

1) :%s/\(\d\)\.\(\d\)\d/.\1\2/g

2) :%s/\(\D\)\.\(\d\)/\10.\2/g

3) %s/$2\/$4/$0.20\/$0.40/
%s/$1\/$2/$0.10\/$0.20/
%s/$3\/$6/$0.30\/$0.60/
%s/$2.5\/$5/$0.25\/$0.50/

die letzten halt limitabhängig. macht gvim eigentlich weiter, wenn es den ausdruck nicht findet, also bsp. nach 1/2 sucht, aber nicht findet, weil es eine 3/6-hh ist? falls ja, reicht ein makro/script. falls nein, müsste man irgendwie beibringen das zu ignorieren oder gleich 8 makros/scripts bauen ( 1/2, 2/4, 3/6, 2.5/5 mit/ohne schritt 0)

schonmal vielen dank!


Antwort
Zitat
bastimw
Beigetreten: 07.10.2008

welche Sprache für das Macro?


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

ich habe leider gar keinen plan von programmiersprachen, deshalb kann ich nur sagen: irgendeine mit der es funktioniert mit meinem laptop in gvim...

am besten natürlich mit möglichst wenig klicks bzw. ganz automatisch bei jedem einfügen einer hh in gvim


Antwort
Zitat
HoRRoR
Beigetreten: 11.02.2005

what about € zeichen entfernen und ne währung einfügen wo 10 einheiten ungefähr 1€ entsprechen? ;)


Antwort
Zitat
tranceactor
Beigetreten: 09.11.2006

Original von HoRRoR
what about € zeichen entfernen und ne währung einfügen wo 10 einheiten ungefähr 1€ entsprechen? ;)

keine schlechte idee, für meine zwecke aber ungeeignet


Antwort
Zitat