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 4d1a6ed2b8cb3409320000c9

Add fold markers to a .c file

Fold markers can make it easier to navigate source code. Add them to this .c file.

Start file
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

void copy(char *to, char *from, size_t count) {
   
register n=(count+7)/8;
   
switch(count%8){
   
case 0: do{     *to = *from++;
   
case 7:         *to = *from++;
   
case 6:         *to = *from++;
   
case 5:         *to = *from++;
   
case 4:         *to = *from++;
   
case 3:         *to = *from++;
   
case 2:         *to = *from++;
   
case 1:         *to = *from++;
           
}while(--n>0);
   
}
}

int main() {
   
char *input = malloc(sizeof(char) * 1024);
   
assert(input);
   
char *output = malloc(sizeof(char) * 1024);
   
assert(output);
    copy
(output, input, sizeof(char) * 1024);
   
return 0;
}
End file
#include <string.h>/*{{{*/
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
/*}}}*/

void copy(char *to, char *from, size_t count) {/*{{{*/
   
register n=(count+7)/8;
   
switch(count%8){
   
case 0: do{     *to = *from++;
   
case 7:         *to = *from++;
   
case 6:         *to = *from++;
   
case 5:         *to = *from++;
   
case 4:         *to = *from++;
   
case 3:         *to = *from++;
   
case 2:         *to = *from++;
   
case 1:         *to = *from++;
           
}while(--n>0);
   
}
}/*}}}*/

int main() {/*{{{*/
   
char *input = malloc(sizeof(char) * 1024);
   
assert(input);
   
char *output = malloc(sizeof(char) * 1024);
   
assert(output);
    copy
(output, input, sizeof(char) * 1024);
   
return 0;
}/*}}}*/

View Diff

1c1
< #include <string.h>
---
> #include <string.h>/*{{{*/
4a5
> /*}}}*/
6c7
< void copy(char *to, char *from, size_t count) {
---
> void copy(char *to, char *from, size_t count) {/*{{{*/
19c20
< }
---
> }/*}}}*/
21c22
< int main() {
---
> int main() {/*{{{*/
28c29
< }
---
> }/*}}}*/

Solutions by @scottrick49:

Unlock 12 remaining solutions by signing in and submitting your own entry
Created by: @wolever

187 active golfers, 640 entries

Solutions by @scottrick49:
35
#101 - Scott Atkins / @scottrick49

06/29/2021 at 06:26PM

36
#>112 - Scott Atkins / @scottrick49

06/29/2021 at 06:24PM

37
#>135 - Scott Atkins / @scottrick49

06/29/2021 at 06:22PM

38
#>140 - Scott Atkins / @scottrick49

06/29/2021 at 06:19PM

39
#>145 - Scott Atkins / @scottrick49

06/29/2021 at 06:14PM

39
#>145 - Scott Atkins / @scottrick49

06/29/2021 at 06:21PM

41
#>147 - Scott Atkins / @scottrick49

06/29/2021 at 06:18PM

41
#>147 - Scott Atkins / @scottrick49

06/29/2021 at 06:21PM

46
#>155 - Scott Atkins / @scottrick49

06/29/2021 at 06:14PM

48
#>163 - Scott Atkins / @scottrick49

06/29/2021 at 06:25PM

69
#>184 - Scott Atkins / @scottrick49

06/29/2021 at 06:17PM

132
#>187 - Scott Atkins / @scottrick49

06/29/2021 at 06:13PM