vim에서 코드 행미에 점수를 붙이는 몇 가지 방법
1
2
3
var foo = 'aotu'
var bar = 'is a team'
var foobar = foo + bar
방법 하나, 점 조작부호 사용
$
줄 끝으로 이동하여a;
줄 번호의 입력을 완성한다.($a;) j
에 따라 다음 줄로 이동하고 1단계를 반복하여 다시 한 번 두 번째 줄을 완성한다.(j$a;) 힘들어, 차라리 마우스를 눌러야지vim의 철학은 Don't repeat yourself야. 우리는 중복을 줄일 방법을 생각해야 해.
vim에서
.
명령은 지난번 수정을 중복할 것이다. 우리는 중복할 수 있는 수정을 구성해야 한다. 그래서 방법은 다음과 같다.$
줄 끝으로 이동하여a;
줄 번호의 입력을 완성한다.($a;) j
에 따라 다음 줄로 이동한 다음$.
두 번째 줄을 완성한다.(j$.) 보시다시피
.
명령은 매우 유용하다. 가능한 한 중복할 수 있는 조작을 .
로 중복할 수 있는 조작으로 바꾸도록 한다.고개를 돌리면 어떤 것이'수정'일까요
x
는 커서 아래의 문자를 삭제합니다.dd
한 줄 삭제하기;>G
현재 줄에서 문서 끝까지 축소하는 것은 수정이라고 할 수 있으며 모두 일반 모드에서 실행되는 명령이다.삽입 모드의 수정도 틀림없이 수정되었을 것이다. 그러나 어떻게 기록합니까?삽입 모드에 들어가는 순간부터 (예: 입력 i
일반 모드로 돌아갈 때까지 (즉 입력 또는 >, Vim는 모든 버튼 동작을 기록합니다. 복합 명령 A
은 $a
과 비슷합니다. 이것은 반복 가능한 수정이기 때문입니다.A
부터 줄 끝까지;
까지 줄 번호의 입력을 완성한다.(A;) j
에 따라 다음 줄로 이동한 다음.
두 번째 줄을 완성한다.(j.) .
명령의 매력을 인식하고 가능한 한 조작을 중복할 수 있도록 한다.방법 2, 블록 모드 사용
(macvim 또는 gvim일 경우) 블록 가시 모드에 들어가고jj$
두 줄을 아래로 이동한 다음 줄 끝으로 뛰어내린다.A;
삽입 모드에 들어가서 번호를 입력한다.이 방법은 보기 모드에서 블록 선택을 사용합니다. 블록 선택에 들어가는 것입니다. 이동을 통해 선택을 만든 후
A
와 I
삽입 모드로 텍스트를 편집한 다음 삽입 모드를 종료하고 블록 모드를 끝내면 삽입된 텍스트가 선택한 줄로 확산됩니다.재미있는 것은 블록 선택에 들어가서 복사해서 붙여볼 수 있다는 거예요.
만약 당신이 문자를 하나 더 입력했다면 어떻게 합니까?
gv
방금 선택한 항목을 다시 선택하고 삭제하고 싶은 문자를 다시 조정해서 삭제할 수 있습니다.gv
가시 모드에 적용됩니다.메서드 3, EX 사용
:x,ynormal A;
그 중에서
:
는 명령행 모드에 들어가고 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.