~/.spacemacs 파일을 열고 (custom-set-variables 라고 되어 있는 부분을 찾는다. 
그 부분을 아래와 같이 바꿔주면 된다. 

(custom-set-variables 
;; custom-set-variables was added by Custom. 
;; If you edit it by hand, you could mess it up, so be careful. 
;; Your init file should contain only one such instance. 
;; If there is more than one, they won't work right. 
'(spacemacs-theme-custom-colors 
  '((bg1 . "#001628") 
    (act1 . "#001628") 
    (bg2 . "#001628") 
    (comment-bg . "#001628"))) 
'(package-selected-packages

이와 관련된 자세한 내용은 github.com/nashamri/spacemacs-theme 에서 확인할 수 있다.
linux 에서 권리자 권한 실행 (sudo) 일 때 시간이 오래 걸리는 경우는 /etc/hosts 파일을 열어서 127.0.0.1 오른쪽을 hostname 으로 바꿔주면 된다. hostname 은 command line 에서 hostname 을 치면 알아낼 수 있다.
MacVim 을 실행한 후 메뉴에서 Edit - Startup Settings 를 선택한 후, 마지막 줄에 다음을 추가한다.

if has("gui_running")
       autocmd VimLeave * :!open -a iTerm.app 
endif

macvim 에서 spacevim 을 사용하고 있는데, spacevim 설정 파일에서 줄간격을 조정해도 반영이 되지 않았다. 이 경우 macvim 의 메뉴 중 Edit - Startup Settings 를 선택하여 맨 아래에 set linespace=2 를 삽입하면 된다.
spacevim 에서 "vimproc_linux64.so" not found 라는 에러메시지가 뜰 때 대처법, 콜론 누르고 다음을 입력

:VimProcInstall

또한 relative line number 를 끄는 방법은 설정 파일 (spc-f-v-d) 에 다음을 추가한다.

relativenumber = false
c 언어에서 indent width 를 4로 설정하는 법
";; Do not write anything~" 바로 윗 줄에
(setq c-default-style "stroustrup") 
를 추가해주면 됨 

또한 line number 를 표시해주고 싶으면 
"dotspacemacs-line-numbers" 를 찾아서 false 부분을 t 혹은 'relative 로 바꾸면 됨
한국의 정부24(구 민원24) 사이트에서 민원서류를 발급받으려면 발급가능한 프린터가 있어야 한다. 한국에서 판매되고 있는 프린터는 대부분 발급 가능한 프린터로 등록이 되어 있지만, 캐나다에서 판매되고 있는 프린터는 대부분이 등록이 되어 있지 않아서 민원 서류 발급이 불가하다고 나온다.

이런 사실을 모르고 아무 생각없이 엡손 프린터를 구매했다가 발급 불가의 벽을 넘지 못하고 다시 환불하는 사태를 경험하게 되었다. (묻지도 따지지도 않고 환불은 참 잘 해준다.)
그리고 나서 캐나다에서 구입가능한 민원서류 발급 가능 프린터를 써치하던 중 canon 의 pixma mx 492 라는 제품으로 민원서류를 프린트했다는 글을 발견하여 바로 walmart 로 달려가 프린터를 구매했다. (다른 곳은 모두 재고가 없다고 나왔으나 이상하게도 walmart 만 재고가 있다고 나와서 속는셈 치고 달려갔더니 전자 매장에 무려 3대나 진열되어 있었다.) 원래는 100달러가 넘는 제품이지만 왕창세일가 49.99 달러에 구입했다.

집에와서 설치를 하고 민원 발급을 시도해보니 발급가능한 프린터라고 나왔다. 프린트도 깔끔하게 잘 되었다. 또한 가족관계증명서, 기본증명서 등등은 정부24가 아닌 대법원 사이트에서 발급받아야 하는데 이 또한 아무 문제없이 발급받을 수 있었다. 국민연금공단의 가입내역확인서도 발급가능했다.

