• Stars
    star
    268
  • Rank 153,144 (Top 4 %)
  • Language
    Shell
  • Created over 12 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Improve your UNIX command line experience and productivity with ztanesh project: the tools will make your shell more powerful and easier to use.

Introduction

Improve your UNIX command line experience and productivity with the the configuration provided by ztanesh project: the tools will make your shell more powerful and easier to use.

https://cloud.github.com/downloads/miohtama/ztanesh/Screen%20shot%202012-05-07%20at%207.52.12%20PM.png

The screenshot above shows additional ls coloring. Prompt: top left is active virtualenv etc. development environment, top right is server, time, bottom right is path.

https://cloud.github.com/downloads/miohtama/ztanesh/Screen%20Shot%202012-05-22%20at%2011.01.46%20PM.png

Colorize terminal tabs automatically based on which server you are logged in. No need to preconfigure servers - the color is calculated from the hostname

Oh my ZSH

As of December 14, 2012, an attempt to merge the code with the Oh my zsh code started, due to the enormous amount of plugins readily available for the latter project. The goal is to merge the both projects into something where the startup files could be automatically compiled and catenated for superfast startup as is done for the ztanesh currently, while enabling the drop-in use of Oh my zsh plugins and themes.

Features

Out of the box you will be able to

  • Colorize terminal tabs based on SSH connection. Each server automatically gets its own color. (iTerm2)
  • Automatically update the window title on your terminal based on the currently running command etc.
  • Just type in the directory name on the command prompt to enter into it. Cdable environment variables for fast navigation - instead of cd $MYDIR/project you can now hit in shell prompt MY<TAB>p<TAB>.
  • In-word completions - to cd into that linux-2.6.28 folder, just type 28<TAB> - the only matching word is automatically completed. To go to /usr/bin type in shell prompt /u/b<TAB> (no cd needed).
  • Double-tap TAB for autocompletion menu with arrow navigation. Type ./<TAB> to start file explorer in the current folder. Press space to advance the next folder. Press backspace to undo the selection.
  • Autocompletion for remote server commands like svn, scp
  • Typo correction when autocompleting: wrong case, mispelt character, etc.
  • Improved prompt readability: bold text by default, timestamps, user, server name and smart current working directory indicator
  • Turn on colored output for tools like less and grep automatically
  • Improved ls output colors - including grouping filesizes in groups of 3.
  • Settings files are preprocessed for fast shell start-up
  • Mouse support on command line; press alt-m (meta-m) to toggle mouse mode and enable position text edit cursor with the mouse
  • Forward- and backward moving in directories stack using alt+left/right arrows (Linux only)
  • Support for Mac standard edit keys: alt+arrow to move between words. fn+arrow (home, end) to go to the beginning and end of the line
  • Automatic update via Github. Global (across machines, autoupdated) and local (macine specific) .rc settings files
  • Over ten years of running in production experience
  • Upcoming: intershell clipboard using a pure python X client (you need X forwarding and X11 daemon on an originating computer. Launching local commands from remote commandline over ssh X11 forwarding.

Installation

The installation instructions are based on the assumption you checkout Git repository under ~/tools folder in your home directory.

ZSH versions

We recommend using ZSH 5.0 which is the latest stable version. As the writing of this most operating systems ship with older versions, however, Ubuntu 12.10 defaults to ZSH 5.0.

Ubuntu

Ubuntu install commands:

cd ~
sudo apt-get install git-core highlight zsh perl
git clone git://github.com/miohtama/ztanesh.git ~/tools
~/tools/zsh-scripts/setup.zsh

Test that ZSH starts properly:

zsh

Then activate zsh for your user by default:

chsh -s /bin/zsh $USER

... or for the other users:

sudo usermod -s /bin/zsh TARGETUSERNAME

Gentoo

Gentoo Linux install commands:

sudo emerge -av git highlight zsh
git clone https://github.com/miohtama/ztanesh.git ~/tools
~/tools/zsh-scripts/setup.zsh

Test that ZSH starts properly:

zsh

Then activate zsh for your user by default:

chsh -s /bin/zsh $USER

... or for the other users:

sudo usermod -s /bin/zsh TARGETUSERNAME

OSX

With Homebrew:

brew install zsh coreutils lesspipe findutils highlight
# Note: you might have to edit the zsh brew formula if it shows "Error: Download failed: http://www.zsh.org/pub/zsh-5.0.0.tar.bz2"
# brew edit zsh
# then change: url 'http://www.zsh.org/pub/zsh-5.0.2.tar.bz2' => url 'http://sourceforge.net/projects/zsh/files/zsh/5.0.0/zsh-5.0.0.tar.bz2'

Clone ztanesh:

git clone https://github.com/miohtama/ztanesh.git ~/tools
~/tools/zsh-scripts/setup.zsh

GNU coreutils are not enabled by default by Homebrew. Edit ~/.zshrc and add at the beginning of the file:

PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"

Test that ZSH starts properly:

zsh

Activate zsh for your user account as the default shell:

sudo dscl . -create /Users/$USER UserShell /opt/homebrew/bin/zsh
# or if you use Homebrew before: sudo dscl . -create /Users/#$USER UserShell /usr/local/bin/zsh

Other 'NIX operating systems

Other UNIX flavour operating systems should work just fine. Please adjust the installation commands according to your distribution and report back to us how you did it.

Autoupdate notes

If you want to autoupdate deploy your own global ZSH rc changes fork this repository on Github under your own user account, or set up your own private fork on anywhere you want. The authors are less benevolent dictators (read: BOFHs) of this project and may feel to change the scripts breaking everything for you any day.

But you can also feel free to hack this project into pieces. If you find good patches just make Pull request on Github.

Usage

Misc tips

  • See various aliases
  • Use CTRL+R to search shared ZSH history

Editing global settings

ZtaneSH scripts are located in ~/tools/zsh-scripts/rc folder. They are processed pretty much like init.d scripts (loaded in number prefix order).

Edit these source scripts. Then run comprc. This will update ~/tools/zsh-scripts/var/compiled/allrcs file. This file is optimized ZSH script output and loaded on every start up.

Push your changes to Github.

Editing local settings

Put your local settings to ~/.zsh-local/rc and run comprc alias to make them effective for the next zsh startup.

Related projects

Troubleshooting

If ZSH does not start up properly (CTRL+C interruption, Git update failure, etc.) you may see the error:

/Users/mikko/.zsh//lib/ztanesh-rcs.zsh:103: command not found: rainbow-parade.py

You can fix this issue by enabling comprc function by hand and run it to rebuild startup files:

source ~/tools/zsh-scripts/rc/65-functions
comprc

License

GPL3+.

Authors

  • Antti "ztane" Haapala
  • Cleaned up for public release by Mikko Ohtamaa
  • mouse.zsh: Stephane Chazelas
  • Gentoo: Alberto Zuin

More Repositories

1

python-Levenshtein

The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity
C
380
star
2

bitcoinaddress.js

A JavaScript library for making easy bitcoin payments, sending bitcoins and presenting bitcoin addresses on any HTML page.
JavaScript
118
star
3

obfuscate.js

Obfuscate sensitive text on web pages for demostration screenshots
JavaScript
116
star
4

sublime-helper

sublime-helper is a shell script collection to setup Sublime Text configuration files and command line aliases based on predefined templates.
Shell
114
star
5

jquery-interdependencies

A Javascript library for dynamically showing and hiding HTML form fields based on rules and field interdependencies
JavaScript
105
star
6

bitcoin-prices

Display bitcoin prices in human-friendly manner in fiat currency using bitcoinaverage.com market data
JavaScript
99
star
7

detectmobile.js

detectmobile.js allows you detect mobile browsers, create intelligent mobile redirects in HTTP cache safe manner using Javascript.
JavaScript
68
star
8

Krusovice

Rhymic photo shows with HTML5 and <canvas>
JavaScript
52
star
9

pdf-to-html

PDF to JPEG images + HTML with <img> alt text converter
Python
48
star
10

desfire

MIFARE DESFire NFC communication protocol for Python
Python
39
star
11

vvv

VVV provides easy to integrate validation and linting tools to prevent bad stuff committed in your software project
Python
37
star
12

LibertyMusicStore

Bitcoin-based MP3 store which artists can add to their own websites
Python
33
star
13

aliens-vs-predator

Aliens vs. Predator Gold source code
C
29
star
14

objectpool.js

Object pool allocator for JavaScript
28
star
15

mfabrik.zoho

Zoho API integration for Python
Python
27
star
16

DRGNSRC

DOS version of Double Dragon II: The Revenge DRGNSRC dump
Assembly
20
star
17

django-nonrel-appengine-buildout

Buildout for creating django-nonrel applications on Google App engine
Python
13
star
18

sane_plone_addon_template

A sane Plone 4 add-on source code template
Python
12
star
19

tumblr-upload

Post a folder of images as Tumblr photo blog posts
Python
11
star
20

django-bitcoin-example

How to accept and spend bitcoins in your Django application
Python
11
star
21

webkivy

Remote live edit and HTTP deployment of Python applications on Android
Python
11
star
22

backend-developer-hiring-exercise

This is a software development exercise for a TypeScript / Node.js backend developer position.
TypeScript
10
star
23

silvuple

Translation manager for Plone / LinguaPlone websites
Python
8
star
24

viral-aave-save-game

A blockchain game where punctual penny savers are rewarded
JavaScript
8
star
25

Eric-Cartman

Javascript based client-side shopping cart implementation
JavaScript
8
star
26

advanced-fungible

Advanced Fungible is a modern, secure and user-friendly token standard for NEAR protocol
Rust
8
star
27

FontAwesome-and-Bootstrap-social-icons-example

Using FontAwesome and CSS3 to create social media icons in pure HTML and CSS
8
star
28

require-js-mooapp-tutorial

For HelsinkiJS 2012 June meet-up
JavaScript
7
star
29

senorita.plonetool

Sysadmin helper tools to create and manage Plone sites
Python
6
star
30

finmeetup

A venture to make Finland's meetups run in more civilized manner
6
star
31

ethereum-blockchain-docker-compose

Docker composes for various Ethereum blockchains: Mainnet, Polygon, Binance Smart Chain
Dockerfile
6
star
32

hiring-tools-stackoverflow-github

Scrape user StackOverflow profile reputations into Google Spreadsheet
Python
5
star
33

how-to-hire-developers

How to hire developers
4
star
34

capitalgram-onchain-dex-quant-data

Python library and API to do quantative analysis for on-chain trading
Python
4
star
35

moot.it-single-signon-example

Django and moot.it forums integration example
Python
4
star
36

mobilejoomla

MoibleJoomla! mobile CMS development
PHP
4
star
37

ms.amp

Buildout for installing Mobilejoomla! on AMP stack from the scratch
Python
4
star
38

frontend-developer-hiring-exercise

An assessment to checkout frontend developer position hires
TypeScript
4
star
39

binance-api-test-tool

A command line tool for Binance Spot Testnet to test your application integration
Python
4
star
40

sphinxcontrib.contributors

Show document contributors on the page
Python
3
star
41

mfabrik.facebookcampaignengine

Easily create Facebook campaigns using Google App engine
Python
3
star
42

imageportlet

An image portlet for Plone 4
Python
3
star
43

plomobile

Plomobile is a modern mobile site solution for Plone CMS. It delivers good mobile user experience on both smartphones and thin client mobile browsers.
JavaScript
3
star
44

visualtitle

Have different navigation and in-page text title in Plone
Python
3
star
45

CocosNet

A port of Cocos2D to C#. Initially intended for MonoTouch and Mono, but with other .NET environments on the horizon. Very new project, not generally usable just yet, but improving rapidly.
C#
3
star
46

django-nonrel-appengine-sample

Sampel project for django-nonrel-appengine buildout
Python
2
star
47

joomcopy

Copy remote Joomla! site to a local computer
2
star
48

testrepo

How this freaking thing works
2
star
49

mfabrik.scanner

Easy network scanning for Python
Python
2
star
50

stakewise-oracle-docker-compose

Docker compose for setting up Stakewise Oracle
Shell
2
star
51

collective.z3cform.datepicker

z3c.form datepicker reworked to be perfect
Python
2
star
52

ansible-steem

Ansible playbook for setting up Steem miner
Python
2
star
53

collective.cartman

Eric Cartman integration for Plone
Python
2
star
54

mopedwarriors

A multi-player game in HTML5 and Python
JavaScript
2
star
55

ffmpegandmencoderbuilder

ffmpeg and mencoder automatic download, configuration and compile script
1
star
56

hubot-open-webhook

Easily send chat messages from shell scripts and any programming language
CoffeeScript
1
star
57

eggify

Create proper Python egg packages for old style Plone add-ons
Python
1
star
58

sublime-text-gettext

Gettext .po file support for Sublime Text 2
1
star
59

caipirinha

Miss Caipirinha is an IRC help bot provided as service
Python
1
star
60

mfabrik.sms

Send SMS using mFabrik SMS service
Python
1
star
61

Recorder

Simple recorder app for iPhone
1
star
62

plone.z3cform

plone.z3cform patches
1
star
63

quant-web

Web frontend for Capitalgram data
CSS
1
star
64

tweetantistorm

Scrape a Twitter post thread and make a blog post out of it
Python
1
star
65

tokens

TokenMarket tokens
Python
1
star
66

listlessview

Provide empty folder listing view for Plone folders
Python
1
star
67

gigbot

Find Python / JavaScript gigs in San Francisco Bay Area
Python
1
star
68

niteoweb.loginas

Hacked niteoweb.loginas to allow "sudo" on Plone site
Python
1
star
69

scrapekit

Python
1
star
70

slideshow9000

Because I can
JavaScript
1
star
71

archetypes.encryptedfield

Symmetric string value encryption for Plone Archetypes content system
Python
1
star
72

superpants

Plone IDE hacking
1
star