문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 vi (문단 편집) == 특징 == 편집 자체를 따로 하나의 모드로 구성하여 키 조작을 크게 단순화시킨 것이 특징이다. 일반 편집기에서는 입력모드와 편집모드가 구분이 되어있지 않기 때문에, 텍스트 입력에 쓰이는 알파벳이나 숫자 키 자체를 기능키로 사용하지는 못한다. 덕분에 편집 시에는 손가락이 거의 항상 shift, ctrl, alt 쪽에 붙어 있어야 하는데, vi에서는 그냥 단타나 연타로 끝난다. 예를 들어, 커서 움직임은 hjkl, 한 글자 지우기는 그냥 x, 한 줄 전체 지우기(컷)는 dd, 한 줄 전체 복사는 yy, 붙여넣기는 p 식이라, 기본적인 수준의 편집은 그냥 hjkl로 움직이고 지우고 복붙하고 하면서 커피 마시면서 한 손으로도 가능하다. 두 번째는 함수형 명령들이다. 함수형 명령이란 예를 들어 f(x,y) 가 있다면 f x y를 순서대로 입력하는 방식이다. 쉽게 예를 들면, d라는 명령은 이것만으로는 아무것도 일어나지 않는다. 위의 예에서 f와 같은 함수라 인자를 받아야 작동한다. 물론 아무 인자나 받는 것은 아니고 '커서 이동'에 관한 명령을 인자로 받는다. 즉, 우측으로 한 칸 이동하는 명령인 l을 인자로 주어 dl을 순서대로 입력하면 우측 한 글자가 지워지고, 줄의 맨 처음으로 커서를 보내는 ^(혹은 0)과 조합하여 d^를 순서대로 입력하면 해당 위치에서 줄 첫부분까지가 모두 지워지는 식이다. 이것이 가장 많이 쓰이는 부분이 바로 수+명령인데, vi 에서 수는 뒤에 오는 인자를 받아 그 수만큼 반복 실행하는 함수로 볼 수 있다. 즉, 문자 하나를 지우는 x라는 명령과 수 50을 조합하여 50x를 입력하면 50글자가 지워지는 식이다. 함수의 인자로 다른 함수를 지정하는 것도 역시 가능하다. 즉, 5dk라는 명령은 5라는 함수, d라는 함수 그리고 k라는 커서 이동 인자로 구성되어 5(d(k)) 라는 함수로 볼 수 있다. 즉, d(k)라는 함수를 5번 반복하는 명령이 된다. k가 커서를 한 줄 위로 올리는 것이고, dk는 윗줄을 지우는 명령이 되기때문에 위로 5dk 는 위로 5줄을 삭제하는 명령 정도로 볼 수 있다. 이런 식으로 매우 간편하게 입력 가능한 편집 명령에 더해서 그것을 함수형으로 조합하여 타수를 더욱 절약하는 것이 가능하기 때문에, 그것에 특화된 기능이 따로 제공되지 않는 복잡한 작업일수록 vi에서 타수는 훨씬 줄어든다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기