| [ CnUnix ] in KIDS 글 쓴 이(By): dalgong (달공아저씨) 날 짜 (Date): 2002년 3월 23일 토요일 오후 03시 47분 51초 제 목(Title): Re: [q] emacs에서 C-u C-u 숫자 명령어: 반드시 명령어를 숫자만큼 반복하는게 아닙니다. 명령어는 약간 특별한 리습함수입니다. C-u 숫자로 주는 것을 prefix arg라고 부르는데, 이게 명령어의 인수로 전달됩니다. 이 숫자를 어떻게 사용하는가는 명령어가 알아서 할 일이죠. 가령 C-x C-f 에 CVS디렉토리를 주면, 아무런 인자 없이 실행을 하면 평상시 처럼 CVS디렉토리에 dired가 실행되지만, C-u등의 인자를 주면 cvs-examine이 수행이 되죠. 그런데, 하필이면 C-n이나 C-v등은 이 숫자를 반복의 의미로 쓰고 있는 겁니다. 튜토리얼에서 설명을 간단히 하기 위해 자세한 얘길 안했을 겁니다. 이런걸 명령어 마다 다 알아야 합니다. C-h k나 C-h f혹은 f1 k, f1 f등을 통해서 함수의 설명을 보시면 prefix arg가 주어지면 어떤 변화가 일어나는지 모두 설명이 되어 있습니다. 대부분의 경우 직관적입니다만, 안 그런 경우도 있으니 설명을 볼때 꼭 살펴 보아야 합니다. 가령 C-k에 대한 설명중에는 (C-h k C-k 혹은 f1 k C-k) Kill the rest of the current line; if no nonblanks there, kill thru newline. With prefix argument, kill that many lines from point. Negative arguments kill lines backward. 이런 설명이 있습니다.. C-u 숫자 뒤에 C-u로 시작하는 명령어가 오면: 이런 경우는 없습니다. 사실 C-u는 다음에 숫자를 입력 받고, 다시 명령어키를 읽어서 그 명령어에 숫자를 인자로 넘겨주는 역할을 하는 "명령어"입니다. 이 "C-u 명령어"는 단순한 이 기능만 하는데 여기도 여러가지가 있습니다. C-u 다음에 숫자없이 C-u가 오면 처음에는 4, 그 다음에 16이런식의 숫자가 들어온 것으로 해석합니다. 근데, C-u를 이런 용도로 쓰다 보니까 문제가 있습니다. 1을 10번 입력하고 싶은데 C-u 1 0 1 하면 이게 101이란 숫자로 생각하고 계속 명령을 기다리게 되니까요. 그래서 이런 입력을 가능하게 하기 위해서 C-u 로 숫자를 입력 받는 도중에 C-u를 받으면 그 다음에 오는 숫자를 입력하도록 되어 있습니다. 예를 들어서 C-u 1 0 C-u 1로 1이 10개 입력이 됩니다. 참고로, C-u 숫자 대신에 C-숫자 혹은 M-숫자도 같은 역할을 합니다. TeX모드를 사용할때..: 얘기하시는 걸로 보아서 기본배포본에 오는 TeX모드를 얘기하시는 듯 합니다. 컴파일 하는 명령이 C-x C-f일껍니다. |