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

Hex to binary

Convert hexadecimal numbers into binary format.

Start file
LDR R0, =0xCC           // Load R0 with 0xCC
LDR R1, =0xAA           // Load R1 with 0xAA

AND R2, R0, R1    //  R2 =  R0 & R1  -> 0x88
ORR R3, R0, R1    //  R3 =  R0 | R1  -> 0xEE
EOR R4, R0, R1    //  R4 =  R0 ^ R1  -> 0x66
LSL R6, R0, #2    //  R6 =  R0 << 2  -> 0x30
LSR R7, R0, #2    //  R7 =  R0 >> 2  -> 0x33
ROR R9, R0, #3    //  R9 =  R0 >> 3  -> 0x99
LSL R10, R0, #3   // R10 =  R0 << 3  -> 0xC0
LSR R11, R0, #29  // R11 =  R0 >> 29 -> 0x03
ORR R12, R10, R11 // R12 = R10 | R11 -> 0xC3
End file
LDR R0, =0xCC           // Load R0 with 0xCC (0b11001100)
LDR R1, =0xAA           // Load R1 with 0xAA (0b10101010)

AND R2, R0, R1    //  R2 =  R0 & R1  -> 0x88 (0b10001000)
ORR R3, R0, R1    //  R3 =  R0 | R1  -> 0xEE (0b11101110)
EOR R4, R0, R1    //  R4 =  R0 ^ R1  -> 0x66 (0b01100110)
LSL R6, R0, #2    //  R6 =  R0 << 2  -> 0x30 (0b00110000)
LSR R7, R0, #2    //  R7 =  R0 >> 2  -> 0x33 (0b00110011)
ROR R9, R0, #3    //  R9 =  R0 >> 3  -> 0x99 (0b10011001)
LSL R10, R0, #3   // R10 =  R0 << 3  -> 0xC0 (0b11000000)
LSR R11, R0, #29  // R11 =  R0 >> 29 -> 0x03 (0b00000011)
ORR R12, R10, R11 // R12 = R10 | R11 -> 0xC3 (0b11000011)

View Diff

1,2c1,2
< LDR R0, =0xCC           // Load R0 with 0xCC
< LDR R1, =0xAA           // Load R1 with 0xAA
---
> LDR R0, =0xCC           // Load R0 with 0xCC (0b11001100)
> LDR R1, =0xAA           // Load R1 with 0xAA (0b10101010)
4,12c4,12
< AND R2, R0, R1    //  R2 =  R0 & R1  -> 0x88
< ORR R3, R0, R1    //  R3 =  R0 | R1  -> 0xEE
< EOR R4, R0, R1    //  R4 =  R0 ^ R1  -> 0x66
< LSL R6, R0, #2    //  R6 =  R0 << 2  -> 0x30
< LSR R7, R0, #2    //  R7 =  R0 >> 2  -> 0x33
< ROR R9, R0, #3    //  R9 =  R0 >> 3  -> 0x99
< LSL R10, R0, #3   // R10 =  R0 << 3  -> 0xC0
< LSR R11, R0, #29  // R11 =  R0 >> 29 -> 0x03
< ORR R12, R10, R11 // R12 = R10 | R11 -> 0xC3
---
> AND R2, R0, R1    //  R2 =  R0 & R1  -> 0x88 (0b10001000)
> ORR R3, R0, R1    //  R3 =  R0 | R1  -> 0xEE (0b11101110)
> EOR R4, R0, R1    //  R4 =  R0 ^ R1  -> 0x66 (0b01100110)
> LSL R6, R0, #2    //  R6 =  R0 << 2  -> 0x30 (0b00110000)
> LSR R7, R0, #2    //  R7 =  R0 >> 2  -> 0x33 (0b00110011)
> ROR R9, R0, #3    //  R9 =  R0 >> 3  -> 0x99 (0b10011001)
> LSL R10, R0, #3   // R10 =  R0 << 3  -> 0xC0 (0b11000000)
> LSR R11, R0, #29  // R11 =  R0 >> 29 -> 0x03 (0b00000011)
> ORR R12, R10, R11 // R12 = R10 | R11 -> 0xC3 (0b11000011)

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 10 remaining solutions by signing in and submitting your own entry
#11 Joe Finn / @jafinn3 - Score: 98 - 06/07/24 @ 16:02
:%s/\(\/.*\)\(0x[A-E0-9]\+\)/\=printf("%s%s (0b%08b)", submatch(1), submatch(2), submatch(2))/g<CR>ZZ

0 comments


Created by: @maharba6

11 active golfers, 37 entries

Leaderboard (lowest score wins):
33
#1 - Danilo J. S. Bellini 🥊🇧🇷 / @danilobellini

06/10/2024 at 12:58PM

33
#2 - Peppa Pig / @PeppaPi95550250

06/10/2024 at 02:52PM

34
#3 - John Braxler / @braxler

06/07/2024 at 12:16PM

34
#4 - Valacar / @valacar

06/09/2024 at 07:35AM

35
#5 - Alain Mosnier / @amosnier

06/03/2024 at 06:15PM

40
#6 - Sander Meij / @SanderMeij

06/05/2024 at 03:32PM

43
#7 - jeffreymrussell / @jeffreymrussell

05/31/2024 at 09:49AM

44
#8 - TobSick / @TobSick

06/08/2024 at 08:08AM

45
#9 - cotarmanach / @cotarmanach

06/01/2024 at 01:11AM

63
#10 - Zigmas Bitinas / @samgiz

05/31/2024 at 10:49PM

98
#11 - Joe Finn / @jafinn3

06/07/2024 at 04:02PM