결론은 2019년 3월 현재 캐나다에서 구입할 수 있는 민원서류 발급 가능 프린터는 canon pixma mx 492 라는 것이다.
유튜브의 기본 채널을 브랜드 채널로 옮기는 작업을 실행하였다.
채널 이름을 내 맘대로 바꿀 수 있다는 것에 혹해서..

채널 이전을 신청하면 예전에 쓴 나의 댓글들이 모두 삭제된다는 경고를 봤으나 뭐 별일 있겠나 싶어 이전 버튼을 눌렀는데, 이후로 유튜브 스튜디오에 접속이 안되는 것은 물론이고 나의 채널은 존재하지 않는 채널이라고 나오기 시작했다.
채널 이전은 10분 정도가 소요될 것이라고 나온 것을 본기는 한 것 같은데, 몇 시간이 지나도록 내가 볼 수 있었던 것은

"Oops! Something went wrong."

이었다. 그동안 내가 해 온 일들이 물거품이 되는 것이 아닐까 걱정이 되기 시작했다. 검색을 하여 쿠키를 삭제도 해보고, 브라우저를 새로 깔아보기도 하고, 하라는 것은 다 해봤지만 채널이 복구되지 않았다. 급기야 유튜브 말고 다른 동영상 사이트를 찾아볼까 라는 생각까지 했었다.
그러다가 어떤 분이 자기도 똑같은 상황을 겪었다며 24시간만 기다려 본 다음에 다시 접속해 보라는 글을 남기신 것을 보게 되었다. 마음은 점점 조급해졌지만 되는 것은 없고, 일단 기다려 보기로 했다.

하룻밤을 보내고 잠에서 깨어나니 약 32시간 정도가 지나 있었고, 다시 유튜브에 접속하니 거짓말처럼 완벽하게 정상작동하고 있었다. 지난 하루 동안의 나의 의미 없는 짓들을 생각하니 열이 받기도 하고, 나의 조급함과 멍청함에 화가 나기도 했다.

이런 글을 남기는 이유는 혹시 나와 같은 상황을 겪으면서 조급함에 해 볼 수 있는 것을 다 해보는 분들을 위해 그냥 24시간만 기다리면 된다는 경험을 공유하기 위해서다.
spacevim 을 설치하고 나면 기본 indent width 가 2 로 설정되어 있다.
이 설정을 바꾸려면 .SpaceVim.d 디렉토리에 있는 init.toml 파일을 열어서
[options] 아래쪽에 다음을 추가해 주면 된다.

default_indent = 4

이렇게 하면 indent width 가 4로 되는 것을 확인할 수 있다.
그런데 이상하게 중괄호를 열면 자동으로 닫힘 중괄호가 생기고, 이 상태에서 엔터키를 누르면 자동으로 indent 가 되지 않는다. 이것을 고치려면

[[layers]]
name = 'autocomplete'

밑에 다음을 추가해 주면 된다.

auto-completion-return-key-behavior = "smart"
먼저 원하는 colorscheme 파일을 다운로드 받아서 ~/.SpaceVim.d/colors 디렉토리로 옮긴다.
그리고 ~/.SpaceVim.d 디렉토리 아래에 있는 init.toml 파일을 다음과 같이 수정한다.

먼저 파일의 마지막 부분에 다음을 추가한다.

[[layers]]
name = 'colorscheme"

그리고 위 쪽의 [options] 부분에서 colorscheme 을 바꿔주면 된다.

[options]
colorscheme = "molokai"
 

대개 우분투의 어플리케이션을 시작하면 독(Dock)에 아이콘이 나타나고, 아이콘을 우클릭하면 어플리케이션을 favorite 으로 추가할 수 있는 메뉴가 나타난다. 그런데 쉘 스크립트로 실행하는 어플리케이션 등과 같은 경우에는 이 메뉴가 나타나지 않아 추가하고 싶어도 그럴 수 없는 경우가 발생한다. 이런 경우 해결 방법은 다음과 같다.

오늘 firefox quantum 이 나와서 다운로드를 받았다.
다운로드 받고 압축을 풀면 firefox 라는 디렉토리가 생기는데, 이 디렉토리를 /usr/local/ 디렉토리 밑으로 옮겼다.

