Readline으로 자동 완성하기

Readline으로 자동 완성하기

명령 이름이나 변수 이름을 전부 입력하지 않아도 되게 도와주는 기능이 있어요. Octave가 커서 앞의 텍스트를 보고 명령과 변수 이름을 자동으로 완성해 주죠. 이 절에서는 완성 관련 명령과 관련 함수를 소개할게요.

출처: 문서

본문

다음 명령들로 Octave가 명령·변수 이름을 대신 입력해 주게 할 수 있어요.

  • TAB — 커서 앞의 텍스트에 대해 완성을 시도해요. Octave는 명령과 변수의 이름을 완성할 수 있어요.
  • M-? — 커서 앞 텍스트에 대해 가능한 완성 목록을 보여줘요.

completion_append_char

val = completion_append_char ()
old_val = completion_append_char (new_val)
old_val = completion_append_char (new_val, "local")

성공한 명령줄 완성에 이어 붙일 내부 문자 변수를 조회하거나 설정해요. 기본값은 " "(공백 하나)이에요.

함수 안에서 "local" 옵션과 함께 호출하면 이 변수는 해당 함수와 그 함수가 호출하는 서브루틴 안에서만 변경되고, 함수를 빠져나가면 원래 값으로 복원돼요.

completion_matches

completion_list = completion_matches ("hint")

주어진 문자 시퀀스 hint에 대해 Octave가 가능한 단어 완성을 생성해요. 이 함수는 Emacs처럼 Octave를 제어하면서 사용자 입력을 처리하는 프로그램을 위해 제공돼요. 예를 들어,

completion_matches ("sine")
⇒
sinetone
sinewave

프로그래밍 참고: 이 함수가 호출돼도 Octave의 현재 명령 번호는 증가하지 않아요. 이것은 버그가 아니라 의도된 동작이에요.

더 알아보기

  • 완성은 명령줄에 입력할 때 사용하므로 Command Line Editing 절을 함께 보세요.
  • 역사(히스토리) 조작 명령은 Commands for History 절에서 다뤄요.