“four years.” The standard Masoretic Hebrew text has “forty,” but this has to be a scribal error for “four” because David’s entire reign was only 40 years, and this was the preparation time for Absalom’s rebellion. Some Hebrew texts read “four years,” and there are texts that say “forty days,” but the Lucianic Greek recension, the Syriac Peshitta, and the Latin have “four years.” Most modern English versions have “four years.”
“fulfill my vow.” This would be done by offering a sacrifice, in this case a large sacrifice with lots of animals and thus lots of food to eat, which explains the invited guests in 2 Samuel 15:11. But how could he do that away from Jerusalem? That question is not answered. This was a ruse, there was no such vow, and the fact that it had supposedly gone so many years without fulfillment should have aroused David’s suspicion, but David would not doubt his sons, something that was the cause of much trouble. In this case his naivete nearly cost him his kingdom and his life.
“Yahweh in Hebron.” The text might be better translated “Yahweh-in-Hebron” (see P. Kyle McCarter, Jr., The Anchor Bible: 2 Samuel, p. 356). It seems like Absalom had made a vow to Yahweh as He was known and worshipped in Hebron, Absalom’s hometown, and he had to go there to fulfil his vow. Although some versions move “in Hebron” away from Yahweh, it appears as Yahweh in Hebron in the Hebrew text and seems to go there.