I've been doing some reading lately on my heritage language, Litvish Yiddish. The "Standard Yiddish" variety which is found in literature and academia is pretty close to Litvish, but I found to my frustration that Litvish forms aren't totally derivable from Standard. The main difference is that Standard has /oi/ in many words where Litvish has /ei/, e.g. Standard oivn, Litvish eivn 'oven'. The catch is that sometimes both have /oi/, e.g. Standard=Litvish hoiz 'house'. The question for me was: how can I learn Litvish from a book that teaches Standard?
Now, it turns out that Litvish /oi/ is the reflex of one particular vowel (something like */uw/) in Proto-Yiddish, denoted by the number 45 in Yiddish linguistics. Cognate words in Middle High German (MHG) have /u:/, and in Modern German /au/, e.g. German haus 'house'. Unfortunately Modern German /au/ also results from MHG /ou/, cognate to Litvish /ei/ e.g. MHG ouge, Modern German Auge, Litvish eig (Standard oig). This does, at least, mean that if a word doesn't have /au/ in Modern German, it won't have /oi/ in Litvish, so for example Modern German Brot 'bread' is breit in Litvish (cf. Standard broit).
Eventually I discovered that that the key lies with Dutch. Dutch also originally had */u:/ at an early stage in words with Yiddish 45, which eventually developed into /œy/, spelled ui. This is the only source of the vowel ui in Dutch. Thus to determine the form of a Standard word in Litvish, replace any "oi" with "ei" unless its Dutch cognate has ui. For example, Standard toib may mean either 'deaf' or 'dove'. Its cognates in Dutch are doof 'deaf' and duif 'dove'. Thus in Litvish, the words are teib 'deaf' and toib 'dove'.
Incidentally, some Litvish Yiddish varieties have /eu/ in words where the Standard has oi and (conventional) Litvish has ei, for instance having breut for broit/breit 'bread'.
Here is a nice map of the distribution of the Yiddish words for 'deaf' and 'dove' in Litvish Yiddish.