lv があれば lv を使う。UTF-8 に変換、ANSI エスケープシーケンスを有効に。
# pager if command -v lv > /dev/null; then export GIT_PAGER='lv -Ou8 -c' fi
bash-completion が有効なら、ブランチ名をプロンプトに表示するように設定。GIT_PS1_SHOWDIRTYSTATE を設定して unstaged な変更があれば *、staged な変更があれば + をブランチ名の後ろに表示するようにしてる。
# prompt string PS1='\[\033[0;37m\][\[\033[0;32m\]\t \[\033[1;36m\]\u\[\033[0;37m\]@\h \[\033[0;32m\]\w\[\033[0;37m\]]\n$ ' if hash __git_ps1 2> /dev/null ; then export GIT_PS1_SHOWDIRTYSTATE=1 PS1='\[\033[0;37m\][\[\033[0;32m\]\t \[\033[1;36m\]\u\[\033[0;37m\]@\h \[\033[0;32m\]\w\[\033[0;37m\]\[\033[01;33m\]$(__git_ps1 " | %s")\[\033[00m\]]\n$ ' fi
昨日の前夜祭から一晩明けて、1日目。今年は去年みたいに #yapcasia タイムライン専用スクリーンが無いのかぁ。ちょっと残念。タイムラインとか Growl 芸とか YAPC 名物な気がしてたので。LTソンの方に機材まわしたからかな?
会場は小綺麗だけれど物販 NG 他利用規則がいろいろ厳しくて、ちょっと窮屈な感じかな。そういう意味で、東工大は良かったですねぇ。
ホールのすぐ横が会場ということもあって懇親会もすごい賑いで、どんどん大きなイベントになっているんだなぁ感じた。 懇親会では、ネックストラップに入れておいた Twitter 名刺をみて、声をかけていただいたりして光栄でした。@toku_bass 氏、メガネラボの @issm 氏と直接お会いできました。
トーク・LT は例年通りレベルが高く濃いもの揃いで素晴しかったですね。
ファシリティ系:
回線系:
Emacs で anything から helm にしてから2週間ほど経つのだけれどなかなか慣れない。特に TAB でのファイル補完のところ。どうするのがいいのかなと Web とか見ていたら「prefix を補完するのに TAB を使うんじゃねぇ。」って書いてあったのを読んでなんとなくわかった気がした。それが helm 使いのならわしらしい。
IMPORTANT: Please remember that, when you use Helm, you never TAB to complete prefixes like vanilla or other packages like Ido and its related packages. In Helm, when you type something, candidates get updated automatically. In vanilla Emacs, you have to TAB to get a/ list of candidate. This is a great feature from Helm, not a miss of feature. You have to forget the mentally of TABBING to get candidates. If you want quick completion of search patterns in Helm prompt, you always have hippie-expand to replace the TAB behaviour, as introduced at the beginning of this section. This is the biggest confusion for new people switching to Helm. When you are used to Helm, you will love it. -- http://tuhdo.github.io/helm-intro.html
なるほど。
そうはいっても Bash とかで手が慣れちゃっているからなかなかねー。
シェルで特定の開発ディレクトリ以下に移動すると自動的に設定ファイルで指定された環境変数を設定し、そのディレクトリから別のディレクトリに移動すると戻してくれる direnv が便利。
https://github.com/zimbatm/direnv
Go で開発するのに GOPATH と bin への PATH 追加が面倒だったので導入してみた。
git clone https://github.com/zimbatm/direnv cd direnv make build cp -a direnv $HOME/local/bin
なお direnv は Go で書かれているのでソースからビルドするには Go の開発環境が必要。
.bashrc に以下を追加。
if command -v direnv > /dev/null; then eval "$(direnv hook bash)" fi
その他のシェルでの設定は https://github.com/zimbatm/direnv 参照。
$ cd project_dir $ export EDITOR=emacsclient # 次のコマンドで開くエディタ $ direnv edit . .envrc の編集用にエディタが開くので layout go と入力して保存。
後は Bash でこのディレクトリ以下(サブディレクトリも含む)に移動するとこの .envrc のあるディレクトリが GOPATH に追加され、また bin ディレクトリが PATH に追加される。便利。
なお direnv edit . しないで直接 .envrc を作った場合は、別途 direnv allow . を実行してこの .envrc を使うことを明示的に許可する必要がある。許可したかどうかは ~/.config/direnv/allow/* に保存される(freedesktop.org の XDG Base Directory Specification っぽくなっているので XDG_CONFIG_HOME 環境変数があれば ~/.config ではなくてその下に保存される)。
その他標準で
などが用意されている。また
PATH_add bin
のようにして PATH への追加も簡単。
その他コマンドの実行も可能なので開発以外にもいろいろ便利に使える。
これから利用する開発環境にログインしたら Emacs が入ってなかったので「とりあえず TRAMP を使うかと」とローカルホストの Emacs からファイルを開こうとしました。しかしホスト名の後の : をタイプしたところで止まってしまいます。
ちょっと調べてみたところリモートホストのログインシェルが zsh のせいでした。
EmacsWiki の https://www.emacswiki.org/emacs/TrampMode を参考にリモートホストの ~/.zshrc の末尾に以下を追加し、TRAMP が正しく動くようにしました。
if [[ "$TERM" == "dumb" ]] then unsetopt zle unsetopt prompt_cr unsetopt prompt_subst unfunction precmd unfunction preexec PS1='$ ' fi
link#photography
— Naney (@Naney) May 15, 2023
RICOH GR III #GR3 pic.twitter.com/klrBg67KmM
店先#photography
— Naney (@Naney) May 17, 2023
RICOH GR III #GR3 pic.twitter.com/HyGGj5pjLZ
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。