다음: 리드라인 맞춤 설정, 이전: 자동 완성, 상위 문서: 명령줄 편집   [차례][찾아보기]


2.4.5 내역 관리 명령

옥타브는 기본적으로 사용자가 입력한 명령어를 보존하여, 사용자가 이전 명령어를 편집하거나 재실행하기 위해 재호출할 수 있게 합니다. 옥타브를 종료하면, 최근에 입력한 명령어 중 변수 history_size 만큼의 개수가 기록철로 저장됩니다. 옥타브가 시작하면 변수 history_file인 기록철에서 초기 명령어 목록을 불러옵니다.

아래는 내력 목록을 간단하게 탐색하고 검색하는 명령어입니다.

LFD
RET

반디 위치와 상관없이 현재 줄을 처리합니다. 빈 줄이 아니면, 내역 목록에 현재 줄을 추가합니다. 현재 줄이 내역 줄이면, 내역 줄을 본래 상태로 복구합니다.

C-p

내력 목록 '위'로 갑니다.

C-n

내력 목록 '아래'로 갑니다.

M-<

내력 목록 첫 줄로 갑니다.

M->

입력 내력 끝으로 갑니다. 즉, 입력 줄로 갑니다.

C-r

현재 줄의 윗 내용에서 검색하고, 필요하면 위로 움직입니다. 이는 증분 검색입니다.

C-s

현재 줄의 아랫 내용에서 검색하고, 필요하면 내역 '아래'로 움직입니다.

단말기 대부분에서 이력 목록을 움직일 때에 C-pC-n 대신 위아래 화살표쇠를 사용해도 됩니다.

이력 목록을 움직이는 자판 명령에 덧붙여, 옥타브는 내역 목록 명령어 덩어리를 보고, 편집하고, 재실행하는 세가지 함수를 제공합니다.

history
history 선택지1
h = history ()
h = history (선택지1, …)

아무 매개변수 없이 실행하면, history는 실행했던 명령어 목록을 보여줍니다.

가능한 선택지는 다음과 같습니다.

숫자
-숫자

가장 최근 내역 숫자 개 줄을 보여줍니다.

-c

내역 목록을 비웁니다.

-q

이력을 보여줄 때에 줄 번호를 붙이지 않습니다. X 윈도우 체제에서 명령어를 잘라 붙이는 데에 유용합니다.

-r 기록철

현재 이력 기록에 기록철 내용을 덧붙입니다. 기록철을 지정하지 않으면 기본 이력 기록철(보통 ~/.octave_hist)을 사용합니다.

-w 기록철

현재 이력을 기록철 기록철에 저장합니다. 기록철을 지정하지 않으면 기본 이력 기록철(보통 ~/.octave_hist)을 사용합니다.

용례를 보자면, 가장 최근의 입력 이력 5개를 줄 번호 없이 보고 싶다면, history -q 5를 사용하면 됩니다.

출력 매개변수 한 개와 같이 사용하면, 이력은 낱칸 배열로 해당 매개변수에 저장되고, 출력되지 않습니다.

같이 보기: edit_history, run_history.

edit_history
edit_history 명령_번호
edit_history 시작 마지막

이름이 변수 EDITOR인 편집기로 이력 목록을 편집합니다.

편집할 명령어는 먼저 임시 기록철에 복사됩니다. 편집기를 종료하면, 옥타브는 기록철을 보존시키는 명령을 실행합니다. edit_history로 함수를 수정하는 것이 명령줄에서 직접 수정하는 것보다 많은 경우에 더 간편합니다. 편집한 명령어는 편집기를 나가면 실행됩니다. 어떤 명령도 실행되지 않게 하려면, 간단하게도 편집기를 나가기 전에 완충칸에서 모든 줄을 삭제하면 됩니다.

아무 매개변수 없이 실행하면, 직전에 실행한 명령어를 편집합니다. 매개변수 한 개와 실행하면, 명령_번호로 특정한 명령어를 편집합니다. 매개변수 두 개와 실행하면, 시작마지막 사이에 있는 명령어 목록을 편집합니다. 명령 번호는 음수일 수 있으며, -1은 직전 명령을 의미합니다. 아래 명령어는 동일하며 직전 명령어를 편집합니다.

edit_history
edit_history -1

범위를 지정할 때에 시작마지막보다 큰 수를 부여하면, 편집용 완충칸에 명령어 목록이 뒤집혀서 들어갑니다.

같이 보기: run_history, history.

run_history
run_history 명령_번호
run_history 시작 마지막

이력 목록의 명령어를 실행합니다.

아무 매개변수 없이 실행하면, 직전 명령어를 실행합니다.

매개변수 한 개와 실행하면, 명령_번호로 특정한 명령어를 실행합니다.

매개변수 두 개와 실행하면, 시작마지막 사이에 있는 명령어 목록을 실행합니다. 명령 번호는 음수일 수 있으며, -1은 직전 명령을 의미합니다. 아래 명령은

run_history
     OR
run_history -1

직전 명령을 실행합니다. 아래 명령은

run_history 13 169

13부터 169까지의 명령을 실행합니다.

