KAEDE Hack blog

カエデのブログです。開発進捗や勉強会の記録。インターンに落ちた話などを書いています!w

Vim8.1での苦戦とその解決策 ~ :terminalが使いたい!!~

vimとの出会い

MacではずっとVisual Stadio Codeを使っていたが、gitの運用中viが自動で起動することがあって、そこからvim (vi IMproved)に興味を持ち、メインのエディタにしてみようと思った。 Vimは完全なCUI editorであり、マウスを使う必要がほとんどないから、効率的にコードが書けて捗るらしい。

vimを使ってみよう!

そこで私が最近やっているJavaScriptの勉強をVimでやってみることにした。 主にconsole.logの結果をnodeでterminalにoutputしている。

これがしたいな!

必要なのは今はeditor画面とintegrated terminalが同じ画面にあることである。 vi sample.jsで開いた後 :wqをして, node sample.jsとするのでもいいが、やはり同じ画面にコードと実行結果は同居してほしい。

参考画像:VScode

f:id:kei_s_lifehack:20190219235507p:plain
vsc terminal

そうだ聞いてみよう!

ゴリラ.vimという渋谷のDeNAで開かれたvimmerの集いで聞いたところ、それには' :terminal 'というコマンドが必要らしいが、vim8.0には入っていないらしい。 そこではvimにすごく詳しい人に直してもらったが、自分では何をしてもらったかわかっていなかったため、2台目の自宅のMacで同じ問題に挑戦してみた。

やったこと

homebrewでのupdate

そもそも参照される位置には入っていないerrorが出たため、installした。 vim8.1のinstallには成功したが、vim --versionをしてもvim8.0のままであった 当然 :terminal コマンドも使えないままだった。

場所の確認

which -a vim で確認すると, usr/bin/vimが存在し、usr/bin/local/vimを遮っていることが判明。

PATHの修正

.bash_profileにsource ~/.bashrc を追加し .bashrcを作成してexport PATH="/usr/local/bin:$PATH" を記述した。

refresh

source ~/.bash_profile で再読み込みするとvim8.1が読み込まれるようになった! :terminalも使えた!!!

f:id:kei_s_lifehack:20190220002242p:plain
vim8.1 :terminal

注意点

:terminal で開いたのはvimのなかのterminalなので、また別のものを左右に表示したい場合はexitして開いたものを消さないとおかしくなります。 そうでなければ ctrl w wでJS fileとterminalをマウスなしで移動できるので超便利です!!Vim最高!!!

Special Thanks: cateye, Stan_Dma, stmtk, pepper_leaf

Vim Plug-In 苦戦

経緯

  • ES2015を勉強するのにnode.jsでterminalでjs fileを実行するのを覚えた
  • それならvi 使えばterminalから動かないで実行できるし、なんかカッコいいし \ VScodeみたいにみやすくハイライトとかできるように.vimrc弄ってみるか!

結果

  • ハイライトはできた。
    f:id:kei_s_lifehack:20190204003501p:plain
    ハイライトvim

しかしmolokaiを参照した時のErrorが消えない。

  • copy をした時に行番号まで取り込んでしまう。
  • ctrl nなどのMac key bindをした時に過去のコマンドを持ってきてしまい不快。

Referred

qiita.com

pyoonn.hatenablog.com

qiita.com

source code

Apple-no-Air:~ Apple$ vi .vimrc Error detected while processing /Users/Apple/.vimrc: line 55: E185: Cannot find color scheme 'molokai' Press ENTER or type command to continue

