답변:
vi 편집 버퍼의 기본 디렉토리 (/ var / tmp)에는 vi 가 버퍼 조작에 추가 행을 사용 하므로 작업중인 파일 크기의 약 2 배에 해당하는 공간이 필요합니다 .
/ var / tmp 디렉토리에 편집 버퍼를위한 충분한 공간이없는 경우 (예를 들어, 큰 파일로 작업 중이거나 시스템 공간이 부족한 경우)
때때로 당신은 얻을 수 있습니다, 당신은 이와 같은 다음과 같은 오류 메시지를 받게됩니다
Not enough space in /var/tmp.
http://kb.iu.edu/data/akqv.html 에서이 문제를 해결하는 방법에 대해 읽을 수 있습니다.
Vim은 대용량 파일 용으로 설계되지 않았습니다. 그것은 사용자 경험을 크게 늦추는 특정 기능을 가지고 있습니다. 예를 들어, 파일을 메모리에로드하여 기본적으로 메모리 크기보다 작은 파일을 편집하도록 제한합니다. 또한 구문 강조, 스왑 파일 및 실행 취소와 같은 기능은 큰 파일에서 매우 비효율적이며 속도가 훨씬 느려집니다. 또 다른 문제는 vim
너무 긴 줄 을 기대하지 않는다는 것입니다. 파일에 줄 바꿈 문자가 거의없는 경우vim
가 없는 은 사용할 수 없게됩니다.
이미 말했듯이 vim-largefile 과 같은 플러그인이있어 큰 파일에서 특정 설정을보다 효율적으로 변경하지만 결국 vim
에는 결코 스냅 할 수 없습니다 당신이 그것을 여러 기브을 던질 때.
결론은 vim
큰 파일 에는 사용하지 마십시오 . 큰 파일을 보려면 (편집과 대조적으로)을 사용하십시오 less
. 패턴을 검색하려면 슬래시를 사용하여 패턴 검색을 시작하십시오.
/<pattern> # forward search
?<pattern> # backward search
출력을 필터링하려면 앰퍼샌드를 사용하십시오.
&<pattern>
그런 다음을 사용하여 연속 출력을 시작하십시오 shift-f. 를 사용하여 연속 출력 디스플레이를 종료하고 ctrl-c필터 패턴을 세분화 또는 취소하거나 검색을 시작할 수 있습니다.
와 같은 도구를 사용하여 큰 파일을 편집하려면 sed
효율적이고이 목적을 위해 설계되었습니다.
vi
(또는vim
그 문제에 대해) 큰 파일에서는 느려지고 줄 끝이 많지 않으면 사용하지 못할 수도 있습니다. 또한 파일이 메모리에 맞아야합니다.less
대용량 파일에 사용하면 로그 파일을 읽거나 보는 데 훨씬 빠르고 충분합니다.