I am on Ubuntu and use
SiWriter, an IBus extension that I wrote many years ago. I face a key repetition problem on Google Chrome for some characters. Otherwise it has been serving well. As the browser I generally use FireFox and it works well with SiWriter. I am not however sure if it works well on terminal applications like vim. Due to poor rendering of Sinhala on terminal, I haven't tried Sinhala input on terminal applications a lot. Neither I haven't looked into why the rendering is poor on the terminal. That's however a different problem not related to the input method.
Anyway, I am not sure why gedit doesn't work for you. Do you see characters getting rendered without an issue if you copy paste into gedit? If so, the problem might be with the input method itself. So I wonder if you should look for another text editor or try to fix the input method problems that may exist.
I am not sure about the singlish (m17n) input approach. I haven't used it. You can feel the SiWriter approach by using the web tool at
https://demo.software.lk/siwriter/ . Is singlish input approach different from it?