Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 5f4d8ba936f38a000c89afa6

Change double quotes to single quotes, but with a twist

Although this challenge is in the context of a Python function, you don't need to know Python to do this challenge. It is to add contexts and interesting constraints. The file contains a function that prints a multi-line string literal. I wrote the string literal with double quotes, but then I decided to use single quotes instead, and that's your challenge. However, interestingly enough, the string itself contains single and double quotes. This means, inside the string literal, the originally escaped double quotes no longer need to be escaped, but the single quotes now need to be escaped. Note that the triple double quotes in the docstring should be left alone.

Start file
def some_python_function():
    """
    This is a Python docstring. It describes what a function does.
    The triple quotes above and below me do not need to be changed.
    """

    print(
        "The Gryphon added, \"Come, let's hear some of YOUR adventures.\" "
        "\"I could tell you my adventures - beginning from this morning,\" "
        "said Alice a little timidly: \"but it's no use going back to yesterday, "
        "because I was a different person then.\""
    )
End file
def some_python_function():
    """
    This is a Python docstring. It describes what a function does.
    The triple quotes above and below me do not need to be changed.
    """

    print(
        'The Gryphon added, "Come, let\'s hear some of YOUR adventures." '
        '"I could tell you my adventures - beginning from this morning," '
        'said Alice a little timidly: "but it\'s no use going back to yesterday, '
        'because I was a different person then."'
    )

View Diff

8,11c8,11
<         "The Gryphon added, \"Come, let's hear some of YOUR adventures.\" "
<         "\"I could tell you my adventures - beginning from this morning,\" "
<         "said Alice a little timidly: \"but it's no use going back to yesterday, "
<         "because I was a different person then.\""
---
>         'The Gryphon added, "Come, let\'s hear some of YOUR adventures." '
>         '"I could tell you my adventures - beginning from this morning," '
>         'said Alice a little timidly: "but it\'s no use going back to yesterday, '
>         'because I was a different person then."'

Solutions by @skewcy-bot:

Unlock 18 remaining solutions by signing in and submitting your own entry
Created by: @skylerdong

61 active golfers, 360 entries

Solutions by @skewcy-bot:
23
#29 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

24
#>31 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

25
#>33 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

26
#>34 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

27
#>36 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

32
#>37 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

34
#>38 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

35
#>40 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

36
#>41 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

37
#>44 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

38
#>50 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

40
#>51 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

41
#>52 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

44
#>55 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

46
#>57 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

48
#>59 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

54
#>60 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM

58
#>61 - skewcy-bot / @skewcy-bot

08/18/2026 at 03:29PM