vim-latex 플러그인에서 큐를 가져 와서 포트란 프로그램 단위, 유형 정의 등의 자동 완성을위한 Vim 스크립트를 작성했습니다. 커서가 단어 program
에있는 동안 내가 <F5>
을 공격하면 순간 구조체 이름으로 사용 된 자리 표시자는 올바른 들여 쓰기를 손상시킵니다.
<+program_name+>
와
PROGRAM <+program_name+>
USE <+used_module_name+>
IMPLICIT NONE
<++>
END PROGRAM <+program_name+>
시각적으로 선택 빔 선택 모드에서 다음 얻는다. 그리고 이것은 나를 위해 완벽합니다.
이러한 자리 표시자를 IF
구조의 레이블로 사용하면 문제가 발생합니다. 내가 if
를 확장 할 때 나는 두 번째 줄은 사실로 인해 들여 쓰기되지
<+name+>: IF (<+logical expression+>) THEN
<++> ! this line is not indented => in turn the following are negative indented
ELSE IF (<+logical expression+>) THEN
<++>
ELSE
<++>
END IF <+name+>
은 (적어도 내가 생각!) 문자열 <+name+>
이 유효한 이름이 아닌 것을 얻을. 결과적으로 다음 행이 뒤로 이동합니다 (첫 번째 열에 if가있는 경우 분명히 두 번째 행만 잘못 표시됨).
이것은 또한 DO
구조를 위해 일하지만, 이상하게 SELECT CASE
구조에 대한 발생하지 않습니다
<+name+>: SELECT CASE (<+case expression+>)
CASE (<+case selector+>)
<++>
CASE DEFAULT
<++>
END SELECT <+name+>
을 그리고 나는 soultion이 존재하고 그렇게 복잡하지 있어야합니다 생각하는 이유입니다.
[UltiSnips] (https://github.com/SirVer/ultisnips)와 같은 기존 스 니펫 솔루션 중 하나를 고려하는 것이 좋습니다. [vim-snippets] (https://github.com/honza/vim-snippets) 스 니펫 모음을 함께 사용할 수 있으며 Fortran에 대한 스 니펫이 있습니다. –
'UltiSnips가 도움이 되었기 때문에 제대로 설치했다고 생각합니다.하지만 vim-snippets를 설치할 수 없었습니다. –
왜 'vim-snippets'을 설치하지 않았다고 생각하십니까? 다른 플러그인과는 달리 'vim-snippets'은 데이터만으로 "아무것도"하지 않습니다. –