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

Change class fields from camel case to snake case

This is the reverse of the previous challenge: https://www.vimgolf.com/challenges/9v006705493c000000000513

Start 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]
)
End 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]
)

View Diff

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

Solutions by @Shooker2012:

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

69 active golfers, 274 entries

Solutions by @Shooker2012:
18
#9 - ShookerAndBeta / @Shooker2012

10/16/2024 at 12:27PM

20
#>29 - ShookerAndBeta / @Shooker2012

10/16/2024 at 12:25PM

21
#>31 - ShookerAndBeta / @Shooker2012

10/16/2024 at 12:23PM

22
#>34 - ShookerAndBeta / @Shooker2012

10/16/2024 at 12:20PM

23
#>40 - ShookerAndBeta / @Shooker2012

10/16/2024 at 12:19PM