特定のパスのgitconfigを使う
以下のようにする。自分の環境の場合は、~/dotfiles/.gitconfig に共通のgitconfigがある。共通で使いたいaliasなどが入っている
git config --global include.path ~/dotfiles/.gitconfig
.gitconfigを直接編集するようなブログしか引っかからなかったので、メモ。
git のコミットメッセージをvimで書くときに自動で折り返されないようにする
autocmd FileType gitcommit setlocal textwidth=0
をvimrcに加えればOK
上記を調べる上で必要だった知識メモ
現在のファイルタイプを確認するには
set filetype?
とコマンドを叩く
SourceTreeの外部DiffでMacVimを使う話
SourceTreeの外部diffでMacVimを使う時に、いくつか問題が発生したのでメモ
発生した問題
①SourceTreeから渡されるパスが"/"が2つ連続していてMacVimがそのパスを開けない ②diffツールにmvimdiffを使うと、内容が表示されない。
原因
①SourceTreeの不具合?わからん。。。。
②mvimdiffはプロセスをwaitしないモードで起動する様子
↓
mvimdiffをwaitしないので、制御が親プロセスに即戻る
↓
制御が戻ると渡されるファイルは消える(一時ファイルの様子)
↓
Vimで開くときにはもうファイルが消えている
解決策
SourceTreeから直接mvimdiffを呼ぶのではなく、シェルスクリプトを間に噛ませた。
#!/bin/sh LOCAL_PATH=`echo $1 | sed -e 's/\/\//\//g'` REMOTE_PATH=`echo $2 | sed -e 's/\/\//\//g'` /Applications/MacVim.app/Contents/MacOS/Vim -g -f -d $LOCAL_PATH -d $REMOTE_PATH
①に対しては、"//"を"/"にsed
②に対しては、Vimの引数を調べて、子プロオプション + diff モードで起動
するようにして対策した。
SourceTreeの方は以下のように設定する
Vimの引数調べるの面倒だった。。。
git checkout で error が発生する理由が解らなかった話
checkoutで、以下のエラーが出力された。
$ git checkout hoge
error: Your local changes to the following files would be overwritten by checkout:
foo/bar
Please, commit your changes or stash them before you can switch branches.
Aborting
status を見ても、何も変更が無い。
$ git status
On branch hoge
Your branch is up-to-date with 'origin/hoge'.
nothing to commit, working directory clean
謎…。意味分からん。。。と思っていたら --skip-worktreeをしていたことを忘れていた。
--skip-worktreeを解除して、無事checkout出来た。めでたしめでたし。
メモ
rubyで初めて遊んでみた
rubyで初めて遊んでみた。
- Javaのリスト = rubyの配列
- ハッシュの初期化で使う => 演算子はわかり辛い気が・・・
- ↑やはりコロン使う方式も途中で入ったみたい
- rubyはperlとLispの影響を受けてると聞いたけど、perlと似てるところあるなぁ・・・
- 整数と文字列は指定するのか。perlは指定なしだったのに・・・
- ++ でインクリメントされないのね・・・
- 動的型付け言語だけど、微妙に型を意識させようとしている?
- do end と {} の使い分けがわからん
触ってみた感触としては、perlよりもかなり使い易い感じ。
ただ、構文が言語の進化によって変わっている??google先生の結果が違うことがあった。
あと、to_i などの存在理由が謎。動的言語では?
あと、GoとJavascript、python3を遊びで触る予定。
perlで初めて遊んでみた。
perlで初めて遊んでみた。
以下、思ったことメモ。
- 変数の前につける記号(シジル)で意味が変わるとかCの変数みたい
- Javaのリスト = perlの配列
- 比較演算子にeq等がある。シェルスクリプトみたい
- ハッシュの初期化で使う => 演算子はわかり辛い気が・・・
- if文の後置は面白い
- =~ で始まるsedと正規表現マッチおもろい
- $_ とかは微妙。わかり辛い
- dieはわかるけどevalは命名はよくわからない
- ファイルの扱いはbashと比べてかなり便利
- unlessはいい。わかりやすい。他の言語にも入れてほしい。
- chomp()はそんなに使うか・・・?
- Subしかないのは驚き。functionあるといいのに。
初めて触ったけど、やはり古い言語だということを再認識。 perl6も触ってみたい。