1 "#####表示設定#####↲ 2 set number "行番号を表示する↲ 3 set title "編集中のファイル名を表示↲ 4 set showmatch "括弧入力時の対応する括弧を表示↲ 5 syntax on "コードの色分け↲ 6 ↲ 7 "##Tab Settings"↲ 8 set expandtab " タブ入力を複数の空白入力に置き換える↲ 9 set tabstop=4 " 画面上でタブ文字が占める幅↲ 10 set softtabstop=4 " 連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅↲ 11 set autoindent " 改行時に前の行のインデントを継続する↲ 12 set smartindent " 改行時に前の行の構文をチェックし次の行のインデントを増減する↲ 13 set shiftwidth=4 " smartindentで増減する幅↲ 14 ↲ 15 "List setting"↲ 16 set list↲ 17 set listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:%↲ 18 set virtualedit=block "文字のないところにカーソル移動できるようにする"↲ 19 set whichwrap=b,s,[,],<,>↲ 20 set backspace=indent,eol,start↲ 21 set wildmenu↲ 22 ↲ 23 ↲ 24 "#####検索設定#####↲ 25 set ignorecase "大文字/小文字の区別なく検索する↲ 26 set smartcase "検索文字列に大文字が含まれている場合は区別して検索する↲ 27 set wrapscan "検索時に最後まで行ったら最初に戻↲ 28 ↲ 29 "# vim plug in settings↲ 30 if has('vim_starting')↲ 31 " 初回起動時のみruntimepathにNeoBundleのパスを指定する↲ 32 set runtimepath+=~/.vim/bundle/neobundle.vim/↲ 33 ↲ 34 " NeoBundleが未インストールであればgit cloneする・・・・・・①↲ 35 if !isdirectory(expand("~/.vim/bundle/neobundle.vim/"))↲ 36 echo "install NeoBundle..."↲ NORMAL .vimrc unix | utf-8 | vim 1% 1:1
".vimrc" 82L, 3373C

映画, 'POLAR' 感想

f:id:kei_s_lifehack:20190129222350p:plain
POLAR

Netflix Original Movie

POLAR

を観ました!

久しぶりに1h54minもの映画を観た。集中力続かないから昼と夜で二回に分けてだったけど。だがその分、映画は「追体験」を得られるようにできているなぁ。

もともとこの2019にできた映画は知らなかったが、Netflixをデスクトップで開いた時に出てきた画面上部の自動再生のPVでt

f:id:kei_s_lifehack:20190129232326p:plain
PV

見入ってしまってそのまま観ました。 撮影も自然を壮大に映していて素晴らしかった。

f:id:kei_s_lifehack:20190129232429p:plain
nature

とりあえず主人公の50代の男の顔がいいし観ててしあわせでした.....

f:id:kei_s_lifehack:20190129232540p:plain
face

組織の電話担当も格好良かった、私も 'Speak.'って言って電話出ようかな???

f:id:kei_s_lifehack:20190129232705p:plain
tel

ストーリーは深くは言いませんが、テンポが良くて先が読めなくて、終わり方も心に染みました。ああ、そうなるのか..... と。

相当観て良かったと思える作品なのでぜひ皆さんも POLAR, みてください。

----END----------------

Permission to 'newUserName/repsitory.git denied to oldUserNameの解消法

Permission to kaede0902/KAEDE_GAMES.git denied to KaedeAPK. fatal: unable to access 'https://github.com/kaede0902/KAEDE_GAMES.git/': The requested URL returned error: 403

のエラーメッセージが出てしまった。pushじに 古いアカウントじゃなくて新しいアカウントでpushするのをわからせる、コンピュータわからせ棒(line)として viで.git / configの [remote "origin"] url = https://github.com/kaede0902/KAEDE_GAMES.git を url = https://kaede0902@github.com/kaede0902/KAEDE_GAMES.git にすればpushできるようになる

以上、備忘録

REF

Basic Auth Basic認証 - Wikipedia

C_language and Header_19/01/25

C言語とheader, MacOS

Links

Situation

  • Mid or low company向けのMicro serviceのソフトを作るアルバイト
  • 12/15くらいからで1.5monthめ。
  • Python入門 => Django Girls Tutorial => C言語の絵本 をやっている

  • 今日はChap04, Array and Pointerをやっていた

Problem(PB)

//#include <malloc.h>を本の通りにheaderに書いていたら

#include <malloc.h>
         ^~~~~~~~~~
