경쟁 프로그래밍을 위한 Vim

소개하다.


Vim은 경쟁 프로그래밍에 사용할 때 괜찮은 텍스트 편집기입니다.어쨌든, 너는 그것을 좋아하거나, 코드를 작성할 때마다 많은 시간을 낭비하기 때문에 그것을 버릴 수 있다.단, 관건적인 귀속과 플러그인을 포함한 떳떳한 설정을 하면 Vim을 사용하는 속도를 높일 수 있습니다.나는 개인적으로 처음부터 그것을 사용한 적이 있는데, 지금까지 조금도 후회하지 않는다.이것은 완벽하고 유쾌한 경험이었다.나는 CP 여행에서 C++를 사용한 적이 있다. C++도 매우 유사하지만, C++는 더 많은 라이브러리 지원이 있어 상대적으로 쓰기가 쉽다.
초반에는 빔을 이용한 CP가 도전적이지만 일치만 유지하면 반대편에서 이채를 띠게 된다.여기서, 나는 경쟁 프로그래밍의 작업 절차를 강화하기 위해 Vim에 포함된 빠른 키 연결과 플러그인을 제공할 것이다.

빠른 템플릿 코드


우선, 템플릿 코드를 위한 키 귀속을 만듭니다.작성해야 할 코드에 키를 비추기만 하면 됩니다. 이 코드들은 Vim 명령과 통합됩니다.
C++
nnoremap cpf i#include<iostream><Esc>ousing namespace std;<Esc>o<CR>int main(){<Esc>o<Esc>oreturn 0;<Esc>o}<Esc>kki
C:
nnoremap cp i#include<stdio.h><Esc>o<CR>int main(void){<Esc>o<Esc>oreturn 0;<Esc>o}<Esc>kki
Java의 경우:
nnoremap <C-j> iclass <ESC>"%pxxxxxa {<ESC>opublic static void main(String args[]){<Esc>o<Esc>o}<Esc>o}<Esc>kki<Tab><Tab>
이제 프로그래밍 언어를 위한 매크로를 만들 수 있습니다.파이썬은 템플릿 코드가 있어도 C/C++/Java/등과 비교하면 매우 작다고 생각하지 않습니다. 이 코드를 키 맵에 포함할 수 있습니다.지도를 설명해 드릴게요.
자바 예시를 보십시오. nnoremap 는 맵 명령으로 비귀속과 맵 모드 등 속성을 가지고 있습니다.이런 상황에서 n는 정상적인 모드의 비귀속 행위를 대표한다. 즉, 비귀속은 정상적인 모드에서 촉발하고 nore는 비귀속 행위를 대표한다.더 읽으면 나Vim-keymapping Guide의 글을 읽을 수 있다.지도 자체는 좌우 두 부분으로 마치 집행할 키와 명령의 지도 같다.어떤 키든지 터치할 수 있습니다. 저는 Ctrl + J 또는 <C-j> 를 사용해서 지도를 활성화했습니다.이 명령은 매우 길지만, 우리는 그것을 더욱 작은 블록으로 분해할 것이다.
  • i부터 우리는 삽입 모드에 들어갔다. 우리는class를 입력하고 <ESC>키를 눌렀다. 이것은 자바의 클래스 이름을 처리하는 특수한 기술이다. 왜냐하면 이것은 파일 자체의 이름이기 때문이다.우리는 % 레지스터를 사용하여 현재 파일의 전체 이름 (확장자) 을 복사하기 때문에 .java 부분을 삭제해야 합니다. 그러면 a를 누르고 커서 앞에 있는 삽입 모드로 들어가면, 다섯 개의 x를 보고 삭제할 수 있습니다.그리고 클래스 삽입 { 을 위해 다시 escape를 누르면 정상 모드로 돌아갑니다.
  • 우리는 o를 입력하여 삽입 모드에 들어가서 다음 줄에 들어가고 public static void main(String args[])를 입력한다. 이것은 전의와 다음 줄에 들어가는 것과 같다.
  • 마지막으로 우리는 kk를 클릭하여 위로 두 번 이동하고 i를 사용하여 삽입 모드에 들어가고tab을 두 번 클릭하면 정확한 축소를 얻을 수 있습니다.
  • 따라서 선택한 언어와 관련된 다른 내용과 미리 정의된 상수와 함수를 취향에 따라 추가할 수 있습니다.

    키를 통해 실행 코드 바인딩


    템플릿 코드를 처리한 후에는 Vim에서 코드 파일을 구축하고 실행할 수 있습니다.Vim에서 코드를 자동으로 컴파일하고 실행할 수 있도록 사용자 정의 키 연결을 더 추가할 수 있습니다.
    우리는 ! Vim의 언어에 컴파일러나 해석기 컴파일러 코드를 사용할 수 있습니다. 이것은 터미널에서 온 명령을 실행하고 % 즉 현재 파일 이름, 출력 파일 %:r, 즉 C/C++/자바에서 확장자가 없는 현재 파일 이름을 전송합니다.
    컴파일-> c++ hello.cpp -o helloWindows에서 실행->%:r./%:r Linux/macOS용
    우리는 && 이 두 명령 (compile and run) 을 사용하여 내용을 더욱 뚜렷하고 치밀하게 했다.
    C++
    nnoremap cpp :!c++ % -o %:r && %:r<CR>
    
    C 에 대해
    nnoremap c, :!gcc % -o %:r && %:r<CR>
    
    Java의 경우
    nnoremap ,j :!javac % && java %:r<CR>
    
    Python의 경우
    nnoremap py :python %<CR>
    
    마찬가지로, 사용자가 사용하는 모든 프로그래밍 언어에 적용할 수 있습니다.또한 Linux와 Windows에서 코드를 컴파일하는 데는 약간의 차이가 있을 수 있으므로 어느 운영체제에서 어떤 명령을 사용하는지 주의하십시오.

    위의gif는 이 명령과 키를 어떻게 사용하여 프로세스를 실행하고 구축하는 작업 흐름을 더욱 쉽고 원활하게 하는지 보여 줍니다.

    터미널을 열고 코드를 컴파일하고 실행합니다


    우리는 터미널을 사용하여 코드를 컴파일하고 실행할 수 있다. 만약 당신도 이렇게 하기를 원한다면.Vim은 매우 좋은 터미널 편집기입니다. Vim에서 터미널을 열 수 있습니다.:term를 입력하여 기본 끝을 수평으로 분할할 수 있습니다.터미널/케이스 이름을 현시적으로 입력해서 열 수 있습니다. 예를 들어 :term bash bash 열기, :term powershell PowerShell 열기, :term zsh zsh 열기 등입니다.이것은vim가 제공하는 매우 좋은 실용 프로그램이다.<C-w> 또는 Ctrl+W를 두 번 사용하여 창 사이를 전환하거나 HJKL 키와 <C-w>를 사용하여 쉽게 이동할 수 있습니다.Vim 및 통합 터미널에 대한 자세한 내용은 this article를 참조하십시오.
    이제 터미널 세계를 탐색하고 명령을 실행할 수 있습니다.

    플러그 인


    Vim에 대해 말하자면, 많은 플러그인은 당신이 상상할 수 있고 상상할 수 없는 모든 것을 위해 설계된 것이다.플러그인 관리자를 사용하여 이 플러그인을 관리하거나 수동으로 관리할 수 있습니다.세 개의 유명한 플러그인 관리자 중 하나를 선택할 수 있습니다. 예를 들어 Vim-Plug, Vundle 또는 Pathogen.
    이 플러그인 관리자를 사용하면 다음과 같은 유용한 플러그인을 설치할 수 있습니다.

    책벌레나무


    NERDTree는 초보자나 경쟁적인 프로그래밍에 종사하는 사람들에게 좋은 플러그인이다. 왜냐하면 시간도 절약되기 때문이다.GitHub 문서에서 NERDTree 플러그인을 설치할 수 있습니다.NERDTree 플러그인 구성에 대한 자세한 내용은 this article에서 확인할 수 있습니다.이 플러그인은 현재 디렉터리의 파일과 폴더 구조를 도형으로 표시할 수 있습니다.위의 기사에서 제공한 사용자 정의 설정을 사용하여 자동 리셋 및 자동 켜기/끄기까지 기능을 확장할 수 있습니다.
    설치와 설정 후 기본적으로 명령:NERDTree을 사용하여 NERDTree를 열 수 있습니다.원하는 대로 사용할 수 있도록 키 귀속과 단축키를 만들 수 있습니다.

    자동 완성 및 LSP


    경쟁적인 프로그래밍과 관련이 있을 때, 자동 완성은 매우 중요하다. 왜냐하면 당신이 알고 있는 것에 있어서 시간을 절약하고, 응용 프로그램이 당신을 위해 그것을 처리하도록 해야 하기 때문이다.우리는 이 특정 임무의 LSP가 있는 자동 플러그인도 있습니다.LSP는 자동 완성에 대한 보다 정확한 예측을 제공할 수 있을 정도로 훌륭합니다.LSPunofficial plugin for vim를 통해 자세한 내용을 확인할 수 있습니다.
    일반적인 플러그인, 예를 들어AuotoComplPop도 괜찮고 초보자 체험을 제공할 수 있습니다.
    경쟁적인 프로그래밍은 너무 많은 플러그인을 필요로 하지 않고 일부 자동 완성과 파일 시스템이 있는 좋은 인터페이스만 있으면 기본 설정을 할 수 있다. 그러나 이것은 목적이 아니다. 너는 자신의 수요와 기능에 따라 확장할 수 있다.Vim은 사용자 정의에 매우 뛰어납니다.

    이와 같이 C++에 대해 저는 키맵의 사용을 보여 주었고 Vim 내부 단말기의 사용도 보여 주었습니다. 이것은 완벽한 체험으로 선택과 선호에 따라 단말기를 집적하고 사용할 수 있습니다.

    결론


    따라서 본고에서 우리는 서로 다른 언어의 사용자 정의 키 맵과 플러그인을 추가하여 경쟁적인 프로그래밍에 Vim을 설정할 수 있다.이것은 완전한 안내서가 아니다. 나는 여기에 모든 언어의 설정을 포함할 수 없다. 물론, 댓글, GitHub, 트위터, 메일에서 언제든지 나에게 물어볼 수 있다. 나는Vim에서 프로그래밍 언어를 설정할 수 있다.읽어주셔서 감사합니다.
    즐거움의 활력과 즐거움의 코딩:)

    좋은 웹페이지 즐겨찾기