新增task,名称为wsl::bash
,右下方的方框内填写:php
"%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl --distro-guid={f24dabf4-473d-4aa4-92fd-364654228b77} -cur_console:pm:/mnt
这里面的f24dabf4-473d-4aa4-92fd-364654228b77
指的是Ubuntu的惟一标识符,若是重装了子系统,那么这个标识符实惠变得。能够在在注册表(regedit)中查找 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
。win+R搜索regedit
。css
查看系统中的shellhtml
cat /etc/shells or echo $SHELL
搜索看看仓库里和zsh相关的包有哪些java
sudo apt-cache search zsh
看到了包的说明后,咱们看看zsh包详细说明node
sudo apt-cache show zsh
安装zshpython
sudo apt-get install zsh -y
验证下安装是否成功mysql
$ zsh --version zsh 5.4.2 (x86_64-ubuntu-linux-gnu)
chsh -s /usr/bin/zsh or chsh -s $(which zsh)
chsh -s 其实修改的就是/etc/passwd 文件中和咱们所登陆的用户名相对应的那一行react
$ cat /etc/passwd|grep ^qhong qhong:x:1000:1000:,,,:/home/qhong:/bin/zsh
若是在wsl系统中并不生效,那么咱们能够在.bashrc末尾加上shell代码,当你打开bash时候切换到zsh。linux
bash -c zsh
orlaravel
if test -t 1; then exec zsh fi
wget https://files-cdn.cnblogs.com/files/hongdada/install.sh -O - | sh
进入~/.oh-my-zsh目录后,看看该目录的结构
qhong@hongda:/$ ls ~/.oh-my-zsh CODE_OF_CONDUCT.md LICENSE.txt cache lib oh-my-zsh.sh templates tools CONTRIBUTING.md README.md custom log plugins themes
lib 提供了核心功能的脚本库
tools 提供安装、升级等功能的快捷工具
plugins 自带插件的存在放位置
templates 自带模板的存在放位置
themes 自带主题文件的存在放位置
custom 个性化配置目录,自安装的插件和主题可放这里
Oh My Zsh 默认自带了一些默认主题,存放在~/.oh-my-zsh/plugins
目录中。咱们能够查看这些插件
qhong@hongda:/$ ls ~/.oh-my-zsh/plugins adb cpanm git-flow-avh lighthouse pyenv systemadmin ansible dash git-hubflow lol pylint systemd ant debian git-prompt macports python taskwarrior apache2-macports dircycle git-remote-branch magic-enter rails terminalapp arcanist dirhistory gitfast man rake terminitor archlinux dirpersist github marked2 rake-fast terraform asdf django gitignore mercurial rand-quote textastic autoenv dnf glassfish meteor rbenv textmate autojump dnote globalias minikube rbfu thefuck autopep8 docker gnu-utils mix react-native themes aws docker-compose go mix-fast rebar thor battery docker-machine golang mosh redis-cli tig bbedit doctl gpg-agent mvn repo timer bgnotify dotenv gradle mysql-macports ripgrep tmux boot2docker droplr grails n98-magerun ros tmux-cssh bower drush grunt nanoc rsync tmuxinator branch eecms gulp ng ruby torrent brew emacs hanami nmap rust transfer bundler ember-cli helm node rvm tugboat bwana emoji heroku nomad safe-paste ubuntu cabal emoji-clock history npm salt ufw cake emotty history-substring-search npx sbt urltools cakephp3 encode64 homestead nvm scala vagrant capistrano extract httpie nyan scd vagrant-prompt cargo fabric iterm2 oc screen vault cask fancy-ctrl-z jake-node osx scw vi-mode catimg fasd jenv otp sdk vim-interaction celery fastfile jhbuild pass sfdx virtualenv chruby fbterm jira paver sfffe virtualenvwrapper chucknorris fd jruby pep8 shrink-path vscode cloudapp fedora jsontools per-directory-history singlechar vundle cloudfoundry firewalld jump percol spring wakeonlan codeclimate forklift kate perl sprunge wd coffee fossil keychain perms ssh-agent web-search colemak frontend-search kitchen phing stack wp-cli colored-man-pages fzf knife pip sublime xcode colorize gas knife_ssh pipenv sudo yarn command-not-found gatsby kops pj supervisor yii common-aliases gb kube-ps1 please suse yii2 compleat geeknote kubectl pod svcat yum composer gem laravel postgres svn z copybuffer git laravel4 pow svn-fast-info zeus copydir git-auto-fetch laravel5 powder swiftpm zsh-navigation-tools copyfile git-extras last-working-dir powify symfony zsh_reload cp git-flow lein profiles symfony2
Oh My Zsh默认是只启用git插件
plugins=(git)
如需启用更多插件,可加入需启用插件的名称。以下
plugins=(git wd web-search history history-substring-search)
自动补全插件
$ git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions
自动提示插件
$ git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
由于箭头→
不太方便,在.zshrc
中自定义补全快捷键为逗号,可是又一次遇到了须要输入逗号的状况,因此,并不太推荐以下修改:
# 补全快捷键重设 # bindkey ',' autosuggest-accept
语法高亮插件
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
编辑.zshrc
启用插件
ZSH_THEME="ys" ............................ plugins=(git zsh-completions zsh-autosuggestions zsh-syntax-highlighting)
安装incr补全插件
wget http://mimosa-pudica.net/src/incr-0.2.zsh mkdir ~/.oh-my-zsh/plugins/incr mv incr-0.2.zsh ~/.oh-my-zsh/plugins/incr echo 'source ~/.oh-my-zsh/plugins/incr/incr*.zsh' >> ~/.zshrc source ~/.zshrc
在~/.zshrc
中找到plugins
关键字,就能够自定义启用的插件了,系统默认加载git
。
命令内容能够参考cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
。
经常使用的:
gapa git add --patch gc! git commit -v --amend gcl git clone --recursive gclean git reset --hard && git clean -dfx gcm git checkout master gcmsg git commit -m gco git checkout gd git diff gdca git diff --cached gp git push grbc git rebase --continue gst git status gup git pull --rebase
完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git
配置私钥
# ssh key path export SSH_KEY_PATH="~/.ssh/rsa_id"
也能够不配置环境变量就能够
解压文件用的,全部的压缩文件,均可以直接x filename
,不用记忆参数
固然,若是你想要用tar
命令,能够使用tar -
加tab
键,zsh会列出参数的含义。
sudo apt-get install autojump
j -stat
:能够查看历史路径库git-open插件能够在你git项目下打开远程仓库浏览项目。
git clone https://github.com/paulirish/git-open.git $ZSH_CUSTOM/plugins/git-open
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
$ source ~/.zshrc [oh-my-zsh] Insecure completion-dependent directories detected: drwxrwxrwx 1 qhong qhong 512 Jun 28 13:18 /home/qhong/.oh-my-zsh/custom/plugins/zsh-autosuggestions [oh-my-zsh] For safety, we will not load completions from these directories until [oh-my-zsh] you fix their permissions and ownership and restart zsh. [oh-my-zsh] See the above list for directories with group or other writability. [oh-my-zsh] To fix your permissions you can do so by disabling [oh-my-zsh] the write permission of "group" and "others" and making sure that the [oh-my-zsh] owner of these directories is either root or your current user. [oh-my-zsh] The following command may help: [oh-my-zsh] compaudit | xargs chmod g-w,o-w [oh-my-zsh] If the above didn't help or you want to skip the verification of [oh-my-zsh] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to [oh-my-zsh] "true" before oh-my-zsh is sourced in your zshrc file.
要赋予执行权限
chmod 755 home/qhong/.oh-my-zsh/custom/plugins chmod 755 home/qhong/.oh-my-zsh/custom/plugins/zsh-autosuggestions
.zshrc中加入如下行
$ vim ~/.zshrc # 历史命令日期显示格式 HIST_STAMPS="yyyy-mm-dd" source ~/.zshrc
若是没用oh my zsh的话可用以下alias
$ alias history='fc -il 1'
设置自动更新oh-my-zsh
默认状况下,当oh-my-zsh有更新时,都会给你提示。若是但愿让oh-my-zsh自动更新,在~/.zshrc 中添加下面这句
DISABLE_UPDATE_PROMPT=true or # 自动更新的时间间隔,单位是天,这里设置 30 天更新一次 export UPDATE_ZSH_DAYS=1
取消自动升级
DISABLE_AUTO_UPDATE=true
要手动更新,能够执行
$ upgrade_oh_my_zsh
uninstall_oh_my_zsh
cd
命令了。在你知道路径的状况下,好比 /usr/local/bin
你能够输入cd /u/l/b
而后按进行补全快速输入kill <tab>
就会列出全部的进程名和对应的进程号ls -l **/*.sh
,能够递归显示当前目录下的 shell 文件,文件少时能够代替 find
。使用 **/
来递归搜索setopt HIST_IGNORE_DUPS
能够消除重复记录,也能够利用sort -t ";" -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history
手动清除一、更新软件包列表:
sudo apt-get update
二、安装openjdk-8-jdk:
sudo apt-get install openjdk-8-jdk
三、查看java版本,看看是否安装成功:
java -version
查看安装路径
$ sudo update-alternatives --config java There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java Nothing to configure.
设置环境变量
#set jdk environment export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
移动安装包到指定位置
$ sudo mv apache-maven-3.6.1-bin.tar.gz /usr/local/
解压
$ sudo tar -zxvf apache-maven-3.6.1-bin.tar.gz $ sudo rm -rf apache-maven-3.6.1-bin.tar.gz
设置环境变量
export M2_HOME=/usr/local/apache-maven-3.6.1 export PATH=${M2_HOME}/bin:$PATH
查看
$ mvn -v Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00) Maven home: /usr/local/apache-maven-3.6.1 Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.4.0-18362-microsoft", arch: "amd64", family: "unix"
移动安装包
$ sudo mv apache-tomcat-8.5.42.tar.gz /usr/local/
解压
$ sudo tar -zxvf apache-tomcat-8.5.42.tar.gz $ sudo rm -rf apache-tomcat-8.5.42.tar.gz
设置环境变量
export TOMCAT_HOME=/usr/local/apache-tomcat-8.5.42 export PATH=${TOMCAT_HOME}/bin:$PATH
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 alias cls='clear' alias ll='ls -l' alias la='ls -a' alias vi='vim' alias javac="javac -J-Dfile.encoding=utf8" alias grep="grep --color=auto" alias -s html=mate # 在命令行直接输入后缀为 html 的文件名,会在 TextMate 中打开 alias -s rb=mate # 在命令行直接输入 ruby 文件,会在 TextMate 中打开 alias -s py=vi # 在命令行直接输入 python 文件,会用 vim 中打开,如下相似 alias -s js=vi alias -s c=vi alias -s java=vi alias -s txt=vi alias -s gz='tar -xzvf' alias -s tgz='tar -xzvf' alias -s zip='unzip' alias -s bz2='tar -xjvf' #set jdk environment export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH export M2_HOME=/usr/local/apache-maven-3.6.1 export PATH=${M2_HOME}/bin:$PATH alias mccm=mvn clean compile -Dmaven.test.skip=true alias mcpm=mvn clean package -Dmaven.test.skip=true alias mcim=mvn clean install -Dmaven.test.skip=true alias mccs=mvn clean compile -DskipTests alias mcps=mvn clean package -DskipTests alias mcis=mvn clean install -DskipTests alias mdt=mvn dependency:tree alias mdtv=mvn dependency:tree -Dverbose alias mdti=mvn dependency:tree -Dincludes= alias mdte=mvn dependency:tree -Dexcludes= alias mdtvi=mvn dependency:tree -Dverbose -Dincludes=$* alias mdtve=mvn dependency:tree -Dverbose -Dexcludes= alias mdp=mvn dependency:purge-local-repository alias mdpi=mvn dependency:purge-local-repository -Dincludes= alias mdpe=mvn dependency:purge-local-repository -Dexcludes= alias mdpa=mvn dependency:purge-local-repository -DactTransitively=false alias mdpai=mvn dependency:purge-local-repository -DactTransitively=false -Dincludes= alias mdpae=mvn dependency:purge-local-repository -DactTransitively=false -Dexcludes= alias mdpr=mvn dependency:purge-local-repository -DreResolve=false alias mdpri=mvn dependency:purge-local-repository -DreResolve=false -Dincludes= alias mdpre=mvn dependency:purge-local-repository -DreResolve=false -Dexcludes= alias mdpar=mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false alias mdparf=mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false --fail-at-end alias mdpari=mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false -Dincludes= alias mdpare=mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false -Dexcludes= alias mdparm=mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false -DmanualIncludes=
Windows Subsystem for Linux 环境配置 (最新 1709 版)
WSL+cmder+oh-my-zsh美化win10命令工具(terminal)