kandi background
Explore Kits

ohmyzsh | delightful community-driven | Command Line Interface library

 by   ohmyzsh Shell Version: Current License: MIT

 by   ohmyzsh Shell Version: Current License: MIT

Download this library from

kandi X-RAY | ohmyzsh Summary

ohmyzsh is a Shell library typically used in Utilities, Command Line Interface applications. ohmyzsh has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.
Oh My Zsh is an open source, community-driven framework for managing your zsh configuration. Sounds boring. Let's try again. Once installed, your terminal shell will become the talk of the town or your money back! With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, "that is amazing! are you some sort of genius?". Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often. 😬. To learn more, visit ohmyz.sh, follow @ohmyzsh on Twitter, and join us on Discord.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • ohmyzsh has a medium active ecosystem.
  • It has 141698 star(s) with 23743 fork(s). There are 2675 watchers for this library.
  • It had no major release in the last 12 months.
  • There are 175 open issues and 3926 have been closed. On average issues are closed in 11 days. There are 398 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of ohmyzsh is current.
ohmyzsh Support
Best in #Command Line Interface
Average in #Command Line Interface
ohmyzsh Support
Best in #Command Line Interface
Average in #Command Line Interface

quality kandi Quality

  • ohmyzsh has 0 bugs and 0 code smells.
ohmyzsh Quality
Best in #Command Line Interface
Average in #Command Line Interface
ohmyzsh Quality
Best in #Command Line Interface
Average in #Command Line Interface

securitySecurity

  • ohmyzsh has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • ohmyzsh code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.
ohmyzsh Security
Best in #Command Line Interface
Average in #Command Line Interface
ohmyzsh Security
Best in #Command Line Interface
Average in #Command Line Interface

license License

  • ohmyzsh is licensed under the MIT License. This license is Permissive.
  • Permissive licenses have the least restrictions, and you can use them in most projects.
ohmyzsh License
Best in #Command Line Interface
Average in #Command Line Interface
ohmyzsh License
Best in #Command Line Interface
Average in #Command Line Interface

buildReuse

  • ohmyzsh releases are not available. You will need to build from source code and install.
  • Installation instructions, examples and code snippets are available.
  • It has 439 lines of code, 22 functions and 7 files.
  • It has high code complexity. Code complexity directly impacts maintainability of the code.
ohmyzsh Reuse
Best in #Command Line Interface
Average in #Command Line Interface
ohmyzsh Reuse
Best in #Command Line Interface
Average in #Command Line Interface
Top functions reviewed by kandi - BETA

Coming Soon for all Libraries!

Currently covering the most popular Java, JavaScript and Python libraries. See a SAMPLE HERE.
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.

ohmyzsh Key Features

