Windows 터미널에서 명령 기록 버퍼 크기를 변경하는 방법

Windows 터미널에서 명령 기록 버퍼 크기를 변경하는 방법

기본 설정을 사용하여 CMD.exe의 기록 버퍼 크기를 변경할 수 있습니다.

CMD 속성

하지만 Windows 터미널 내에서 CMD 셸을 실행할 때 어떻게 해야 합니까? 해당 설정은 어디에도 없습니다.

편집하다:

이 질문은 다음과 같이 문서화된 WT "기록 크기" 설정과 관련이 없습니다.

기록 크기
이는 다시 스크롤할 수 있는 창에 표시된 줄 위의 줄 수를 설정합니다.

이는 CMD "화면 버퍼 크기"와 동일합니다.

레이아웃 속성

입력된 버퍼에 대해 묻고 있습니다.명령위쪽 및 아래쪽 화살표를 사용하거나 다음과 같이 F7을 사용하여 순환할 수 있습니다.

여기에 이미지 설명을 입력하세요

(WT 내부에서 실행되는 CMD 창에서 시도해 보면 50개 이상 표시되지 않습니다.)

답변1

먼저, 동일한 내용을 이해하는 데 도움이 되는 몇 가지 용어입니다.

이는 CMD "화면 버퍼 크기"와 동일합니다.

대부분의 사람들은 이 대화 상자를 CMD의 일부로 생각하지만 실제로는 conhost.exeWindows 터미널이 대체하도록 설계된 Windows용 레거시(20년 이상) 터미널 응용 프로그램인 "Windows 콘솔 호스트"(또는 "ConHost")입니다.

PowerShell 또는 WSL과 같이 Windows 콘솔 호스트에서 실행하는 다른 터미널 기반 애플리케이션에서 참조하는 "명령 기록" 옵션을 볼 수도 있습니다. 그러나 CMD 셸을 호스팅하는 경우에만 해당 설정이 실제로 명령 기록 길이를 제어합니다.

그리고 그건,Windows 터미널 개발자 중 한 사람의 말을 인용하자면(ConHost 유지 관리도 담당함):

우리가 다시는 저지르지 않을 건축학적 실수입니다.

그것은 나쁜 소식입니다. 좋은 소식은 이 기능을 다른 기능과 함께 복제할 수 있다는 것입니다. 다른 Microsoft 팀원 중 한 명이 동일한 Github 스레드에서 다음과 같이 말했습니다.

명령줄 클라이언트가 실행한 명령을 기억하는 것은 터미널의 책임이 아닙니다. 그게 그쪽의 책임이지껍데기.

그리고 쉘로서 CMD 자체는 실제로 doskey.exe. 예:

doskey /listsize=999

그러면 명령 기록 크기가 999로 설정되어 ConHost에 설정된 모든 항목과 Windows 터미널에 표시되는 기본 크기인 50이 무시됩니다.

다음을 수행하여 Windows 터미널의 모든 CMD 세션에 대해 이를 변경할 수 있습니다.

  1. 다음을 사용하여 winterm_start.cmd프로필 디렉터리(또는 원하는 위치)에 파일(또는 원하는 이름)을 만듭니다 .C:\Users\<username>

    @echo off
    doskey /listsize=999
    
  2. Windows 터미널 열기설정

  3. "명령 프롬프트" 프로필을 선택합니다.

  4. 아래의일반적인탭(첫 번째 탭)에서명령줄.

    에서:

    %SystemRoot%\System32\cmd.exe
    

    에게:

    %SystemRoot%\System32\cmd.exe /k %UserProfile%\winterm_start.cmd
    

    (물론 파일 이름/위치를 변경한 경우 조정)

이제 열어보는 모든 새 명령 프롬프트 프로필에 확장된 명령 기록( F7지원 포함)이 있어야 합니다.

나는 다음 100줄을 붙여넣어 이것을 테스트했습니다.

echo 1
echo 2
...

... Windows 터미널의 명령 프롬프트에없이이 변경으로 인해 가장 최근의 50개 명령만 기억되었습니다. 이 변경으로 인해 모든 항목(물론 그 이상)도 기억되었습니다.

관련 정보