рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреМрди рд╕реА рдХрдорд╛рдВрдб рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрддреА рд╣реИ?

рдореЗрд░реЗ рдкрд╛рд╕ 'рд╕реАрдбреА' рд╣реИред

рдореИрдВ рдЕрдХреНрд╕рд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реВрдВ рдФрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рд▓рдЧрд╛ рдХрд┐ рдСрдЯреЛ-рдХрдореНрдкреНрд▓реАрд╢рди рднреА рдирд╣реАрдВ рдмрдЪрд╛ рд╣реИред рдлрд┐рд░ рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░ рджреАред

рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!



рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ zsh рд╢реЗрд▓ рдореЗрдВ рдРрд╕рд╛ рдЕрд╡рд╕рд░ рд╣реИ - рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкрдереЛрдВ рдХрд╛ "рд╡рд┐рд╕реНрддрд╛рд░" : , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
 : , "/u/in/sy" -> "/usr/include/sys/" 

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
 : , "/u/in/sy" -> "/usr/include/sys/" 

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
 : , "/u/in/sy" -> "/usr/include/sys/" 

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
 : , "/u/in/sy" -> "/usr/include/sys/" 

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
 : , "/u/in/sy" -> "/usr/include/sys/" 

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc

Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc

Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
 : , "/u/in/sy" -> "/usr/include/sys/" 

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !
: , "/u/in/sy" -> "/usr/include/sys/"

$CDPATH pushd/popd , .

. , , autojump . . "incl" "/usr/include", .

Autojump "z" . "Z" .. "frecency" - (frequency) (recency).

-, autojump z, - . :

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


. -intelligent. .

The power of 2

, "2", , autojump z, .

"2" Go, , shell-, (bash/zsh).

, . autojump, . , - .

, .

autojump/z - precmd() , . .

zsh - chpwd() , :

chpwd() { $TWO add . }

bash :

// cd, // 'cd' cd() { // 'cd' builtin cd $@ // $TWO add . }

, "2". - $TWO. "add", ( ).

"go", stdout. - . - ( ), :

_2go() { local path [ $# -eq 0 ] && cd && return if [ $# -eq 1 -a -d $1 ]; then $TWO add $1 cd $1 return fi path=$($TWO go $@) [ -z "$path" ] && echo "No matches for '$@'" || builtin cd $path } alias 2='_2go'

- "shell", .

$HOME/.2paths, - .
- , .

.



, - . , .

, ?

() . , "2 u in":

/usr/include ^ ^^ 1 + 5 = 6 /usr/include/wine ^ ^^ 10 + 15 = 25

, , . autojump/z , ( ) , .. "2 us" - "/home/serge/src/usb-driver", "/usr/include/linux".

, .. , . 6/12 = 0.5 25/17 = 1.47 .

, ( , - ).

, - , , .

?

- . . , , , , . .
, "trikob" "/home/serge/src/trikita/obsqr", :



zsh <Ctrl-2>, bash <Alt-2>.

, !

https://bitbucket.org/zserge/2

, , . - , , , !

, , (, Go ):

$ hg clone https://bitbucket.org/zserge/2 $ cd 2 $ go build $ sudo cp 2 /usr/local/bin $ sudo mkdir /usr/local/share/2 $ sudo cp zshrc /usr/local/share/2/zshrc $ sudo cp bashrc /usr/local/share/2/bashrc


Go , 32- 64- . .

2, bashrc zshrc . ($HOME/.bashrc $HOME/.zshrc):

. /usr/local/share/2/bashrc # zshrc, - zsh

. ( ), ( cd, mc 2 ). $HOME/.2paths.

"2" . !

Source: https://habr.com/ru/post/In151484/


All Articles