Vim에서paiza의 준비를 잘 하고 차근차근 열심히 하겠습니다.

4363 단어 VimBash단말기tech

이 글의 독자 대상


  • 점설치와 입문서로 기본적인 학습을 마쳤기 때문에paiza로 문제를 해결하고자 하는 사람

  • vim 연습도 겸하고, 어쨌든 최저 +α준비 작업을 하고 싶은 사람.
  • ※ Atcoder와 ICPC 등 경기 프로그래밍 대회를 시작하려는 사람에게는 수준이 낮은 이슈일 수 있습니다.
    ※ 이번엔 PHP로 작성됐으며, 다른 언어도 거의 동일합니다.

    우선 실행 파일과 표준 입력용 파일을 준비합니다


    Desktop으로 이동하여 paiza라는 디렉터리를 만듭니다.
    ※ 목록 이름은 마음에 드는 이름 k입니다.
    ※ Desktop을 사용하지 않고 Doocuments 산하로 제작해도 문제 없습니다.
    $ cd ~/Desktop
    $ mkdir paiza
    
    ※ cd는change directory를 통해 디렉터리를 이동하는 명령, mkdir는make directory를 통해 디렉터리를 만드는 명령
    paiza 디렉터리에서 실행 파일과 표준 입력 파일을 만듭니다.
    $ cd paiza
    $ touch main.php input.dat
    
    ※ 터치는 원래 서류 작성 명령이 아니었지만, 이번에는 설명을 생략합니다.자세한 사항이 궁금하신 분들은 참고Linux 명령 세트 터치해주세요.
    겸사겸사 말씀드리겠습니다.데이터 파일의 데이터는 IT용어사전/e-Words에서 설명한 바와 같이'데이터'(data)의 줄임말로 프로그램이 아닌 데이터를 저장하는 것을 의미한다.

    [앞부분] 최대한 간단히vim을 통해서 진행을 하도록 하겠습니다.


    vim을 열 때 "스페이스 + e"에서 설정한 조개 스크립트를 실행하십시오.
    vimrc 편집해.
    
    //ホームディレクトリに移動
    $ cd ~/
    //.vimrcを編集
    vim .vimrc
    
    .vimrc에서 다음과 같이 시험해 봅시다.
    set number
    " exec
    nnoremap <space>e :wa \| !echo -e '\e[38;5;0m\e[48;5;51m --- exec ---  \e[m';./exec.sh<cr>
    
    vim을 이렇게 열 때'space+e'로 exec를 진행합니다.sh(이따가 할게요! 안심하세요!)에서 조개 껍질 스크립트를 실행합니다.
    또한 set number 덕분에vim의 줄 번호를 자동으로 입력할 수 있습니다.

    [후반] 간단하게 vim을 통해서 할 수 있게.


    다음은 exec.sh의 내용을 편집합니다.
    //paizaディレクトリに移動
    $ cd ~/Desktop/paiza
    //exec.shを編集
    $ vim exec.sh
    
    main.phpにinput.데이터를 입력하고 실행한 다음 결과를 작성하면 ^a 파일의 스크립트에 기록됩니다.
    php main.php < input.dat | tee ^a
    
    ※ 더 정확히 말하면tee명령은'표준출력+파일쓰기'양방면의 임무를 맡는다.tee를 사용하면 파일에 쓸 수 있을 뿐만 아니라 현장에서 출력을 볼 수 있습니다.자세한 내용은 터미널man tee에서 읽어 주십시오.

    간단한 프로그램으로 실험을 시도해 보세요!


    그럼 간단한 프로그램을 써서 순조롭게 작동할 수 있는지 시험해 봅시다.
    1
    5
    6
    
    //標準入力を受け取る
    $first_data = fgets(STDIN);
    echo $first_data . PHP_EOL;
    
    $second_data = fgets(STDIN);
    echo $second_data . PHP_EOL;
    
    $third_data = fgets(STDIN);
    echo $third_data . PHP_EOL;
    
    main.php를 편집할 때 "space+e"를 누르십시오.
    1, 5, 6을 순서대로 출력해야 한다.
    같은 디렉터리에 ^a 파일이 있을 것입니다.내용을 확인한 후 데이터는 출력 결과와 같다.
    다음은 아웃풋.같은 디렉터리에서dat라는 파일을 만들어 보세요.
    일단 아웃풋.데이터의 내용은 ^a와 같다.
    $ ls
    exec.sh main.php input.dat ^a
    $ view ^a
    
    ->^aの中身は下記のようになっているはず!
    1
    5
    6
    
    는 아래와 같다^a와output.데이터의 내용을 비교하다.
    차이가 없으니까 아무것도 안 나올 거야.
    1
    5
    6
    
    다음 아웃풋.dat의 세 번째 줄과^a만 다른 수치...
    $ cd ~/Desktop/paiza
    $ diff ^a output.dat
    
    이번 세 번째 줄의 오류가 나에게 알려주었다!!!
    1
    5
    7
    
    수고하셨습니다!이제 페이즈의 득점 문제를 해결할 준비가 됐습니다!수고하셨습니다!

    그 다음



    tmux분할 단말기의 화면을 가져오고iTerm2반투명한 꾸미기 좋은 환경을 구축하는 등 즐기세요!
    =>iTerm2에 관해서 필자도 [iTerm2 입문] 개발 효율을 높이는 기본 기능/추천 설정을 저렴한 얇은 판 Like에 요약에 입문 기사를 썼으니 꼭 참고하시기 바랍니다.
    ※ 이상은 필자 iTerm2의 커팅입니다.많은 사람들이 역에서 환경이 더 좋으니 참고하세요.

    [마지막] 참고가 될 수 있는 사이트가 될 것 같아요.


  • AOJ-ICPC
    페이자에 비하면 좀 답답해요 (최저 등급 문제도 B급 이상?)다른 사람의 답을 볼 수 있어서 추천합니다.

  • AtCoder Problems
    Atcorder의 과거 질문 사이트, Atcorder 등록 후 여기서 간단한 질문으로 빈칸을 채워주세요.(필자도 정진 중입니다.)

  • vimututor로 vim력을 높이다
    vim를 연습하고 싶은 분들은 위에서 소개한 vim 레슨부터 추천합니다.
  • 좋은 웹페이지 즐겨찾기