✔ 最佳答案
"for long" is an idiomatic expression to mean "for a long time" and is usually used in questions and negative sentences (i.e "not for long").
Q1. How long will it take to get there?
A1. It won't take long. 不用 多久 (versus) It will take a long time.
Q2. How long have you been waiting?
A2. I have not been waiting for long. 我等了不久 ( versus) I have been waiting for a long time.
Note: I have not been waiting for a long time. (= It is a long time since the last time I was waiting) 我很久沒有等候了 (與上句意思不同
!)
We can use the comparative (比較級) of "long" (1.adverb and 2.adjective) adding the intensifier "much" to express the time needed more than expected: 比預期更長的時間
1. (for) much longer - mainly used in negative sentences.
2. (for) a much longer time - mainly used in positive sentences.
Note that "(for)" in the above expressions can sometimes be omitted when not necessary.
Your question:
I may not have to keep our secret for much longer.
為什麼for後不需名詞?介系詞不是一定要有名詞作受詞?
It is because "for much longer" is an idiomatic expression used to replace "for a much longer time" in a negative sentence.
The positive sentence of the above is:
I may have to keep our secret for a much longer time. (preposition "for" + noun phrase as its object )
參考: Oxford, Cambridge, Longman dictionaries