이제 ~/.local/share/applicaions/ 디렉토리 밑에 firefox.desktop 이란 파일을 생성하여 다음과 같은 내용을 추가하고 저장한다.

[Desktop Entry]
Name=firefox
Comment=firefox web browser
Exec=/usr/local/firefox/firefox
Icon=/usr/local/firefox/browser/icons/mozicon128.png
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;browser;

마지막으로 이 파일이 실행 가능하도록 퍼미션을 추가해주면 된다.

$ chmod +x ~/.local/share/applications/firefox.desktop

이러면 독에 추가할 수 있게 된다.
리눅스에서 VMWare Workstation 14.0 을 이용하여 새로운 virtual machine 을 생성하려다 보니 "not enough physical memory" 라는 에러 메세지가 뜨면서 더 이상 진행이 안된다.

이 경우 해결 방법은 다음과 같다.

터미널을 열고차례대로 다음을 입력한다.

sudo su
cd /tmp
cp /usr/lib/vmware/modules/source/vmmon.tar .
tar xf vmmon.tar
rm vmmon.tar
wget https://raw.githubusercontent.com/mkubecek/vmware-host-modules/fadedd9c8a4dd23f74da2b448572df95666dfe12/vmmon-only/linux/hostif.c
mv -f hostif.c vmmon-only/linux/hostif.c 
tar cf vmmon.tar vmmon-only
rm -fr vmmon-only
mv -f vmmon.tar /usr/lib/vmware/modules/source/vmmon.tar 
vmware-modconfig --console --install-all

이후 재부팅 하면 문제가 해결된다.
이것 때문에 무지하게 불편하다고 생각했었는데, 역시 해결책이 있었다.

터미널에서 아래처럼 입력하고 엔터키 눌러 주신 다음, VS Code 를 재시작하면 된다.

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
수학 문제를 입력하다보면 빈칸 채우기 문제를 종종 만날 수 있고, 그 빈칸은 항상 $$\boxed{\;\;(가) \;\;\;}$$ 처럼 박스로 표시되게 된다. 이와 같이 mathjax 에서 박스 안에 텍스트를 넣는 방법은 다음과 같다.

\boxed{넣고 싶은 텍스트}

위와 같이 하면 박스로 둘러싸인 텍스트를 만들 수 있다.

1. Could have + past participle

1-1 과거에 가능한 일이었거나, 혹은 할 수 있는 일이었지만, 하지 않았다.
  • I could have stayed up late, but I decided to go to bed early.
    ​ (늦게까지 자지 않고 버틸 수 있었지만, 일찍 자기로 했었다. )
  • They could have won the race, but they didn’t try hard enough.
    (경기에서 이길 수 있는 실력이었지만, 최선을 다하지 않았다.)
  • He could have studied harder, but he was too lazy and that’s why he failed the exam.
    (공부 할 수 있는 시간이 충분했었지만, 그가 게으른 바람에 시험에 떨어졌다.)

1-2 과거에 그렇게 원했던 일이었지만, 불가능 했었다. (couldn’t have + p.p.)
  • I couldn’t have arrived any earlier. There was a terrible traffic jam.
    (차가 너무 막혀서 더 일찍 오는 것은 불가능 했었다.)
  • He couldn’t have passed the exam, even if he had studied harder. It’s a really, really difficult exam.
    (시험이 완전 어려워서 그가 그렇게 열심히 공부 했음에도 불구하고 시험에 떨어졌다.)

1-3 과거에 일어날 수도 있었던 일에 대한 추측, 예상
  • Why is John late?
    • He could have got stuck in traffic. (= He might have got stuck in traffic.)
      (차가 밀려서 늦었겠죠.)
    • He could have forgotten that we were meeting today.
      (오늘 모임을 잊어버려서 늦었을 거에요.)
    • He could have overslept.
      (늦잠 자서 늦었겠죠.)


2. Should have + past participle

