Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uasi/zsh-context-sensitive-alias
Context-sensitive alias for Zsh
https://github.com/uasi/zsh-context-sensitive-alias
Last synced: about 7 hours ago
JSON representation
Context-sensitive alias for Zsh
- Host: GitHub
- URL: https://github.com/uasi/zsh-context-sensitive-alias
- Owner: uasi
- License: unlicense
- Created: 2012-04-12T15:59:29.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2012-11-06T03:06:39.000Z (about 12 years ago)
- Last Synced: 2023-04-14T01:31:04.823Z (over 1 year ago)
- Language: Shell
- Homepage:
- Size: 94.7 KB
- Stars: 22
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
# Context-Sensitive Alias for Zsh
特定のコンテキストで有効になるエイリアスを定義できるスクリプトです。
使い方:
```
# {{{ in ~/.zshrc# 初期化
source csa.zsh
csa_init
# コンテキストを指定してエイリアスを定義する
# csalias
csalias git st 'git status'
csalias hg st 'hg status'
csalias rake ra 'rake'
csalias bundler ra 'bundle exec rake'# cd 先のリポジトリの種類に合わせてコンテキストを設定する(詳細は sample-zshrc.zsh で)
function chpwd() { ... }# }}}
# Git リポジトリに cd すると st == git status になる
$ cd git-repo
$ st
# On branch master
nothing to commit (working directory clean)# Hg リポジトリに cd すると st == hg status になる
$ cd hg-repo
$ st
? readme.txt# リポジトリでないディレクトリでは st は未定義
$ cd not-a-repo
$ st
zsh: command not found: st# Rakefile があるディレクトリに cd すると ra == rake になる
$ cd some-ruby-lib
$ ra --version
rake, version 9.2.2# Gemfile があるディレクトリに cd すると ra == bundle exec rake になる
# (同じディレクトリに Rakefile があっても ra == rake にはならない)
$ cd some-rails-proj
$ ra --version
rake, version 9.1.0
```設定方法については `sample-zshrc.zsh` をご覧ください。