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

Change class fields from snake case to camel case

Change the class fields in this Scala class from snake case to camel case

Start file
case class User(
  id
: Long,
  username
: String,
  email
: String,
  first_name
: String,
  last_name
: String,
  age
: Int,
  gender
: String,
  phone_number
: String,
  address
: String,
  city
: String,
  country
: String,
  postal_code
: String,
  occupation
: String,
  company
: String,
  salary
: Double,
  is_active
: Boolean,
  registration_date
: java.time.LocalDate,
  last_login_date
: java.time.LocalDateTime,
  preferences
: Map[String, String],
  roles
: List[String]
)
End file
case class User(
  id
: Long,
  username
: String,
  email
: String,
  firstName
: String,
  lastName
: String,
  age
: Int,
  gender
: String,
  phoneNumber
: String,
  address
: String,
  city
: String,
  country
: String,
  postalCode
: String,
  occupation
: String,
  company
: String,
  salary
: Double,
  isActive
: Boolean,
  registrationDate
: java.time.LocalDate,
  lastLoginDate
: java.time.LocalDateTime,
  preferences
: Map[String, String],
  roles
: List[String]
)

View Diff

5,6c5,6
<   first_name: String,
<   last_name: String,
---
>   firstName: String,
>   lastName: String,
9c9
<   phone_number: String,
---
>   phoneNumber: String,
13c13
<   postal_code: String,
---
>   postalCode: String,
17,19c17,19
<   is_active: Boolean,
<   registration_date: java.time.LocalDate,
<   last_login_date: java.time.LocalDateTime,
---
>   isActive: Boolean,
>   registrationDate: java.time.LocalDate,
>   lastLoginDate: java.time.LocalDateTime,

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 89 remaining solutions by signing in and submitting your own entry
#90 mike / @mikevux262 - Score: 263 - 04/25/25 @ 13:01
<Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up><Up>:<50-53><50-53>:%s/\(_\)\(\w\)/\u\2/g<<Esc>[201~<CR>:<BS><50-53>:%s/\(_\)\(\w\)/\u\2/g<Esc>[201~u:<50-53>:%s/\(_\)\(\w\)/\u\2/g<Esc>[201~<Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><BS><BS><BS><Right><Insert><BS><Right><Left><Left><Left><.<BS><BS><BS><BS><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><Right><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS><BS>:<BS>:<50-53>:%s/\(_\)\(\w\)/\u\2/g<Esc>[201~<Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Down><BS><CR>:wq!<CR>

0 comments


Created by: @pacuna

90 active golfers, 236 entries

Leaderboard (lowest score wins):
14
#61 - jonas-grobe / @jonas-grobe

04/16/2025 at 06:23PM

14
#62 - Austin / @austinlongmn

04/24/2025 at 01:13PM

14
#63 - Yordan Boikov / @yboikov

05/03/2025 at 09:53PM

14
#64 - Atharva / @atharvaM04

05/23/2025 at 09:29AM

14
#65 - Hessesian / @Hessesian

06/19/2025 at 12:07PM

15
#66 - Philippe Carphin / @PhilippeCarphin

10/15/2024 at 01:35AM

15
#67 - Justin Fisher / @justinfisherr

11/01/2024 at 08:49PM

16
#68 - thedvd98 / @thedvd98

11/05/2024 at 09:18PM

16
#69 - Biswajit / @biswajitpatra

01/26/2025 at 03:15PM

16
#70 - Jarrod Folino / @JarrodFolinoFC

05/30/2025 at 01:59PM

17
#71 - natehershner / @natehershner

05/21/2025 at 03:30AM

18
#72 - anatolepain / @anatolepain

10/18/2024 at 01:09PM

18
#73 - Ivan Prikaznov / @Prikaz98

11/01/2024 at 03:52PM

19
#74 - Yen-Chun Chen / @YenChunChen4

10/10/2024 at 08:58PM

19
#75 - kramff / @kramff

10/18/2024 at 04:56PM

20
#76 - Neix20 / @Neix20

10/24/2024 at 08:31AM

20
#77 - IroncladDev / @IroncladDev

10/27/2024 at 12:34PM

20
#78 - Saurav / @epicblueprints

11/09/2024 at 09:44PM

20
#79 - dbrad311 / @dbrad311

02/07/2025 at 07:22PM

20
#80 - dp403aan / @dp403aan

02/21/2025 at 09:29AM

21
#81 - guyontristan / @guyontristan

10/20/2024 at 10:35AM

21
#82 - Brice Bischoff / @B-Bischoff

10/25/2024 at 10:23AM

21
#83 - editor3D / @editor3D

11/17/2024 at 08:40PM

24
#84 - mariosar / @mariosar

10/15/2024 at 12:20AM

28
#85 - Peter Tillemans / @ptillemans

10/10/2024 at 09:36AM

35
#86 - SRINIVASU SALADI / @SRINIVASUS22587

03/23/2025 at 06:11AM

37
#87 - Tom Anderson / @andogq

10/09/2024 at 04:12AM

53
#88 - PhinJ / @PhinJ

02/07/2025 at 07:13PM

67
#89 - Alex Li / @1liale

10/21/2024 at 07:58PM

263
#90 - mike / @mikevux262

04/25/2025 at 01:01PM