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 @_AlexLewin:

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

66 active golfers, 258 entries

Solutions by @_AlexLewin:
18
#19 - Alex Lewin / @_AlexLewin

11/18/2024 at 08:23PM

19
#>25 - Alex Lewin / @_AlexLewin

11/18/2024 at 08:22PM

20
#>28 - Alex Lewin / @_AlexLewin

11/18/2024 at 08:21PM

21
#>30 - Alex Lewin / @_AlexLewin

11/18/2024 at 08:20PM

22
#>37 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:16PM

22
#>37 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:16PM

22
#>37 - Alex Lewin / @_AlexLewin

11/18/2024 at 08:20PM

23
#>39 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:15PM

25
#>44 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:13PM

30
#>47 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:11PM

38
#>48 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:11PM

48
#>55 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:09PM

58
#>57 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:08PM

65
#>59 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:04PM

94
#>63 - Alex Lewin / @_AlexLewin

10/26/2024 at 05:07PM