README.md 1.36 KB
Newer Older
1
# Globalias plugin
slavaGanzin's avatar
slavaGanzin committed
2

3
Expands all glob expressions, subcommands and aliases (including global).
slavaGanzin's avatar
slavaGanzin committed
4

Janosch Schwalm's avatar
Janosch Schwalm committed
5
Idea from: https://blog.patshead.com/2012/11/automatically-expaning-zsh-global-aliases---simplified.html.
6
7
8
9
10
11
12
13
14
15
16
17
18
19

## Usage

Add `globalias` to the plugins array in your zshrc file:

```zsh
plugins=(... globalias)
```

Then just press `SPACE` to trigger the expansion of a command you've written.

If you only want to insert a space without expanding the command line, press
`CTRL`+`SPACE`.

20
21
22
if you would like to filter out any values from expanding set `GLOBALIAS_FILTER_VALUES` to
an array of said values. See [Filtered values](#filtered-values).

23
24
25
## Examples

#### Glob expressions
slavaGanzin's avatar
slavaGanzin committed
26
27
28

```
$ touch {1..10}<space>
29
# expands to
slavaGanzin's avatar
slavaGanzin committed
30
31
$ touch 1 2 3 4 5 6 7 8 9 10

32
33
34
35
36
37
38
39
$ ls **/*.json<space>
# expands to
$ ls folder/file.json anotherfolder/another.json
```

#### Subcommands

```
slavaGanzin's avatar
slavaGanzin committed
40
$ mkdir "`date -R`"
41
# expands to
slavaGanzin's avatar
slavaGanzin committed
42
$ mkdir Tue,\ 04\ Oct\ 2016\ 13:54:03\ +0300
43
44
45
46
47
48
```

#### Aliases

```
# .zshrc:
slavaGanzin's avatar
slavaGanzin committed
49
50
51
52
alias -g G="| grep --color=auto -P"
alias l='ls --color=auto -lah'

$ l<space>G<space>
53
# expands to
slavaGanzin's avatar
slavaGanzin committed
54
55
56
57
$ ls --color=auto -lah | grep --color=auto -P
```

```
58
# .zsrc:
slavaGanzin's avatar
slavaGanzin committed
59
60
61
alias S="sudo systemctl"

$ S<space>
62
63
# expands to:
$ sudo systemctl
slavaGanzin's avatar
slavaGanzin committed
64
```
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

#### Filtered values

```
# .zshrc
alias l='ls -lh'
alias la='ls --color=auto -lah'
GLOBALIAS_FILTER_VALUES=(l)

$ l<space>
# does not expand
$ la<space>
# expands to:
$ ls --color=auto -lah
```