vim과 같이 전체 화면을 채우고 종료 될 때 완전히 사라지는 터미널 응용 프로그램 (예 : vim)을 보았습니다. 즉, 단순히 현재 터미널의 "space "궁금전체 터미널 창을 사용하는 터미널 응용 프로그램
나는이 작업을 수행 할 수있는 방법 C#을한다.
vim과 같이 전체 화면을 채우고 종료 될 때 완전히 사라지는 터미널 응용 프로그램 (예 : vim)을 보았습니다. 즉, 단순히 현재 터미널의 "space "궁금전체 터미널 창을 사용하는 터미널 응용 프로그램
나는이 작업을 수행 할 수있는 방법 C#을한다.
이 프로그램은 대체 화면 (원래 xterm이나 다른 사람)의 기능을 사용합니다.
VIM 시작 및 커서 주소의 사용을 종료하기위한 이스케이프 시퀀스를 포함하는 단말기의 설명을 사용한다. 대체 화면으로 /에서 전환하는 대부분 (xterm 및 imitators의 경우) 일반 화면의 커서 위치 저장/복원. 모든 터미널 설명이이 기능을 사용하는 것은 아닙니다.
기능의 역사는 xterm이 자주 묻는 질문 Why doesn't the screen clear when running vi?에 제시되어있다. 원래이 (\E
가 ASCII 이스케이프 문자 \033
임)
smcup=\E7\E[?47h, rmcup=\E[2J\E[?47l\E8,
modern version이 MSDN을 참조
smcup=\E7\E[?1049h, rmcup=\E[?1049l
입니다 (terminfo의 형식)이고, 이것은 아마도 \E7\E[?47h
을 위해 작동합니다 :
System.Console.Write("\u001b7\u001b[?47h")
\E
은 \u001b
이됩니다. 마찬가지로, \E[2J\E[?47l\E8
를 들어,
System.Console.Write("\u001b[2J\u001b[?47l\u001b8")
추가 읽기 작성할 수
와 나는 C#으로 대체 화면을 사용하는 방법 ? – theonlygusti
터미널에 이스케이프 시퀀스를 작성하여 ... –
이스케이프 시퀀스 란 무엇입니까? 당신은 그것을 언급하지 않습니다. – theonlygusti