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 9v0064f211df000000000255

Remove line numbers

From http://web.archive.org/web/20140831121704/http://dirac.org/linux/gdb/02a-Memory_Layout_And_The_Stack.php#investigatingthestackwithgdb.

Start file
   1    #include<stdio.h>
   2    static void display(int i, int *ptr);
   3    
   4    int main(void) {
   5       int x = 5;
   6       int *xptr = &x;
   7       printf("In main():\n");
   8       printf("   x is %d and is stored at %p.\n", x, &x);
   9       printf("   xptr points to %p which holds %d.\n", xptr, *xptr);
   10      display(x, xptr);
   11      return 0;
   12   }
   13   
   14    void display(int z, int *zptr) {
   15    	printf("In display():\n");
   16       printf("   z is %d and is stored at %p.\n", z, &z);
   17       printf("   zptr points to %p which holds %d.\n", zptr, *zptr);
   18   }
End file
#include<stdio.h>
static void display(int i, int *ptr);
       
int main(void) {
	int x = 5;
	int *xptr = &x;
	printf("In main():\n");
	printf("   x is %d and is stored at %p.\n", x, &x);
	printf("   xptr points to %p which holds %d.\n", xptr, *xptr);
	display(x, xptr);
	return 0;
}

void display(int z, int *zptr) {
	printf("In display():\n");
	printf("   z is %d and is stored at %p.\n", z, &z);
	printf("   zptr points to %p which holds %d.\n", zptr, *zptr);
}

View Diff

1,18c1,18
<    1    #include<stdio.h>
<    2    static void display(int i, int *ptr);
<    3    
<    4    int main(void) {
<    5       int x = 5;
<    6       int *xptr = &x;
<    7       printf("In main():\n");
<    8       printf("   x is %d and is stored at %p.\n", x, &x);
<    9       printf("   xptr points to %p which holds %d.\n", xptr, *xptr);
<    10      display(x, xptr);
<    11      return 0;
<    12   }
<    13   
<    14    void display(int z, int *zptr) {
<    15    	printf("In display():\n");
<    16       printf("   z is %d and is stored at %p.\n", z, &z);
<    17       printf("   zptr points to %p which holds %d.\n", zptr, *zptr);
<    18   }
---
> #include<stdio.h>
> static void display(int i, int *ptr);
>        
> int main(void) {
> 	int x = 5;
> 	int *xptr = &x;
> 	printf("In main():\n");
> 	printf("   x is %d and is stored at %p.\n", x, &x);
> 	printf("   xptr points to %p which holds %d.\n", xptr, *xptr);
> 	display(x, xptr);
> 	return 0;
> }
> 
> void display(int z, int *zptr) {
> 	printf("In display():\n");
> 	printf("   z is %d and is stored at %p.\n", z, &z);
> 	printf("   zptr points to %p which holds %d.\n", zptr, *zptr);
> }

Solutions

The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!

Check out these helpful resources to improve your Vim skills... Game on.

Unlock 197 remaining solutions by signing in and submitting your own entry
#198 Edgar Catalán / @edgardini - Score: 157 - 01/16/24 @ 00:50
:<Up><Up><Up><Up><Down><Down><Up><Down><Up>%s/\<BS>^s<BS>\s\+\d|<BS>\+\s\<BS>\{\}<Left><Left>2,<Left><BS>4<BS>5<BS>4<BS>5<BS>4<BS>1<Right><Right><Right><Right><BS><BS><BS><BS><BS><BS><BS><BS><CR>:%s/^\s\+<BS>{4,\}<Left><Left><Left><BS>5<Right><Right><Right><Right><Right><Right><Right>/\t<CR><Esc>kkkkjjjjkkk0:%s/\<BS>^\s\{2,\}/<CR>:5S<BS><BS><BS>jjkkkkkkkkk000kkkgg<Esc>:wq<CR>

0 comments


Created by: @FnMailbox

198 active golfers, 736 entries

Leaderboard (lowest score wins):
12
#61 - Lennart / @lennartack

04/27/2024 at 09:47AM

12
#62 - Peppa Pig / @PeppaPigSg

05/05/2024 at 05:45PM

12
#63 - Irakli Chigvaria / @tchigvaria

05/07/2024 at 02:21PM

12
#64 - Ilya Gavrilov / @devgavrilov

05/15/2024 at 10:29PM

12
#65 - Paul McDowell / @etothepi16

05/21/2024 at 09:17PM

12
#66 - Tsimon Dorakh / @Tsimon-Dorakh

05/30/2024 at 07:26PM

12
#67 - Don'tBeAlarmed / @DontBeAlarmed

05/31/2024 at 08:13PM

12
#68 - Josh Moody / @joshmoody24

06/09/2024 at 05:29AM

12
#69 - Shubham / @shoebham

06/28/2024 at 01:40PM

12
#70 - Coenraad / @coenraadv

07/04/2024 at 02:50PM

12
#71 - Kristofers Solo / @kristoferssolo

07/12/2024 at 05:04PM

12
#72 - Alexandre GV. / @alexandregv

07/12/2024 at 07:18PM

12
#73 - jinx balotchnik / @balotchnik

07/13/2024 at 09:10AM

12
#74 - Jonathan Schaaij / @jonathanschaaij

08/25/2024 at 03:50PM

12
#75 - Kristian Jagd / @Jagdos

08/27/2024 at 11:55AM

12
#76 - Brandon Forrest / @brandonf2002

09/10/2024 at 08:48PM

12
#77 - BufferKong / @BufferKong

09/22/2024 at 08:09PM

12
#78 - Håkon Anders Strømsodd / @haakon8855

10/17/2024 at 06:35AM

12
#79 - ehre9305 / @ehre9305

11/01/2024 at 09:01PM

12
#80 - Berel94 / @Berel94

11/10/2024 at 12:44PM

12
#81 - got_windy / @insomnight

11/25/2024 at 08:52AM

13
#82 - Matthew Finlayson / @mattf1n

09/02/2023 at 08:07PM

13
#83 - Victor Phan / @Victor_Phan

09/04/2023 at 12:26AM

13
#84 - Milan Blažek / @Somin13

09/04/2023 at 08:59AM

13
#85 - Monkey Boy / @monkey29089

09/21/2023 at 02:03PM

13
#86 - Aaron Hunt / @ach5910

09/27/2023 at 05:29PM

13
#87 - Lithrein / @Lithrein

10/01/2023 at 12:44AM

13
#88 - Cameron / @0b01000011

10/05/2023 at 10:23PM

13
#89 - Arthur DELORT / @artDelort

10/24/2023 at 03:03PM

13
#90 - Fati Haziri / @BigKingFati

11/11/2023 at 03:08PM