2-1 좋은 생각이었지만, 그렇게 하지 않았다. (과거의 일에 대해 남에게 충고하거나, 자신에게 후회하는 상황)
  • I should have studied harder.
    (공부를 열심히 하자 않아서 결과가 좋지 못한 것에 대해서 지금 후회 막심하다.)
  • I should have gone to bed early.
    (어제 늦게 자는 바람에 지금 몹시 피곤하다.)
  • You should have called me when you arrived.
    (니 전화를 기다리고 있었는데, 니가 전화하질 않아서 내가 걱정했잖아.)
  • John should have left early, then he wouldn’t have missed the plane.
    (존이 좀 더 일찍 출발했더라면 비행기를 놓치지 않았을텐데. )

2-2 좋지 않은 생각이었지만 그렇게 했다. (shouldn’t have + p.p.)
  • I shouldn’t have eaten so much cake!
    (케이크를 너무 많이 먹어서 지금 드럽게 배부른 상태다.)

2-3 모든 상황이 정상적으로/예상한대로 돌아갔다면, 지금쯤 ~ 했어야 했다.
  • His plane should have arrived by now.
    (예정대로라면 지금쯤 비행기가 도착했을 것이다.)
    이 문장은 두 가지 의미로 해석이 되는데, ”도착했어야 했는데 아직 도착 안했다.” 도 가능하고 “지금쯤이면 도착했을 거다” 도 가능하다.
  • John should have finished work by now.
    (평소처럼 일했다면 지금쯤 일이 끝났어야 했다.)
    이것 역시 “일이 끝났어야 했는데 아직 못 끝냈다.” 도 가능하고 “지금쯤이면 아마 끝났을 거다.” 도 가능하다.


3. Would have + past participle

3-1 가정법 과거완료에서
  • If I had had enough money, I would have bought a car.
    (내가 돈이 많았었다면 차를 샀었을텐데.. 즉, 돈이 많지 않았었기 때문에 차를 사지 않았다.)

3-2 과거에 아주 원했었지만, 그렇게 하지 않았다.
이것은 가정법 과거 완료와 상당히 유사하지만 if 절이 생략된 형태로 보면된다.
  • I would have gone to the party, but I was really busy.
    (파티에 정말 가고 싶었지만, 바빠서 가지 않았다. = If I hadn’t been so busy, I would have gone to the party.)
  • I would have called you, but I didn’t know your number.
    (너에게 전화하고 싶었지만, 니 번호를 몰라서 전화 안했다.)
  • I would have helped you. I didn’t know you needed help.
    (널 도와주고 싶었지만, 니가 도움이 필요한지 몰랐다. = 니가 도움이 필요한지 알았으면 널 도와줬을 텐데…)
1절 : 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리 나라 만세 무궁화 삼천리 화려강사 대한사람 대한으로 길이 보전하세
2절 :  남산 위에 저 소나무 철갑을 두른 듯 바람서리 불변함은 우리 기상일세 무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세
3절 : 가을 하늘 공활한데 높고 구름 없이 밝은 달은 우리 가슴 일편 단심일세 무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세
4절 : 이 기상과 이 맘으로 충성을 다 하여 괴로우나 즐거우나 나라 사랑하세 무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세

위와 같이 애국가 가사를 1절, 2절, 3절, 4절 나누어  html 로 표현해야 할 때, 줄바꿈 들여쓰기가 되어 있지 않으면 보기가 좋지 않다. 아래와 같이 줄바꿈 들여쓰기가 되어 있다면 보기가 편안해진다.

1절 : 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리 나라 만세 무궁화 삼천리 화려강사 대한사람 대한으로 길이 보전하세
2절 : 남산 위에 저 소나무 철갑을 두른 듯 바람서리 불변함은 우리 기상일세 무궁화 삼천리 화려강사 대한사람 대한으로 길이 보전하세
3절 : 가을 하늘 공활한데 높고 구름 없이 밝은 달은 우리 가슴 일편 단심일세 무궁화 삼천리 화려강사 대한사람 대한으로 길이 보전하세
4절 : 이 기상과 이 맘으로 충성을 다 하여 괴로우나 즐거우나 나라 사랑하세 무궁화 삼천리 화려강사 대한사람 대한으로 길이 보전하세


