때로는 여러 줄에 걸쳐 특정 시각적 텍스트 블록을 편집하고 싶습니다.
예를 들어 다음과 같은 텍스트를 사용합니다.
name
comment
phone
email
그리고 이렇게 보이게
vendor_name
vendor_comment
vendor_phone
vendor_email
현재 내가 지금 할 방식은 ...
- 를 누른 V다음 j4 번 을 눌러 블록의 4 행을 모두 선택하십시오 .
- 와 들여 쓰기 >.
- 로 한 글자 뒤로 이동합니다 h.
- 로 시각 모드 차단으로 이동합니다 Ctrlv.
- j4 번 눌러 4 행을 선택하십시오 . 이 시점에서 공백의 4x1 시각적 블록 (4 행 1 열)을 선택했습니다.
- 를 누릅니다 C. 이것은 하나의 열만큼 왼쪽으로 들여 쓰기되어 있습니다.
" vendor_"
따옴표없이 입력 하십시오. 추가 공간을 다시 확보해야합니다.- 를 누릅니다 Esc. 이것은 Esc삽입 모드를 종료 하는 데 사용 하는 횟수 중 하나입니다 . Ctrlc첫 번째 줄만 편집합니다.
- 1 단계를 반복하십시오.
- 로 다른 방법으로 들여 쓰기하십시오 <.
단어 앞에 공백이 하나 이상 있으면 들여 쓰기 할 필요가 없습니다. 를 사용하여 시각적 블록을 지우지 않아도 공백이 필요하지 않습니다 c.
그러나 분명히해야한다면 들여 쓰기로 필요한 공백을 만들지 않고 위에서 수행 한 작업을 수행 할 수 있습니까?
또한 이유와 삽입 모드 밖으로 종료에 의해서만 작업을 한 번에 여러 줄을 편집 않는 Esc이상 Ctrlc?
보다 복잡한 예는 다음과 같습니다.
name = models.CharField( max_length = 135 )
comment = models.TextField( blank = True )
phone = models.CharField( max_length = 135, blank = True )
email = models.EmailField( blank = True )
에
name = models.whatever.CharField( max_length = 135 )
comment = models.whatever.TextField( blank = True )
phone = models.whatever.CharField( max_length = 135, blank = True )
email = models.whatever.EmailField( blank = True )
이 예에서는에 대해 수직 비주얼 블록을 수행 .
한 다음 삽입 모드 (예 : type) 동안 다시 삽입합니다 .whatever.
. 바라건대 이제이 방법의 단점을 볼 수 있습니다. 수직 위치에서 모두 동일한 텍스트 열만 선택하는 것으로 제한됩니다 .
:s/models\./\0whatever./