현재 편집 중인 파일에서 프로그램을 실행하기 위해 내 ~/vimrc
파일 의 키를 매핑하고 싶습니다 . 어떻게 해야 합니까? 이렇게 하면 호환성이 깨질까요 ?<F4>
vim
indent
vi
미리 감사드립니다.
답변1
매뉴얼 페이지에는 힌트조차 없지만 stdin(즉, FD 0)에서 읽고 stdout(즉, FD 1)에 쓰는 파이프의 작업을 처리하는 것으로 --help
나타났습니다 . indent
이 직업이내에Wim.
매핑된 명령으로 시작합니다.
map <F4> :!indent<CR>
파일의 첫 번째 줄로 이동하여 시각적 모드( Ctrl-v)로 들어갑니다. 그런 다음 키를 누르면 Ctrl-End파일의 마지막 줄로 이동합니다. 모든 줄을 포함하여 마지막 줄 너비에 한 블록(vim의 모든 줄 끝에 있는 개행 문자)을 더한 값이 강조 표시된 것처럼 보입니다. 외부 명령을 통해 이 블록을 제공하는 경우 수직 방향이 유일한 결정 요인이기 때문에 너비는 중요하지 않습니다. 라인이 포함되어 있으면 전체 라인이 됩니다.
이제 당신은 누르고 F4서둘러야 합니다. 이것이 제가 테스트한 것입니다효과가있다. IMO는 쉽습니다. 원하는 경우 전체 파일 대신 섹션을 쉽게 들여쓰기할 수도 있다는 의미입니다. 또 다른 아이디어는 매핑에서 return을 제거하여 <CR>
직접 Enter 키를 눌러야 하지만 go 옵션도 제공하는 것입니다 indent
. 그런 다음 다양한 스타일을 혼합하고 일치시킬 수 있습니다. 하하.
전체 파일을 자동으로 선택하도록 매핑하려면 호출 indent
한 다음 명령 모드 및/또는 원래 위치로 돌아갑니다. 더 복잡한 구성을 사용하면 이것이 가능하다고 확신합니다. 불행하게도 저는 현재 vim 프로그래밍에 대해 아무것도 모르기 때문에 그것이 어떻게 작동하는지 말씀드릴 수 없습니다. 하지만 그런 사람이 있을 수도 있다. 그 전에는 6개의 키 입력 요구 사항( :1
파일의 시작 부분으로 이동하려면 +return, ctrl-v
파일의 시작 부분으로 이동하려면 +return, ctrl-end
파일 끝으로 이동하려면 +return, 마지막으로 +return ) 을 충족해야 합니다 F4
.
답변2
나는 이것이 효과가 있다고 생각합니다.
map <F4> !indent %<CR>
내 생각에는 시스템 옆에서 무슨 일이 일어나는지에 따라 다르지만 적어도 파일을 다시 로드해야 합니다.
그러나 indent
실제로 무슨 일이 일어나고 있습니까? 당신이 시도하는 것이 더 간단한 방법으로 달성될 수 있는 것처럼 들립니다.