🙃 A delightful community-driven (with 2,000+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.

Basic Installation

copy iconCopydownload iconDownload
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh

Plugins

copy iconCopydownload iconDownload
vi ~/.zshrc

Themes

copy iconCopydownload iconDownload
ZSH_THEME="robbyrussell"

Advanced Installation

copy iconCopydownload iconDownload
ZSH="$HOME/.dotfiles/oh-my-zsh" sh install.sh

Getting Updates

copy iconCopydownload iconDownload
DISABLE_UPDATE_PROMPT=true

Manual Updates

copy iconCopydownload iconDownload
omz update

Git environment variables on PowerShell on Windows

copy iconCopydownload iconDownload
PS C:\> get-psdrive

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
Alias                                  Alias
C                 127.73        337.38 FileSystem    C:\
Cert                                   Certificate   \
D                 281.46       2700.96 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
PS C:\> dir env:

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\myname\AppData\Roaming
...
$t = $env:GIT_OPTIONAL_LOCKS
$env:GIT_OPTIONAL_LOCKS = 0
git "$@"
$env:GIT_OPTIONAL_LOCKS = $t
-----------------------
PS C:\> get-psdrive

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
Alias                                  Alias
C                 127.73        337.38 FileSystem    C:\
Cert                                   Certificate   \
D                 281.46       2700.96 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
PS C:\> dir env:

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\myname\AppData\Roaming
...
$t = $env:GIT_OPTIONAL_LOCKS
$env:GIT_OPTIONAL_LOCKS = 0
git "$@"
$env:GIT_OPTIONAL_LOCKS = $t
-----------------------
PS C:\> get-psdrive

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
Alias                                  Alias
C                 127.73        337.38 FileSystem    C:\
Cert                                   Certificate   \
D                 281.46       2700.96 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
PS C:\> dir env:

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\myname\AppData\Roaming
...
$t = $env:GIT_OPTIONAL_LOCKS
$env:GIT_OPTIONAL_LOCKS = 0
git "$@"
$env:GIT_OPTIONAL_LOCKS = $t

Can't connect to homestead MySQL database - Permission denied (publickey,password)

copy iconCopydownload iconDownload
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/nielsvroman/.keys/id_rsa
no such identity: /Users/nielsvroman/.keys/id_rsa: No such file or directory
                                     ^^^^^ 

Laravel Homestead - page stopped working ERR_ADDRESS_UNREACHABLE

copy iconCopydownload iconDownload
config.vm.provider "virtualbox" do |v|
   v.gui = true
end

How to remove the need of "./" in every shell script in MacOS?

copy iconCopydownload iconDownload
# find the named executable in the current working directory first
export PATH=".:$PATH"

# find the named executable in the current working directory
# only if it isn't found elsewhere in your PATH
export PATH="$PATH:."

# append only the working directory you're currently in when you
# update the PATH variable, rather than *any* current working 
# directory, to your PATH
export PATH="$PATH:$PWD"
# ~/dev/foo/.envrc
#
# prepend "$HOME/dev/foo:$HOME/dev/foo/bin" to your 
# existing PATH when entering your project directory,
# and remove it from your PATH when you exit from the
# project

PATH_add "$PWD/bin"
PATH_add "$PWD"
# add this line to .profile, .zprofile, .zshrc, or
# whatever login script your particular terminal calls;
# on macOS, this should usually be .zprofile, but YMMV
export PATH="$HOME/bin:$PATH"

# make a ~/bin directory and place your
# executables there
mkdir -p ~/bin
cp helloworld.sh ~/bin/
-----------------------
# find the named executable in the current working directory first
export PATH=".:$PATH"

# find the named executable in the current working directory
# only if it isn't found elsewhere in your PATH
export PATH="$PATH:."

# append only the working directory you're currently in when you
# update the PATH variable, rather than *any* current working 
# directory, to your PATH
export PATH="$PATH:$PWD"
# ~/dev/foo/.envrc
#
# prepend "$HOME/dev/foo:$HOME/dev/foo/bin" to your 
# existing PATH when entering your project directory,
# and remove it from your PATH when you exit from the
# project

PATH_add "$PWD/bin"
PATH_add "$PWD"
# add this line to .profile, .zprofile, .zshrc, or
# whatever login script your particular terminal calls;
# on macOS, this should usually be .zprofile, but YMMV
export PATH="$HOME/bin:$PATH"

# make a ~/bin directory and place your
# executables there
mkdir -p ~/bin
cp helloworld.sh ~/bin/
-----------------------
# find the named executable in the current working directory first
export PATH=".:$PATH"

# find the named executable in the current working directory
# only if it isn't found elsewhere in your PATH
export PATH="$PATH:."

# append only the working directory you're currently in when you
# update the PATH variable, rather than *any* current working 
# directory, to your PATH
export PATH="$PATH:$PWD"
# ~/dev/foo/.envrc
#
# prepend "$HOME/dev/foo:$HOME/dev/foo/bin" to your 
# existing PATH when entering your project directory,
# and remove it from your PATH when you exit from the
# project

PATH_add "$PWD/bin"
PATH_add "$PWD"
# add this line to .profile, .zprofile, .zshrc, or
# whatever login script your particular terminal calls;
# on macOS, this should usually be .zprofile, but YMMV
export PATH="$HOME/bin:$PATH"

# make a ~/bin directory and place your
# executables there
mkdir -p ~/bin
cp helloworld.sh ~/bin/

How do I get the zsh plugin colored-man-pages to work for git?

copy iconCopydownload iconDownload
colored git help clone

How to get case-insensitive completions without Ohmyzsh?

copy iconCopydownload iconDownload
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
autoload -Uz compinit && compinit

Find util not found on OSX

copy iconCopydownload iconDownload
type find
/usr/local/opt/findutils/libexec/gnubin/find
PATH := /usr/local/opt/findutils/libexec/gnubin:$(PATH)
-----------------------
type find
/usr/local/opt/findutils/libexec/gnubin/find
PATH := /usr/local/opt/findutils/libexec/gnubin:$(PATH)
-----------------------
type find
/usr/local/opt/findutils/libexec/gnubin/find
PATH := /usr/local/opt/findutils/libexec/gnubin:$(PATH)

git branch displays my branch names in a VIM window, instead of in my current iterm2 window

copy iconCopydownload iconDownload
git config core.pager 'less -FRX'
-----------------------
 export LESS=FRX

messed up pip for python 2.7.16 and upgraded it to pip v 21.1.2

copy iconCopydownload iconDownload
python2 -m pip install "pip<21.0"

How to italicize prompt for zsh (oh-my-zsh, iTerm2)?

copy iconCopydownload iconDownload
RPROMPT="$(tput sitm) Hello $(tput sgr0)"

Community Discussions

Trending Discussions on ohmyzsh
  • Git environment variables on PowerShell on Windows
  • Can't connect to homestead MySQL database - Permission denied (publickey,password)
  • Laravel Homestead - page stopped working ERR_ADDRESS_UNREACHABLE
  • How to remove the need of &quot;./&quot; in every shell script in MacOS?
  • Homestead multiple sites issue
  • Homestead ERR_SOCKET_NOT_CONNECTED After Mac OS Update
  • How do I get the zsh plugin colored-man-pages to work for git?
  • How to get case-insensitive completions without Ohmyzsh?
  • Find util not found on OSX
  • Error Ruby &quot;Your Ruby version is 3.0.2, but your Gemfile specified 2.7.1&quot;
Trending Discussions on ohmyzsh

QUESTION

Git environment variables on PowerShell on Windows

Asked 2022-Apr-12 at 05:21

The following function was taken from ohmyzsh, and I am rewriting it to work with PowerShell 7.2.2 for educational purposes.

function __git_prompt_git() {
  GIT_OPTIONAL_LOCKS=0 command git "$@"
}

Apparently, PS does not support inline variables like ($foo='bar' func), and ($foo='bar'; func) throws an error at ;. Also, I don't know if Git for Windows reads from $GIT_OPTIONAL_LOCKS or $env:GIT_OPTIONAL_LOCKS.

ANSWER

Answered 2022-Apr-12 at 05:21

Environment variables are distinct from normal variables you use in Powershell. The environment is what the env: implicit "PS Drive" lets you access, and this sits alongside several other drive-like namespaces, a few of which are the actual drives like C: and so forth.

PS C:\> get-psdrive

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
Alias                                  Alias
C                 127.73        337.38 FileSystem    C:\
Cert                                   Certificate   \
D                 281.46       2700.96 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan

And as you might suspect, you can indeed dir (Get-ChildItem) the env: "drive":

PS C:\> dir env:

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\myname\AppData\Roaming
...

So yes, $GIT_OPTIONAL_LOCKS and $env:GIT_OPTIONAL_LOCKS are indeed completely different. The first is just a variable in the running powershell scope, the second is the environment variable of the same (coincidental) name.

Since environment variables are external you will need to save and restore, for instance like:

$t = $env:GIT_OPTIONAL_LOCKS
$env:GIT_OPTIONAL_LOCKS = 0
git "$@"
$env:GIT_OPTIONAL_LOCKS = $t

This does the right thing if the environment variable does not already exist; $t will be set to $null and setting the environment variable to $null will remove it from the environment.

Source https://stackoverflow.com/questions/71836872

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install ohmyzsh

Oh My Zsh is installed by running one of the following commands in your terminal. You can install this via the command-line with either curl, wget or another similar tool.
Some users may want to manually install Oh My Zsh, or change the default path or other settings that the installer accepts (these settings are also documented at the top of the install script). The default location is ~/.oh-my-zsh (hidden in your home directory, you can access it with cd ~/.oh-my-zsh).
REPO (default: ohmyzsh/ohmyzsh): this takes the form of owner/repository. If you set this variable, the installer will look for a repository at https://github.com/{owner}/{repository}.
REMOTE (default: https://github.com/${REPO}.git): this is the full URL of the git repository clone. You can use this setting if you want to install from a fork that is not on GitHub (GitLab, Bitbucket...) or if you want to clone with SSH instead of HTTPS (git@github.com:user/project.git). NOTE: it's incompatible with setting the REPO variable. This setting will take precedence.
BRANCH (default: master): you can use this setting if you want to change the default branch to be checked out when cloning the repository. This might be useful for testing a Pull Request, or if you want to use a branch other than master.
If you have any hiccups installing, here are a few common fixes.
You might need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to oh-my-zsh.
If you installed manually or changed the install location, check the ZSH environment variable in ~/.zshrc.

Support

Before you participate in our delightful community, please read the code of conduct.

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Explore Related Topics

Share this Page

share link
Reuse Pre-built Kits with ohmyzsh
Consider Popular Command Line Interface Libraries
Try Top Libraries by ohmyzsh
Compare Command Line Interface Libraries with Highest Support
Compare Command Line Interface Libraries with Highest Quality
Compare Command Line Interface Libraries with Highest Security
Compare Command Line Interface Libraries with Permissive License
Compare Command Line Interface Libraries with Highest Reuse
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.