렌파이는 런처에서 사용자가 게임 스크립트를 수정하거나 오류 보고를 할 때 스크립트 에디터를 사용합니다. 기본적으로 런처에서 스크립트 에디터를 선택하면 jEdit 을 사용하거나 jEdit이 없으면 운영체제에서 기본으로 설정한 프로그램을 사용합니다. 필요하다면 사용자 마음대로 원하는 에디터를 사용하도록 수정할 수도 있습니다.
렌파이 런처에서 사용할 에디터는 .edit.py 파일에 Editor 클래스를 적어 수정할 수 있습니다. Edit 클래스에는 스크립트를 수정할 때 호출하는 메소드가 있습니다.
렌파이는 우선 RENPY_EDIT_PY 환경변수에 .edit.py 파일을 설정했는지 검색합니다. .edit.py 값을 설정했다면 파일에 적힌 Editor 클래스를 사용해서 에디터를 설정합니다. .edit.py가 없으면 운영체제에서 렌파이 스크립트 파일을 열 때 사용할 프로그램을 기본 에디터로 사용합니다.
렌파이 런처를 실행하면 런처는 프로젝트 디렉토리와 렌파이 디렉토리에서 에디터이름.edit.py 파일을 검색합니다(launcher/jEdit.edit.py 나 myeditor/MyEditor.edit.py 를 검색한다는 얘기입니다). 에디터이름 은 런처 옵션에 나타납니다. 런처는 RENPY_EDIT_PY 값도 옵션에서 선택한 파일로 설정하므로 런처에서 실행한 게임은 스크립트를 수정할 때 런처에서 선택한 에디터를 이용합니다.
.edit.py 파일은 렌파이 파일이 아니라 파이썬 파일이므로 파일 안에 Editor 클래스 하나만 정의해야 합니다. 스크립트 수정할 때 렌파이는 .edit.py 의 Editor 클래스에서 메소드를 호출합니다.
에디터를 사용하는 것은 에디터 처리 과정의 일종입니다. 예를 들어 에디터 처리 과정에서 새 창을 열어야 한다면 처리해야 하는 파일 모두 똑같이 새 창에서 열려야 합니다. 에디터 처리 과정은 begin 메소드를 호출하고 나서 중간에 실행 메소드를 필요한 만큼 실행한 후 end 메소드를 호출해 끝납니다.
edit.py 파일에서는 renpy.editor 를 임포트해야 하며 Editor 클래스는 renpy.editor.Editor 를 상속해야 합니다. 추가 키워드 인수는 메소드에 추가되고 메소드는 알 수 없는 키워드 인수를 무시합니다. Editor 하위 클래스를 사용자가 직접 만든다고 가정해서 메소드에 self 매개변수를 표시했습니다.