vim에서 html 테이블 열 이동하기

vim에서 html 테이블 열 이동하기

다음과 같은 행이 포함된 HTML 테이블이 있습니다.

<tr> <td>DATE</td> <td>NUMBER</td> <td>DESCRIPTION</td> <td>DEADLINE</td> </tr>

<tr> <td>6/7</td> <td>1</td> <td>foo1</td> <td>bar1</td> </tr>

<tr> <td>6/15</td> <td>2</td> <td>foo2</td> <td>bar2</td> </tr>

<tr> <td>6/20</td> <td>3</td> <td>foo3</td> <td>bar3</td> </tr>

... etc ...

내가 하고 싶은 것은 DESCRIPTION 열의 모든 항목을 아래로 이동하는 것입니다. 그래서 한 단계 아래로 이동하고 싶습니다 foo1. 한 단계 아래로 이동하고 싶습니다 foo2. 하지만 테이블의 다른 모든 항목은 보존하고 싶습니다. vim에서 어떻게 할 수 있나요?

답변1

내가 이해하는 것은 테이블이 아래에 이상한 빈 셀이 있는 것처럼 보이길 원한다는 것입니다 DESCRIPTION.

<tr> <td>DATE</td> <td>NUMBER</td> <td>DESCRIPTION</td> <td>DEADLINE</td> </tr>
<tr> <td>6/7</td> <td>1</td> <td></td> <td>bar1</td> </tr>
<tr> <td>6/15</td> <td>2</td> <td>foo1</td> <td>bar2</td> </tr>
<tr> <td>6/20</td> <td>3</td> <td>foo2</td> <td>bar3</td> </tr>

내가 맞나요? 여기는하나당신이 할 수 있는 방법:

  1. :%!column -tVim 플러그인을 사용하여 이 코드의 형식을 지정하세요 .

    <tr>  <td>DATE</td>  <td>NUMBER</td>  <td>DESCRIPTION</td>  <td>DEADLINE</td>  </tr>
    <tr>  <td>6/7</td>   <td>1</td>       <td>foo1</td>         <td>bar1</td>      </tr>
    <tr>  <td>6/15</td>  <td>2</td>       <td>foo2</td>         <td>bar2</td>      </tr>
    <tr>  <td>6/20</td>  <td>3</td>       <td>foo3</td>         <td>bar3</td>      </tr>
    
  2. 첫 번째 항목으로 이동한 후 로 삭제하세요 dit. foo1이제 기본 레지스터에 있습니다.

  3. qx(대신 사용 가능한 문자 사용 ) 로 매크로를 시작합니다 x.

  4. 를 사용하여 아래 줄로 이동합니다 j.

  5. 를 사용하여 태그 내용을 시각적으로 선택합니다 vit.

  6. 를 사용하여 선택한 텍스트( )를 기본 레지스터( ) foo2의 내용으로 바꿉니다 .foo1p

  7. 로 매크로를 중지합니다 q. 이제 기본 레지스터의 내용은 foo2다음에 매크로가 호출될 때 사용할 준비가 되었습니다.

  8. .<number of rows>@x

최종 결과:

<tr>  <td>DATE</td>  <td>NUMBER</td>  <td>DESCRIPTION</td>  <td>DEADLINE</td>  </tr>
<tr>  <td>6/7</td>   <td>1</td>       <td></td>         <td>bar1</td>      </tr>
<tr>  <td>6/15</td>  <td>2</td>       <td>foo1</td>         <td>bar2</td>      </tr>
<tr>  <td>6/20</td>  <td>3</td>       <td>foo2</td>         <td>bar3</td>      </tr>

요약 버전:

:%!column -t<CR>
(movement)
ditqxjvitpq
17@x

기본 레지스터(및 해당되는 경우 시스템 클립보드)를 엉망으로 만들고 싶지 않으면 2단계에서 다른 이름의 레지스터를 사용하십시오.

foo2and Co 의 숫자만 증가시키려는 경우VisIncr 플러그인아주 좋습니다.

관련 정보