내 RC 2021의 내용

13200 단어 shellzshterminalbash
.zshrc 파일 둘러보기에 오신 것을 환영합니다! 내 개발자 게임을 향상시키는 데 사용하는 다양한 도구를 살펴보는 것이 재미있을 것이라고 생각했습니다.

내 전체 구성을 보려면 GitHub에 모든 설정 파일을 보관합니다. https://github.com/unitehenry/config

내가 사용하는 도구



구성에 대해 알아보기 전에 개발자로서 작업 속도를 높이는 데 사용하는 도구는 다음과 같습니다.
fzf | Fuzzy File Finder
pandoc | Pandoc Document Converter
brew | MacOS Package Manager

변수




# EDITOR
export EDITOR="vi";
export VISUAL="vi";

# iCloud Directory
export DOCS="/Users/henryunite/Library/Mobile Documents/com~apple~CloudDocs";

# Work Directory
export WORK="/Users/henryunite/Projects/bicycletransit";


매우 간단하지만 다음과 같이 사용합니다.
  • vim에서 열리는 기본 편집
  • 모든 개인 파일을 보관하는 데 사용하는 iCloud 디렉토리 참조
  • 모든 작업 리포지토리, 메모, 프로젝트를 보관하는 위치에 대한 빠른 참조

  • 신임장




    # Credentials Fetcher
    function username() {
      export PASS_BACK_PATH=$(pwd);
      cd $DOCS/passwords;
      echo $(decrypt-file $(fzf) | grep "Username:" | cut -d ":" -f2) | pbcopy;
      cd $PASS_BACK_PATH && unset PASS_BACK_PATH;
    }
    
    function password() {
      export PASS_BACK_PATH=$(pwd);
      cd $DOCS/passwords;
      echo $(decrypt-file $(fzf) | grep "Password:" | cut -d ":" -f2) | pbcopy;
      cd $PASS_BACK_PATH && unset PASS_BACK_PATH;
    }
    


    크롬 확장 프로그램, 키체인, 비밀번호에 접근할 수 있는 모든 방법이 있습니다. aes-256-cbc 암호 해독 도구를 사용하여 액세스할 수 있도록 클라우드 저장소에 있는 암호를 개인적으로 암호화합니다.

    파일 포맷




    ## Code Formatter
    function format-file() {
      export FILENAME="$(basename $@)";
      export EXTENSION="${FILENAME##*.}";
    
      if [ $EXTENSION = 'py' ]
      then
        yapf --in-place $@;
        return 0;
      fi
    
      if [ $EXTENSION = 'php' ]
      then
        php-cs-fixer fix $@;
        rm .php_cs.cache;
        return 0;
      fi
    
      npx prettier --write --single-quote $@;
    
      unset FILENAME; unset EXTENSION;
    }
    


    내가 일상적으로 사용하는 언어를 처리하는 파일 포맷터. JSON, YAML 및 마크다운을 포함한 대부분의 파일 유형에 대해 작업을 완료합니다.

    맞춤법 검사




    ## Spellcheck
    function spellcheck-file() {
      npx spellchecker-cli --files $@;
    }
    


    저만큼 마크다운 문서를 작성할 때 파일의 철자를 쉽게 검사할 수 있는 방법을 원할 것입니다.

    무엇을 커밋




    ## What the Commit
    function wtf() { git commit -am "$(curl http://whatthecommit.com/index.txt)"; }
    


    이것은 속임수이지만 파일 변경 사항을 커밋하고 커밋 메시지에서 무엇을 말해야 할지 모르는 경우 what the commit은 이상한 커밋 메시지를 얻을 수 있는 재미있는 리소스일 뿐입니다.

    컨닝 지




    ## Cheat
    function cheat(){ curl https://cheat.sh/"$@"; }
    


    CLI 도구를 사용하는 경우가 많은데 특정 작업을 수행하는 데 필요한 간단한 명령과 옵션이 기억나지 않습니다. 다른 CLI 도구를 참조하는 쉬운 방법을 찾고 있다면 cheat.sh을 확인하십시오.

    문서 생성




    ## Generate Markdown
    function generate-doc() { 
      cp -rf . /tmp;
      if [ -n "$2" ]
      then
        pandoc -s $1 -c $2 -o "/tmp/$1.html";
      else
        pandoc -s $1 -o "/tmp/$1.html"; 
      fi
      open "/tmp/$1.html";
    }
    
    ## Generate Slide
    function generate-slide() {
      # https://revealjs.com/config/
      pandoc -t revealjs \
        -V progress="false" \
        -V navigationMode="linear" \
        -V transition="none" \
        -s $1 -o "/tmp/$1.html";
      cp -rf . /tmp;
      open "/tmp/$1.html";
    }
    


    저는 항상 마크다운을 사용하여 문서를 작성하지만 동료에게 문서를 보내거나 마크다운으로 작성된 내용이 포함된 슬라이드를 제시해야 하는 경우 pandoc을 사용하여 이러한 중간 파일 형식을 생성합니다.

    내 문서를 멋지게 만들고 싶거나 마크다운 파일을 보기 위한 깔끔한 방법이 필요할 때 CSS를 활용하면 정말 좋습니다.

    파일 암호화




    ## Encrypt : aes-256-cbc
    function encrypt-file() {
      if [ -z $@ ]
      then
        echo -n "Enter Encrypt Phrase: "; read -s ENCRYPTINPUT; echo "\n";
        echo $ENCRYPTINPUT | openssl enc -aes-256-cbc;
        unset ENCRYPTINPUT;
      else
        openssl enc -aes-256-cbc -in $@;
      fi
    }
    
    ## Decrypt : aes-256-cbc
    function decrypt-file() {
      if [ -z $@ ]
      then
        openssl enc -d -aes-256-cbc;
      else
        openssl enc -aes-256-cbc -d -in $@;
      fi
    }
    


    민감한 정보가 포함된 파일을 빠르게 암호화하고 해독하는 방법이 있다는 것은 좋은 일입니다.

    홈브류




    ## Homebrew Install Script
    function install-homebrew() { /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"; }
    


    이것은 웹 사이트에서 설치 스크립트를 복사하여 붙여넣지 않고 설치homebrew만 하려는 경우 내 구성에 있습니다.

    설정해야 하는 새 Mac이 있는 경우 설정이 훨씬 쉬워집니다.

    버전 관리자




    source ~/.nvmrc;
    source ~/.rvmrc;
    


    저는 nvmrvm를 사용하여 노드 및 루비 설치를 관리하고 있습니다. 그들은 기본 rc 파일에 로드하기 위해 rc 스크립트를 추가합니다. 이 파일은 제가 고유한 지정된 파일로 추출하고 마지막에 로드합니다.

    좋은 웹페이지 즐겨찾기