The Bong'

VimGolf - One number per line

2022-06-30 at vim category

Just give me the numbers.

,와 개행으로 구분되는 숫자들을 숫자만 줘라

Start file

- One number per line -
-----------------------
2,3,5,7,
11,13,17,
19,23,29,

End file

2
3
5
7
11
13
17
19
23
29

,삭제 및 모두 개행처리 하는 문제. 실무에서는 여기에 html을 붙이거나 변수에 값을 대입할 때 쓰일 듯...


처음풀이:

dddd:%s/,/\r/g<CR>dd5Gdd<Down><Down><Down>dd:wq<CR>

첫 두 줄을 삭제 후 ,를 개행으로 replace. replace하면, 공백이 몇 개 보이기 때문에 5라인으로 이동하여 삭제 후 밑의 공백도 삭제

점수는 30점. 실제 다른 에디터에서 사용하던 친숙한 방법이라 넘어가려 하다가 다른 사람은 어찌 풀었나 구경.


개선한 풀이:

dj3gJ:s/,/\r/g<CR>ddZZ

dj로 다음줄까지 삭제. 3gJ로 한줄로 만들고, replace는 똑같다. 단지, 한 줄replace라 %가 없음.

  • dj : 삭제+아래로이동. 한 줄만 삭제될거라 생각했는데, 두줄 모두 삭제.
  • J : EOL을삭제. 즉, 한 라인으로 처리 된다.
  • gJ : J와 같지만, 공백도 삭제. 위에서 3gJ하지 않고, 3J하면 11과19에는 앞에 공백이 붙음.

핵심은 3gJ

Bong

Personal blog by Bong.

Sr. Back-end Developer / Interested in js, ts, functional, serverless