개발 업무를 진행하다보면, 여러 줄로 추출해낸 문자열들을 간단한 데이터 전처리를 통해 일괄적으로 수정해야 되는 경우가 빈번하게 생긴다. 
예를 들어,
- 문자열 뒤에 콤마(,)를 붙여야 하는 경우
- 전화번호 사이에 하이픈(-)을 중간에 넣어야 하는 경우
- 원하는 날짜/시각 형식으로 바꿔야 하는 경우
간단한 script를 짜서 일괄적으로 수정할 수도 있지만, 이것 때문에 또 script를 짤려니 여간 귀찮은 게 아니다. 
만약 각 행의 문자열들이 동일한 패턴인 경우, 이때 vim을 이용하면 아주 빠르고 간편하게 일괄적으로 수정할 수 있다. 
이 글에서는, 개인적으로 자주 사용된다고 생각되는 몇가지 케이스에 대해서 각 케이스별로 한번 정리해보았다.
여러 줄에서 특정 문자 삽입하기
다음과 같은 파일이 있다고 가정하자.
01012345678  
01022229999  
01038481928  
01029472929  
01047439204  
01029572483  
01078739732  
01093274739  
01043849293  
01048294850  
이 문자열을 전화번호 형식, XXX-XXXX-XXXX, 에 맞게 일괄적으로 수정하고자 한다.
- 맨 첫 줄에서 내가 입력할 위치에 커서를 위치시킨 후 Ctrl+v를 입력한다.
 - 이 커서의 위치가 늘 헷갈리는데, 지금 커서에 위치한 문자가 뒤로 밀려난다고 생각하면 이해하기 쉽다. 위의 예에서는 01012345678에서1과5에 위치시키면 된다.
 
- 이 커서의 위치가 늘 헷갈리는데, 지금 커서에 위치한 문자가 뒤로 밀려난다고 생각하면 이해하기 쉽다. 위의 예에서는 
- Shift+- g를 눌러 맨 아래까지 모두 블록을 씌운다. 그리고 내가 1번에서 위치시킨 커서로 다시 옮겨서, 모든 행에서 내가 입력할 위치의 문자만 블록을 씌운다.
 - 사실 행이 몇개 없는 경우는 이렇게까지 안해도 되고, 그냥 화살표 아래 방향(j) 으로 커서를 하나씩 직접 옮겨서 블록을 씌워도 된다. 하지만 만약 몇 백, 몇 천개의 행이라면.. 그렇게 할 수 없을 것이다.
 
- 사실 행이 몇개 없는 경우는 이렇게까지 안해도 되고, 그냥 화살표 아래 방향(
- Shift+- i를 입력한다.
- 중간에 삽입할 문자를 입력한다. 
 - 여기서는 -
 
- 여기서는 
- Esc를 두번 입력한다.
여러 줄에서 특정 위치의 문자 제거하기
010-1234-5678  
010-2222-9999  
010-3848-1928  
010-2947-2929  
010-4743-9204  
010-2957-2483  
010-7873-9732  
010-9327-4739  
010-4384-9293  
010-4829-4850  
이번엔 아까와 반대로 하이픈(-)을 모두 제거하여 XXX-XXXX-XXXX 형태로 일괄 수정하고자 한다.
- 맨 첫 줄에서 내가 제거할 위치의 문자에 커서를 위치시킨 후 Ctrl+v를 입력한다.
- Shift+- g를 눌러 맨 아래까지 모두 블록을 씌운다. 마찬가지로 내가 1번에서 위치시킨 커서로 다시 옮겨서, 모든 행에서 내가 제거할 위치의 문자만 블록을 씌운다.
- x를 입력하여 제거한다.
여러 줄에서 맨 끝에 문자 추가하기
01012345678  
01022229999  
01038481928  
01029472929  
01047439204  
01029572483  
01078739732  
01093274739  
01043849293  
01048294850  
이번엔 각 문자열의 맨 끝에 콤마(,)를 붙여보자.
- 앞선 방법들과 동일한 방법을 이용하여 각 행의 맨 마지막 문자만 블록을 씌운다.
- Shift+- i를 입력한다.
- 화살표 오른쪽(→)을 입력하여 맨끝의 문자 오른쪽에 커서를 위치시킨다.
- 추가할 문자를 입력한다. 
 - 여기서는 ,
 
- 여기서는 
- Esc를 두번 입력한다.
복합 케이스
마지막으로 이 3가지가 모두 사용된 복합적인 케이스를 보여주며 이 글을 마친다. (설명은 생략)
2024-07-16 21:02:47  
2024-07-16 21:02:52  
2024-07-16 21:03:57  
2024-07-16 21:04:27  
2024-07-16 21:05:11  
2024-07-16 21:05:44  
2024-07-16 21:06:18  
2024-07-16 21:07:35  
2024-07-16 21:08:04  
2024-07-16 21:08:19  
이 문자열들을 yyyy-MM-ddTHH:mm:ss+09:00 형식으로 모두 일괄 변경한 예제이다.