1 error generated. ```
と出た。

これ自体はググったらMacOSではmalloc()はstdlib.hに入っているし、malloc.hはサポートされていないと出た.
それよりも問題は社長にこう言われてしまったことだ。
''headerの動きや.hフォルダの位置がわかっていないのに書くのはプログラマとしておかしい"
"プログラマが理解できていないものは動きが保証できるとは言えないので売れないぞ"
"それは自分で選ぶライブラリについても同じだぞ"

....正直headerなんて関数に応じて呼び出せばいいだけだと思っていた.
そこから理解するのはレイヤが低すぎてキリがないと思う。
動くから書いている、ではダメなのであろうか。だがそれはキリがないのではないか
コンピュータを理解してプログラムを書くのなんて、実践できている人間がいるのか

MacOSを使っている嫌味のように感じたが、同じ関数なのに呼び出している標準Libraryの場所が違ったり、そのlibraryのファイル構造を詳しく伝えられないと、Win環境で動作保証がされないことになるのだろうか。
そもそもコンパイルしたものをソフトとして(.exeか?)提出するのだから、ソースをwinで保証する必要があるのか、headerの動作を詳しく理解していないとどう信頼性のなさに繋がるのか、それがどう「信頼性の無さ」に繋がるのだろうか。

具体的に言って欲しいものだ.... その結果, 「MacOSは禁止だ、巷世間一般で使われているwinで開発しなさい。」
とか言われたらかなり効率が落ちてフラストレーションがたまるが。

「わかっていないのに作るな」と言われるのはかなりストレスが溜まる。見返したいものだよ...

<EOF>

git 差分の取り方

こんにちは、カエデです。

gitを用いた個人開発を続けています。

local(ノートPC)でコードを書き足したり、変更したりしたら、remoteにpushする前に変更点を洗い出したい時には' git status' コマンドで変更がどのくらいあるか見ることができます。

しかしremoteからpullする時にはこのコマンドでは確認できず、diffを使っても変更点が確認できません。

teratailで質問したところ, ' git fetch ' , ' git diff ' で取れると教えていただきました。

多分, remote (GitHub) と local (ssd)の間にあるのが origin/masterなんですね

早く動くものをもっと公開したいから後回しにしていますが、図書館にあるし独習Gitとかもいつかのタイミングで手をつけないとな...

HTML5 Conferenceにstaff参加してきた

記憶が薄れている。こういう勉強会の記事はダレずに当日にディスプレイに向き合って書こう。

HTML5J さんと言う団体が主催のHTML5 conferenceにボランティアという形で参加してきた。

主に学生がやってるのかとゲストの方から聞かれたが、ボランティアスタッフは学生よりもコーダーが多かったと思う。 懇親会には出れなかったからそんなに多くの人とは話せなかったが、20代前半の同年代と見られるスタッフは、私より遥かに知識や開発経験が豊富で、例えばCSSの階層構造?や〜.jsなどのものをすでに使い慣れていてその話を完全に理解できていた。一方私は、正直に言って、「たまに分かる事がある」位のものだった。勉強会などでの登壇の聴き始め?の時から少しづつ分かることは増えているが全く足りない。情けないものだ。

SIerを二つ経て、Web系でバリバリ流行りの技術?でコーディングしている同年代の男の子とたくさん話せた。横浜まで一緒に帰った。 彼はSIerしながら2年かかったと聞いた。土日体力に余裕があるときに良いサイトでdev toolを起動して.css, .jsのファイルを開き、改行しながら分解し、レファレンスを検索し、自分で実装して確かめていく... とても地味でチマチマしているように感じてしまうが、このやり方を聞くのは実は3人目になる。いずれも勉強会で会った友人だ。一つずつ長い時間をかけて手を動かして覚えるものなのだろう。特にwebは。腰を据えて簡単に分かるようにならないのを覚悟で取り組まないとな....

幸い今が大学2年だからあと一年と三ヶ月あるし新卒カードと言うジョーカーもある。

I will go on.