이렇게 줄바꿈 들여쓰기(hanging indentation) 을 하려면 태그의 style 에 다음을 추가해 주면 된다.

style="padding-left: 40px; text-indent: -40px;"

이때, 40px 부분은 상황에 맞게 적절히 조절해 주면 된다.

typora 에서 수식을 입력하기 위해서는 $$ 입력 후 엔터키를 눌러주면 됩니다.
그러면 다음과 같이 TeX 수식코드를 입력할 수 있는 창이 나오고 그 아래에는 미리보기 창이 뜹니다.
그리고 미리보기 창의 OK 버튼을 누르거나 혹은 컨트롤키와 엔터키를 같이 눌러주면 아래와 같이 가운데 정렬된 수식이 입력된다.
글 중간에 inline 으로 수식을 입력하고 싶으면 Preference - Markdown 탭에서 Inline-Math 항목을 선택해 주어야 한다.
윈도우 버전에서는 Inline-Math 항목이 기본으로 체크되어 있기 때문에 위 과정이 필요하지 않다.

그러면 $\dfrac{a}{b}$ 처럼 $ 기호 사이에 Tex 수식코드를 입력하여 inline 으로 수식을 입력할 수 있다.  inline 수식을 입력할 때도 아래 그림과 같이 아래쪽에 미리 보기 창이 뜬다. 수식을 입력하면서 정확한 입력을 체크할 수 있기 때문에 좋다.
이후에 스페이스바를 눌러주면 수식이 입력된다.
결국 typora 에서는 미리 보기 창이 따로 필요하지 않다. 편집창과 미리보기 창이 하나로 통합된 형태라고 할 수 있다.
typora 에서 이미지를 삽입하고 싶으면 단순히 이미지 파일을 마우스로 잡고 typora 창으로 옮기기만 하면 된다.  그럼 다음과 같이 이미자가 가운데 정렬로 삽입이 된다.
하지만 이미지 크기를 조정하고 싶을 때는 html 태그를 사용해야 한다.

<img src="/Users/jk/Desktop/sample.png" width="400px"/>

와 같이 html <img>태그를 이용하여 width 혹은 height 를 지정해 주면 다음과 같이 이미지 크기를 조정할 수 있다.

수학 선생이라는 직업상 수식을 사용해야 하는 경우가 많고, 특히 웹에서 수식을 입력해야 하는 경우가 많다. 이 문제를 해결해 준 것이 mathjax 인데, mathjax 에서 TeX 문법을 이용하여 수식을 입력하다 보니 그 결과물을 바로바로 확인하는 것이 힘들다. 예를 들어, 이곳 blogger 도 그렇고 티스토리도 마찬가지고 워드프레스에서도 그렇듯이, 수식이 제대로 입력되었는지 확인하기 위해서는 미리보기 버튼을 눌러 새로운 창에서 확인을 해야하고, 혹시 입력이 잘못된 경우에는 해당 부분을 찾아가서 수정하는 것도 힘든일이다. (TeX 문법을 사용해 보신 분들이라면 공감하실듯... 아닌가? 나만 그런가?)

그러던 중에 마크다운(markdown) 이라는 것을 접하게 되었고, 여기서 mathjax 를 이용한 수식 입력을 지원한다는 것도 알게 되었다. 더욱 매력적인 것은 일부 마크다운 에디터에서는 실시간으로 입력한 결과물을 보여주기 때문에 수식 입력 등이 잘못되었을 경우, 바로 수정할 수 있다는 장점도 가지고 있었다. 게다가 마크다운이 배우기 어려울 만큼의 특별한 문법을 가지고 있는 것도 아니어서 수월하게 적응할 수 있었다. 블로그 등에 수식이 포함된 글을 올릴 경우에는 참 유용하게 사용할 수 있는것 같다.

