“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.
“to Yahweh.” Absalom makes his lie more convincing by adding the name Yahweh.
“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 worshiped in Hebron, Absalom’s hometown, and he had to go there to fulfill 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.
Hebron was a long day’s journey south of Jerusalem. Absalom may have chosen Hebron for a number of reasons, but also there may have still been people there who were upset that David moved his capital city away from Hebron to Jerusalem.