범위를 지정할 때에 시작마지막보다 큰 수를 부여하면, 편집용 완충칸에 명령어 목록이 뒤집혀서 들어갑니다. 예시:

disp (1)
disp (2)
run_history -1 -2
⇒
 2
 1

같이 보기: edit_history, history.

또한 옥타브에는 이력을 언제, 어디에, 어떻게 저장할지 세세하게 지정하는 설정이 있습니다.

= history_save ()
_값= history_save (새_값)
history_save (새_값, "local")

명령줄에 입력한 명령의 이력 기록철 저장 여부를 결정하는 내부 변수를 조회 또는 설정합니다.

함수 안에 "local" 선택지가 설정되어 호출되면, 변수는 해당 함수와 그 함수가 호출한 아래 경로에서 지역 변수로 바뀝니다. 기존 값은 함수가 종료되면 복구됩니다.

같이 보기: history_control, history_file, history_size, history_timestamp_format_string.

= history_control ()
_값= history_control (새_값)

명령을 이력 기록철에 어떻게 저장할지 정하는 내부 변수를 조회 또는 설정합니다.

변수 OCTAVE_HISTCONTROL가 기본 값에 우선하며, 기본 값은 빈 문자열입니다.

history_control의 값은 쌍반점으로 구분한 값 목록으로 내역 목록에 명령을 저장하는 방법을 다룹니다. 값 목록에 ignorespace가 있으면, 공백 문자로 시작하는 줄을 내역 목록에 저장하지 않습니다. ignoredups은 동일한 줄이 이미 내역에 저장되어 있으면, 중복하여 저장하지 않습니다. ignorebothignorespaceignoredups을 합친 것입니다. erasedups는 현재 줄과 동일한 이전에 저장된 모든 줄을 현재 줄을 저장하기 이전에 내역에서 삭제합니다. history_control이 빈 문자열이면, history_save에 지정한 곳에 모든 명령을 저장합니다.

같이 보기: history_file, history_size, history_timestamp_format_string, history_save.

= history_file ()
옛_값 = history_file (새_값)

명령 내역을 저장하는 데에 사용하는 기록철의 이름을 지정하는 내부 변수를 조회 또는 설정합니다.

현재 history_save  설정이 허용하면, 현재 옥타브 작업에서 미래에 발생하는 모든 명령을 지정한 새 기록철에 저장합니다.

기본 값은 ~/.octave_hist이나, 횐경 변수 OCTAVE_HISTFILE이 우선될 수도 있습니다.

풀그림 짜기 안내:

옥타브 내역 기록철 위치를 영구적으로 바꾸려면, 새 옥타브 작업마다 history_file 명령을 매번 실행해야 합니다. .octaverc 시작 기록철로 편하게 적용할 수 있습니다.

현재 설정된 기록철이 아닌 기록철에 저장된 이전 옥타브 작업 내역을 불러오려면, 내역 기록철 값을 설정한 후에 history -r 명령을 추가로 사용하여야 합니다. 아래는 옥타브 시작 기록철에 넣을 이전 옥타브 작업의 내역을 불러오는 예시 부호입니다.

history_file ("~/new/.octave_hist");
if (exist (history_file ()))
  history ("-r", history_file());
endif

같이 보기: history, history_control, history_save, history_size, history_timestamp_format_string.

= history_size ()
옛_값 = history_size (새_값)

내역 기록철에 얼마나 많은 항목을 저장할지 결정하는 내부 변수를 조회 또는 설정합니다.

기본 값은 1000이나, 환경 변수 OCTAVE_HISTSIZE가 우선될 수도 있습니다.

같이 보기: history_file, history_timestamp_format_string, history_save.

= history_timestamp_format_string ()
옛_값 = history_timestamp_format_string (새_값)
history_timestamp_format_string (새_값, "local")

옥타브를 종료했을 때에 내역 기록철에 적을 주석 줄의 문자열 형식을 지정하는 내부 변수를 조회 또는 설정합니다.

문자열 형식은 strftime에서 처리합니다. 기본 값은 아래와 같습니다.

"# Octave VERSION, %a %b %d %H:%M:%S %Y %Z <USER@HOST>"

함수 안에 "local" 선택지가 설정되어 호출되면, 변수는 해당 함수와 그 함수가 호출한 아래 경로에서 지역 변수로 바뀝니다. 기존 값은 함수가 종료되면 복구됩니다.

같이 보기: strftime, history_file, history_size, history_save.

= EDITOR ()
옛_값 = EDITOR (새_값)
EDITOR (새_값, "local")

기본 글월 편집기를 지정하는 내부 변수를 조회 또는 설정합니다.

옥타브를 시작할 때, 환경 변수 EDITOR를 기본 값으로 가져옵니다. 환경 변수가 초기화되지 않으면, EDITOR"emacs"으로 설정됩니다.

함수 안에 "local" 선택지가 설정되어 호출되면, 변수는 해당 함수와 그 함수가 호출한 아래 경로에서 지역 변수로 바뀝니다. 기존 값은 함수가 종료되면 복구됩니다.

같이 보기: edit, edit_history.


다음: 리드라인 맞춤 설정, 이전: 자동 완성, 상위 문서: 명령줄 편집   [차례][찾아보기]