vim을 사용하여 로그 파일을 분석하고 형식은 다음과 같습니다.
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
대부분의 경우 나는 날짜와 시간을 신경 쓰지 않습니다. 그것들을 숨기고 이름과 LogText 열에 집중하고 싶습니다 (화면 영역을 저장하기 위해). 처음 세 개의 열은 항상 한 줄에서 처음 35 개의 문자를 차지하기 때문입니다. vim이 각 줄의 처음 35자를 표시하지 않는 방법이 있습니까?
답변
첫 글자를 숨기거나 제거하지 않고 보이지 않게 스크롤하는 방법에 대해 물었습니다. 실제로 숨기는 방법은 다음과 같습니다.
은닉을 사용하여 vim에서 텍스트 숨기기
구문 강조 및 숨기기 기능 과 함께 matching 을 사용 하면 실제로 일치하는 문자를 줄 안에 표시 할 수 없습니다.
각 줄의 처음 25자를 숨기려면
:syn match Concealed '^.\{25\}' conceal
:set conceallevel=2
대신 구두점이있는 줄만 숨기려면 :
:syn match Concealed '^....-..-.. ..:..:..\..... ' conceal
숨기기를 해제하려면
:syn clear Concealed
:set conceallevel=0
정상적으로 보이는 모습 :
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
YYYY-MM-DD HH:MM:SS.USEC PID Name LogText
처음 두 명령을 실행 한 후 다음과 같이 나타납니다.
PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText
PID Name LogText
내부 참조 vim
:
help :syn-match
help :syn-conceal
help 'conceallevel'
help 'concealcursor'
(그런 식으로 행동하지 않으면 알려주세요-알지 못하는 설정이 더있을 수 있습니다-작동하도록하십시오.)
답변
vim의 필터 기능을 사용하십시오 . 운영:
:%!cut -b36-
cut
바이트 36 만 유지하면서 명령을 통해 버퍼의 내용을 실행합니다 . %
전체 버퍼를 실행하고 그 내용을 출력으로 바꾸는 것을 의미합니다. 그런 다음 !
필터 명령은 나머지 줄을 실행할 프로그램입니다. 버퍼를 맨 위에 저장하지 않으면 기본 파일을 수정하지 않습니다.
트리밍되지 않은 원본 버퍼를 다시 가져 오려면을 사용할 수 있습니다 ( :e
실제 파일로 백업 된 경우).
답변
나는 당신이 찾고있는 것과 더 일치한다고 생각 합니다. 수평 스크롤 입니다.
Z
가로 스크롤 명령 키 다음에 왼쪽 또는 오른쪽 화살표 키로 이동할 방향이 있습니다.
먼저 :set nowrap
줄 바꿈을 비활성화합니다. 이어서 누르면 z, 35, →(35 개) 공간을 이동한다.
답변
명령 모드에서 다음을 시도하십시오.
:%s/^.\{35}//
%s/pat/sub/
: 각각의 선두로부터 대체 특허 와 서브^.\{35}
: 줄의 처음 35 자와 일치
이 명령은 각 줄의 처음 35자를 제거합니다. :h regular-expression
에서 정규 표현식에 대한 자세한 내용을 읽을 수 있습니다 vim
.
답변
버퍼 나 파일을 수정하지 않고 기억하기 쉬운 솔루션이 있습니다. L
보고자하는 파일 부분 의 첫 번째 문자 ( 예에서)에 커서를 놓고 입력
:set nowrap
zs
zs
명령 의지 설정 VI 그래서 화면의 첫 번째 열에서 커서가 나타납니다와 문자가. :set nosol
구성 파일을 입력하지 않았는지 확인하십시오 .
이 g$
명령은 커서를 마지막으로 보이는 열로 이동합니다.
이 g0
명령은 커서를 L을 포함하는 첫 번째 보이는 열로 다시 이동합니다.
어떤 키라도 커서를 보이는 열에서 왼쪽이나 오른쪽으로 움직이면 보이는 창이 이동합니다.