I would just do it by only keeping track of velocity (and of course the previous frame's velocity as is required for velocity-verlet integration). Force or impulse based simulation is overkill for most platformers IMO, but it depends on what you want to do of course. For example, Sonic for example does it in the same kind of way as I will describe here, but something radically different like Grow Home uses a full force and impulse based physics simulation for it's movement.
Anyway, here's how I'd do it:
Every frame you add the gravity to the velocity like this:
| velocity.y += gravity * deltaTime
|
.
The horizontal movement can be done by simply lerping the X component of the velocity vector to the input like this:
| velocity.x = lerp(velocity.x, movementSpeed * inputX, movementAcceleration * deltaTime)
|
(This is just one way of doing horizontal movement, you could also do it with acceleration and drag instead of lerp, but I find that harder to tweak.)
When you want to jump, just set the Y component of the velocity like this:
| velocity.y = jumpVelocity
|
At the end of the frame you'd just integrate the velocity (via velocity-verlet) and add it to the position. (Of course you'd do raycasting before applying the velocity first though, so you know how much you can move without colliding)