jaredpar/VsVim — pull request #1246 by ricksladkey (2014-01-13 15:38:59+00:00)
Title: Let host insert the newline when replacing characters

Ideally, issuing `r` in normal mode would have the same effect as issuing `s`. Currently, this behaves differently if the host performs some magic while inserting the ``, e.g. while editing documentation comments in C#.

When replacing characters using `r` with the `Enter` key, this change lets the host perform the insertion. Although the code that performs the `ReplaceChar` operation has been reorganized, the logic for the case where the replacement character is not `Enter` has not changed. There are already tests for both cases and they still pass.

Example for C# content:

```csharp
///

/// cat dog
///

```

Issue `r` on the space between `cat` and `dog`:

```csharp
///

/// cat
/// dog
///

```