커맨드+c, 커맨드+v만 사용하다가 Vim의 레지스터로 복사 붙여넣기 기능을 사용하니 신세계이다.
다음과 같이 객체의 속성을 코드 이곳저곳에 추가한다고 해보자
const nestedObject = {
headers: {
'my-custom-header': 'value', // 이 부분을 추가하는 것이 포인트
},
}
코드 어떤 곳에는 전체 객체를 통째로 넣어야 하고, 어떤 곳에는 객체가 이미 들어가고 있어서 headers만 추가해줘야 하고, 또 어떤 곳은 그냥 속성만 추가해줘도 될 수 있다.
이전까지는 캐시 정책(?)에 입각하여 마지막 붙여넣기한 코드를 복사해서 다음 코드에 붙여넣고 수정하는 것을 반복했다.
하지만 Vim 바인딩을 쓰면서 복사한 내용을 레지스터에 할당할 수 있다는 것을 알았다.
키를 누르는 순서는 다음과 같다.
shift + ' (")
a (레지스터)
y (복사)
이걸 이용해 a
에는 객체 전체를 할당하고, s
에는 headers
객체, 속성 라인은 d
에 할당한 다음 코드를 맞닥뜨렸을 때 원하는 레지스터의 값을 불러다가 붙여넣을 수 있다.
"
a | s | d
p
캐시 미스(?) 날 일 없는 효율적인 복붙 🎉