Enter 키는 캐리지 리턴(CR) 키와 다릅니다.

Enter 키는 캐리지 리턴(CR) 키와 다릅니다.

많은 웹 페이지에서는 Enter 키의 ASCII 코드가 13(0d)라고 나와 있습니다.
Enter 키는 캐리지 리턴(CR)으로 처리됩니다.
이제 실험을 해보겠습니다.
vim을 열려면 Enter를 세 번 누르고 아무 작업도 수행하지 않은 후 파일을 test.csv로 저장하면 됩니다.

xxd  test.csv
0000000: 0a0a 0a 

내 결론에 도달했습니다.
Enter 키의 ascii 값은 0a입니다. 이는 개행 문자를 의미하며 캐리지 리턴 문자(ascii에서는 13 또는 0d)와 다릅니다.
옳고 그름?

답변1

을 누르면 터미널이 캐리지 리턴을 보내고 EnterUnix 계열 시스템에서는 터미널이운전사개행 문자("newline")로 변환합니다.

예를 들어 다음과 같은 icrnl기능이 표시 됩니다 stty -a.

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

프로그램(셸 스크립트 포함)은 이 기능을 끄고 실제 캐리지 리턴을 읽어 ControlJ개행 문자와 구별할 수 있습니다.

답변2

Enter키는 CR 문자(Enter, Ctrl+M, 값 13 = 0x0d = 015)를 보냅니다. 쉘 프롬프트나 Vi 삽입 모드에서 Ctrl+를 누르면 V다음을 볼 수 있습니다 Enter. Ctrl+는 V커널의 내장 터미널 드라이버와 많은 터미널 기반 프로그램(일반적인 쉘 및 vi(m) 포함)에서 사용되는 키보드 단축키입니다. .

Vi(m) 삽입 모드에서 Ctrl+M 문자는 "새 줄 삽입" 명령에 바인딩됩니다. Vi는 대부분의 입력 문자에 문자를 삽입하여 반응하지만, 몇 가지 예외가 있는데, 특히 Ctrl+[ Esc키 누르기가 보내는 문자입니다.

텍스트 파일에서 줄 바꿈은 LF 문자(새 줄, Ctrl+J, 값 10 = 0x0a = 013)로 표시됩니다.

Vi에서 Ctrl+를 누르면 J실제로 동일한 효과가 있지만 필요한 경우 두 개의 키 입력을 바인딩하여 별도의 명령을 사용할 수 있습니다. 명령 모드에서 Ctrl+ J와 +의 차이점을 볼 수 있습니다 Ctrl. +는 단순히 커서를 다음 줄로 이동하고, +는 커서를 다음 줄로 이동하고 공백이 아닌 첫 번째 문자로 이동합니다.MCtrlJCtrlM

관련 정보