vim에서 코드 행미에 점수를 붙이는 몇 가지 방법

4948 단어
아래의 코드에 줄 끝마다 번호를 넣는 방법은 몇 가지가 있습니까?
1
2
3
var foo = 'aotu'
var bar = 'is a team'
var foobar = foo + bar

방법 하나, 점 조작부호 사용

  • $줄 끝으로 이동하여a;줄 번호의 입력을 완성한다.($a;)
  • j에 따라 다음 줄로 이동하고 1단계를 반복하여 다시 한 번 두 번째 줄을 완성한다.(j$a;)
  • 2단계를 반복하여 세 번째 행을 완료합니다.(j$a;)

  • 힘들어, 차라리 마우스를 눌러야지vim의 철학은 Don't repeat yourself야. 우리는 중복을 줄일 방법을 생각해야 해.
    vim에서 . 명령은 지난번 수정을 중복할 것이다. 우리는 중복할 수 있는 수정을 구성해야 한다. 그래서 방법은 다음과 같다.
  • $줄 끝으로 이동하여a;줄 번호의 입력을 완성한다.($a;)
  • j에 따라 다음 줄로 이동한 다음$.두 번째 줄을 완성한다.(j$.)
  • 2단계를 반복하여 세 번째 행을 완료합니다.(j$.)

  • 보시다시피. 명령은 매우 유용하다. 가능한 한 중복할 수 있는 조작을 .로 중복할 수 있는 조작으로 바꾸도록 한다.
    고개를 돌리면 어떤 것이'수정'일까요x는 커서 아래의 문자를 삭제합니다.dd 한 줄 삭제하기;>G 현재 줄에서 문서 끝까지 축소하는 것은 수정이라고 할 수 있으며 모두 일반 모드에서 실행되는 명령이다.삽입 모드의 수정도 틀림없이 수정되었을 것이다. 그러나 어떻게 기록합니까?삽입 모드에 들어가는 순간부터 (예: 입력 i 일반 모드로 돌아갈 때까지 (즉 입력 또는 >, Vim는 모든 버튼 동작을 기록합니다. 복합 명령 A$a 과 비슷합니다. 이것은 반복 가능한 수정이기 때문입니다.
  • A부터 줄 끝까지;까지 줄 번호의 입력을 완성한다.(A;)
  • j에 따라 다음 줄로 이동한 다음.두 번째 줄을 완성한다.(j.)
  • 2단계를 반복하여 세 번째 행을 완료합니다.(j.)
  • . 명령의 매력을 인식하고 가능한 한 조작을 중복할 수 있도록 한다.

    방법 2, 블록 모드 사용

  • (macvim 또는 gvim일 경우) 블록 가시 모드에 들어가고jj$ 두 줄을 아래로 이동한 다음 줄 끝으로 뛰어내린다.
  • A; 삽입 모드에 들어가서 번호를 입력한다.
  • 일반 모드로 돌아가 삽입을 완료합니다.

  • 이 방법은 보기 모드에서 블록 선택을 사용합니다. 블록 선택에 들어가는 것입니다. 이동을 통해 선택을 만든 후 AI 삽입 모드로 텍스트를 편집한 다음 삽입 모드를 종료하고 블록 모드를 끝내면 삽입된 텍스트가 선택한 줄로 확산됩니다.
    재미있는 것은 블록 선택에 들어가서 복사해서 붙여볼 수 있다는 거예요.
    만약 당신이 문자를 하나 더 입력했다면 어떻게 합니까?gv 방금 선택한 항목을 다시 선택하고 삭제하고 싶은 문자를 다시 조정해서 삭제할 수 있습니다.gv 가시 모드에 적용됩니다.

    메서드 3, EX 사용

  • 줄 번호를 보고 x에서 y로 가정한 다음 명령을 적용:x,ynormal A;
  • 이 방법에는 명령행 모드가 사용되며 명령행 모드에서 실행되는 명령을 Ex 명령이라고도 부른다.때때로 Ex 명령을 사용하면 일반 모드 명령보다 같은 작업을 더 빨리 할 수 있다.
    그 중에서 :는 명령행 모드에 들어가고 x,y는 시작 줄 x와 끝 줄 번호 y로 둘 사이에 쉼표를 붙여 범위를 나타낸다.줄 번호를 제외하고 우리는 정규를 사용할 수 있다. 예를 들어 aotu 문자를 포함하는 줄에서labs를 포함하는 줄까지 삭제하면 :/aotu/ , /labs/ d, 일치하는 줄의 앞 줄을 -로 표시할 수 있고, +는 일치하는 줄의 다음 줄을 표시하면 일치하는 줄의 다음 줄을 삭제하면 :/aotu/+ d이어야 한다.normal는 정상적인 (noramal) 모드에서 명령을 수행하는 것을 의미하며, 뒤에 있는 A;는 이해하기 쉽고 줄 끝에 번호를 삽입한다.m(ove) 줄을 이동하는 경우 d(elet) 줄을 삭제하거나 co(py) 복사하는 경우 t 줄을 입력하지 않아도 됩니다 noraml.예를 들어 1,5 co 100 1~5줄을 복사하여 100줄 이하로 붙여넣는다..는 현재 줄을 대표한다.:.,/pattern/ d 현재 줄을 패널 줄로 삭제합니다.$ 파일의 마지막 줄을 대표한다.:5, . m $는 다섯 번째 줄을 현재 줄로 이동하고 파일 끝으로 이동합니다.%는 파일의 줄마다 1,$와 같다.전문을 교체할 때는 항상:%s/foo/bar/g.
    만약 이 예에서 줄이 연결되지 않는다면 어떻게 하겠느냐는 질문이 있을지도 모른다.
    너는 :x,y g/pattern/normal A; 또는 :x,y v/pattern/normal A;를 사용할 수 있다. 여기g는 글로벌리다. 전체적인 뜻은 x에서 y행 사이가pattern과 일치하는 줄normal모드 실행A;이고 v은converse의 v에서 나온 것이기 때문에 전체적인 뜻은 x에서 y행 사이가pattern과 일치하지 않는 줄normal모드 실행A;이다.

    메서드 4, 매크로 사용

  • 첫 줄qa에 있는 다음A;을 누르고q.
  • j에서 두 번째 줄@a까지;
  • j에서 세 번째 줄@@까지.

  • 매크로 기록은vim가 당신이 조작한 시퀀스를 기록한 다음에 기록이 끝난 후 임의의 시간 (normal 모드) 에서 녹음된 동작 시퀀스 (매크로) 를 한 키로 재생할 수 있다는 것이다.
    위의 예는 일반 모드qa에서q는 매크로 모드에 들어가는 것이다. a는 이 매크로의 이름이 a이다. 매크로의 이름은 26개의 알파벳 중 하나로 대소문자도 가능하고vim상태란에'recording@a'가 표시되면 모든 동작이 기록된다.일반 모드로 돌아갈 때까지 누르세요. q@a는 재생 이름이 a인 매크로이고, @@는 방금 재생한 매크로를 반복하는 것이다.
    사실 위에서 시범@@을 보여주기 위해 중복을 시키지 않았다. 중복은 1단계qaA;jq에 있었고 2단계2@qa에 바로 2와 3줄의 번호를 추가했다.
    위에는 대략적인 네 가지 방법일 뿐, 세분화하려면 몇 가지 방법이 있을 수 있다.
    마지막으로 VS 코드의vim 플러그인은 유용하고 업데이트도 빠르다.
    참고 자료:vim실용기교
    웹 개발 vim 도구
    웹 개발
    읽어 주셔서 감사합니다. 본문은 요철 실험실에서 판권을 가지고 있습니다.만약 전재한다면 출처: 요철 실험실(https://aotu.io/notes/2016/12/08/vim-4/)
    마지막 업데이트: 2019-04-20 19:28:31

    좋은 웹페이지 즐겨찾기