# vim: Ensure paragraph motions use empty and not blank lines \(\#47734\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/9ecafe19604535852285fbe754156e80d529efc2)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 9ecafe19604535852285fbe754156e80d529efc2

Requested commit: 9ecafe19604535852285fbe754156e80d529efc2

Commit: 9ecafe19604535852285fbe754156e80d529efc2

Tree: 9b379e002e90e298cf9a3f3f12b7273386c07d41

Author: lex00

Committer: GitHub

## Message

```
vim: Ensure paragraph motions use empty and not blank lines (#47734)

The `}` and `{` paragraph motions now correctly treat only truly empty
lines (zero characters) as paragraph boundaries, matching vim's
documented behavior. Whitespace-only lines are no longer treated as
boundaries.

Changed `start_of_paragraph()` and `end_of_paragraph()` in
`editor/src/movement.rs` to check `line_len() == 0` instead of
`is_line_blank()`.

Note: This change does NOT affect the `ap`/`ip` text objects. Per vim's
`:help ap`, those DO treat whitespace-only lines as boundaries, which is
the existing (correct) behavior in `vim/src/object.rs`.

Closes #36171

Release Notes:

- Fixed vim mode paragraph motions (`}` and `{`) to correctly ignore
whitespace-only lines

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>
```

## Parents

- [757ee0571efe9564b410fb6d0ab4da68a3d35dec](https://git.cafe/gitcafe/zed/commit/757ee0571efe9564b410fb6d0ab4da68a3d35dec?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/9ecafe19604535852285fbe754156e80d529efc2?format=markdown)