마크다운 에디터에는 여러가지가 있지만 맥에서 사용할 수 있는 무료 에디터이면서 실시간 미리보기를 제공하는 MacDown 이 가장 합리적인것 같다. 일단 무료라서 부담없이 사용할 수 있고, 가장 필요했던 미리보기 기능을 제공하기 때문에 더 이상 고민할 필요가 없었다.
다음은 MacDown 을 이용하여 수식이 포함된 문서를 작성한 예이다.
왼쪽이 입력창이고, 오른쪽이 미리보기 창이다. 입력과 동시에 오른쪽에 결과물을 보여주기 때문에 참 편리하다. 문서를 모두 작성한 후에는 입력창의 내용을 그대로 복사하여 블로그 글 작성란에 붙여넣기 하면 되기 때문에 그다지 번거롭지도 않다. 또한 결과물을 html 이나 pdf 로 내보내는 기능도 있기 때문에 필요한 경우 쉽게 사용할 수 있다.

다만 수식입력을 하기 위해서는 메뉴에서 MacDown-Preferences-Rendering 을 선택하면 나오는 창에서 다음 그리에서와 같이 TeX-like math syntax 에 체크해주어야 한다. 또한 수식입력의 시작과 끝을 나타내는 기호로 $ 를 사용하기 위해서는 그 밑에 Use dollar sign ($) as inline delimiter 에도 체크해 주어야 한다.


vim 을 주력 에디터로 사용하면서 이것 저것 설정을 해주고, 내가 원하는 플러그 인을 깔고 하면서 재미를 느꼈었다. 그러나 그것도 잠시... 이젠 이것 저것 설정해주는 것도 귀찮고, 플러그
인을 설치하는 것도 귀찮다. 이럴 때는 그냥 딱 내 입맛에 맞지 않아도 좋으니 그냥 자동으로 대충 필요한 기능 좀 설정 & 설치 해주었으면 하는 얄팍한 생각이 들게 마련이고, 이때 딱 좋은 것이 바로 SpaceVim  되시겠다.

보라~~ 마음에 들지 않지만 저 아름다운 자태를~~~


 그래서 오늘은 SpaceVim 설치법에 대해서 알아보자.

먼저 https://spacevim.org/ 로 접속하자.
화면을 아래로 내려보면 설치법이 자세하게 나와 있는데, 일단 터미널에서

curl -sLf https://spacevim.org/install.sh | bash -s -- -h
를 입력해 보자. (git 을 설치해야 한다고 나오면 git 을 설치한 후에 하자.) 그럼 다음과 같은 결과를 볼 수 있다.



읽어보면 이렇다.

1) vim 과 neovim 모두에 SpaceVim 을 적용하고 싶으면

curl -sLf https://spacevim.org/install.sh | bash
를 입력하면 되고,

2) vim 이나 neovim 각각에만 SpaceVim 을 적용하고 싶으면

curl -sLf https://spacevim.org/install.sh | bash -s -- install vim
이나

curl -sLf https://spacevim.org/install.sh | bash -s -- install neovim
을 입력하면 된다.

3) SpaceVim 을 삭제하고 싶으면

curl -sLf https://spacevim.org/install.sh | bash -s -- uninstall
을 입력하면 되는데, 이때 home directory 의 .SpaceVim 폴더를 제거해주면 깨끗하게 삭제할 수 있다.

rm -rf ~/.SpaceVim
이후에 vim  혹은 neovim 을 실행시키면 지가 알아서 SpaceVim 설치를 시작하게 된다.
(기억으로는 대충 200여가지 설정을 하는것 같다.)

설치가 다 되고 나면 vim을 재시작하면 SpaceVim 이 설치가 된 것을 확인할 수 있다.
(이 글의 맨 처음과 같은 화면을 볼 수 있게 된다.)

SpaceVim 을 사용하면서 한 가지 불편했던 것은 insert mode 에서 command mode 로 전환 시 키 반응 속도가 약간 느리다는 것이다. 그것만 제외하면 아주 만족하면서 사용하고 있다.


JK-story. Powered by Blogger.