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 by @mtklar:

Unlock 13 remaining solutions by signing in and submitting your own entry
Created by: @pacuna

56 active golfers, 150 entries

Solutions by @mtklar:
13
#20 - mtklar / @mtklar

10/18/2024 at 02:33PM

14
#>37 - mtklar / @mtklar

10/18/2024 at 02:32PM

15
#>40 - mtklar / @mtklar

10/18/2024 at 02:31PM

15
#>40 - mtklar / @mtklar

10/18/2024 at 02:32PM

16
#>41 - mtklar / @mtklar

10/18/2024 at 02:30PM

19
#>45 - mtklar / @mtklar

10/18/2024 at 02:27PM

20
#>46 - mtklar / @mtklar

10/18/2024 at 02:25PM

22
#>52 - mtklar / @mtklar

10/18/2024 at 02:24PM

25
#>53 - mtklar / @mtklar

10/18/2024 at 02:23PM

37
#>55 - mtklar / @mtklar

10/18/2024 at 02:12PM

39
#>55 - mtklar / @mtklar

10/18/2024 at 02:11PM

42
#>55 - mtklar / @mtklar

10/18/2024 at 02:22PM

91
#>56 - mtklar / @mtklar

10/18/2024 at 02:00PM