Mix the fish sauce with 1/2 cup water in a measuring cup with a pour spout. Put the sugar in a large skillet over medium heat, add 2 tablespoons water, and stir to combine. Cook, gently shaking the pan occasionally but not stirring, until the sugar liquefies and begins to bubble. When the sugar is all melted, continue to cook and shake until the caramel darkens to the color of iced tea, a minute or 2. Remove from the heat.
Carefully and slowly, standing away from the pan to avoid any spatters, pour in the fish sauce mixture. Return the skillet to medium heat and cook, stirring constantly, until the caramel melts into the liquid. Add the onion and cook, stirring occasionally, until it softens, 3 to 5 minutes. Add the pepper and vinegar and mix.
Nestle the salmon in the sauce (skin side down, if using fillets). If necessary, add enough water to bring the sauce about halfway up the sides of the fish. Adjust the heat so it bubbles very gently and cook, using a spoon to baste the top of each piece with sauce occasionally until the fish is almost opaque at the center and flakes without looking dry, 5 to 10 minutes, depending on the thickness.
Remove the fish from the pan with a spatula. Taste the sauce and adjust the seasoning, adding more vinegar or pepper if necessary. Pour the sauce over the fish, garnish with the cilantro, and serve.