터미널 환경에서 일하기
출근하면 터미널을 띄우고 화면을 위아래로 나눈다. 위에는 vim session을 불러와 todo, work log, 진행 중인 업무 상세 리스트를 띄운다. 세 가지 모두 항상 확인하면서 반영하면 좋은 것들인데, 한 창에 다 보이니 잊지 않고 작업을 한다. vimwiki를 설치하고 checkbox로 관리한다.
아래에는 watch로 업무 상세 리스트의 진행 상황을 dashboard 형태로 본다. 오늘 작업 예정 항목을 보고 작업을 진행하고, 완료 표시하면 진행률이 업데이트된다.
이렇게 만들어놓으니 todo, work log 관리가 무척 편리해졌고, 모든 내용을 빠르게 확인하고 반영할 수 있게 됐다.
terminal로 작업을 하다 보니 다 terminal로 하고 싶어진다. dotFile을 백업하도록 만들고 git commit도 자동으로 하도록 했다. 최종 동기화 파일 코드는 아래와 같다.
dotfile
dotfile을 백업하는 코드를 만들었다. 내가 사용하는 모든 환경에 ~/dotfile이라는 디렉터리를 만들면 여기에 .zshrc, .vimrc 파일을 백업한다. 새로운 환경을 만들게 되면 dotfile을 clone 한 후에 디렉터리 안에 있는 .zshrc, .vimrc 파일을 $HOME 디렉터리로 복사해주면 된다.
#!/bin/bashcp $HOME/{.zshrc,.vimrc} ~/dotfile/ && cd ~/dotfile/gs="$(git status | grep -i "modified")"
git add -u;
git commit -m "New backup `date +'%Y-%m-%d %H:%M:%S'`";
git push
git auto commit
dotfile을 만들었더니 git도 자동으로 동기화하고 싶어진다. 내가 신경 쓰지 않아도 작동하도록 하고 싶다. 어차피 내 개인 공간이기 때문에 커밋로그는 신경 쓰지 않도록 한다. 아래는 자동 git 동기화 파일이다. 내가 참고한 글은 shell script를 활용해 코드 자동으로 push 하기 이다.
#!/bin/bashcd ~/wiki/watch -n 10 -g -d git status -s
git add -A;
git commit -am "$(git status -s)"git pushcp $HOME/{.zshrc,.vimrc} ~/dotfile/ && cd ~/dotfile/gs="$(git status | grep -i "modified")"
git add -u;
git commit -m "New backup `date +'%Y-%m-%d %H:%M:%S'`";
git push
link
vimwiki를 이용하고 있는데 이동 중에는 github 사이트에서 내용을 읽어본다. 이때 vimwiki의 링크와 markdown의 링크 방식이 달라 불편하다. 어떻게 할까 고민을 하다가 아래 코드처럼 작성하고 있다.
[[linkDocument]] # vimwiki 링크 방식
[linkDocument](/linkDocument.md) # markdown 방식
[[linkDocument]](/linkDocument.md) # 합쳐서 작성
auto index
wiki를 구성하면 index를 잘 정리하는 게 중요하다. vimwiki는 자동으로 index를 생성해주는 방법이 없는 것 같아서 아래 코드를 만들고, sync 스크립트가 아래에 추가했다. 이제 index.md 파일에 최근 변경한 순서대로 리스트가 정렬된다.
ls -alt --time-style='+%Y-%m-%d %H:%M' *.md | awk '{print "* ["$6, $7"]", "[["substr($8,0,length($8)-2)"]]" "(/"$8")"}' > index.md
git add -A;
git commit -am "$(git status -s)"
참고 사이트