# vim: Rewrite paste \(\#2878\) · gitcafe/zed

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

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

Visibility: public

Requested revision: b0815bd13e6719abc710846d4dd0737015cd9373

Requested commit: b0815bd13e6719abc710846d4dd0737015cd9373

Commit: b0815bd13e6719abc710846d4dd0737015cd9373

Tree: 2f2a5ae220a0e4ae07574c39eb7a5b38a3a40e41

Author: Conrad Irwin

Committer: GitHub

## Message

```
vim: Rewrite paste (#2878)

A complete overhaul of the way vim did paste. This ended up being more
involved than I expected because of the variety of different behaviors
that vim exhibits when copying/pasting between various modes.

Release Notes:

- vim: support P for paste before
([#1869](https://github.com/zed-industries/community/issues/1869)).
- vim: support P in visual modes for paste without overriding clipboard
- vim: fix position when using `p` on text copied outside zed
([#469](https://github.com/zed-industries/community/issues/469)).
- vim: fix indentation when using `p` on text copied from zed
([#1015](https://github.com/zed-industries/community/issues/1015)).
- all: Separate copied multi-selections by `\n`
```

## Parents

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

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

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