linux下搭建oh-my-zsh环境
目标:因为用习惯了zsh的shell环境,所以习惯在服务器上也搭建zsh环境,但是每次搭建都需要Google每一步骤,感觉很麻烦,所以决定记录一下,免得一次次查
1. 安装zsh
zsh是一款shell环境,oh-my-zsh在其基础上加了很多扩展和插件。
具有sudo权限
如果是root用户:sudo apt-get install zsh
确定zsh是否安装成功:zsh --version
更改自己的默认shell为zsh:sudo chsh -s $(which zsh)
重启一下,就可以进行第二步了
普通用户
如果没有sudo权限,那就只能自己手动编译安装了=。=
## 下载源码
wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download
## 解压
xz -d zsh.tar.xz ## 解压xz文件,提示xz命令不存在的话安装一下xz
tar -xvf zsh.tar ## 解压tar文件
./configure --prefix=$HOME/usr/ # 进入到有./configure文件下开始编译。prefix后面跟的目录可以自定义的
make
make install
2. 安装oh-my-zsh
oh-my-zsh其实已经很成熟了,也具有丰富的生态,开发者们根据自己的需要创建了许多的插件~
安装方法有两种:
- 直接安装:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
or:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
一般这种方法就能直接安装好,奈何网络原因,一直失败,于是我使用了第二种方法:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
注: 1. 克隆后将templates目录下的zsh配置文件拷贝至~/.zshrc即可,就是先把.oh-my-zsh/templates/xxx 文件拷贝到家目录,然后改名为.zshrc
2. .oh-my-zsh一定要在$HOME下( ~ 下)
3. 注意这句命令的oh-my-zsh前面有.
3. 设置zsh为默认shell
如果有sudo权限,那么在第一步就可以完成,如果没有,那就得想别的办法。
我这里用了比较偷懒的方法,可以直接在.bashrc中加一行zsh使得登录bash后自动切换为zsh。
由于我这台服务器默认是sh,甚至想要切换到bash都要手动敲一下bash。于是我找到了它的.profile文件,在最后一行加了句:zsh
4. 安装常用的插件
安装完oh-my-zsh后,就可以看看丰富的插件了!
通过编辑.zshrc可以自定义主题和插件
我本人喜欢的主题是:
ZSH_THEME="agnoster" # 找到.zshrc文件中这一行就可以自己修改了,最猛的是可以改成random,每次登录都会随机一个主题~
我习惯的插件:
plugins=(git
tmux
extract
rand-quote
z
vi-mode
zsh-syntax-highlighting
zsh-autosuggestions
)
改完这个文件保存一下,重启一下shell就能使用了,BUT,由于后面两个插件不是oh-my-zsh自带的,所以需要自己手动安装,安装就是clone一下这两个仓库,其实很方便:
git clone https://github.com/zsh-users/zsh-autosuggestions.git ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions #这个插件就是能智能补全你的命令
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting #这个插件是能够高亮你在shell里输入的所有命令,如果是正确的,命令呈现绿色,如果是红色,那么说明你输的有问题
这个就是有绿色的高亮也有灰色的智能联想:

关于zsh的各种快捷键实在是太多了,可以想用时查找,在使用git时也十分方便,建议大家都用起来哦!
参考文章
https://www.jianshu.com/p/e91e3dfbb6fd
https://www.niconya.com/bv/e207/
linux下搭建oh-my-zsh环境的更多相关文章
- LINUX下搭建JAVA的开发环境
LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13) 下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...
- Linux下搭建C/C++编程环境
Linux下搭建C/C++编程环境 1.KDevelop下载 wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5. ...
- linux下搭建php的集成环境
一个偶然的机会,在项目中需要搭建PHP的环境,由于PHP开发需要的东西比较多,像apache.mysql.PHP环境等,如果一个一个装很可能会有安装不全的问题,为此选择了安装集成环境,这里选择的是xa ...
- Linux下搭建FFmpeg开发调试环境
背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可.但是如果你想调试FFmpeg内部相关的逻辑,或者 ...
- Linux下搭建asp.net运行环境
最近有个项目,是在Windows平台下开发的,需要把 asp.net web应用移植到 CentOS下,甚是头疼: 翻阅资料,发现Jexus是个可行的方案,下面是官方对Jexus的定义: 什么是Jex ...
- Linux下搭建ruby on rails环境
要搭建的东西:Ruby 1.8.7,Rails 2.3.8,rubygem 1.3.7 1.安装ruby sudo apt-get install ruby-full 2.安装rubygem sudo ...
- linux下搭建android NDK开发环境
1)下载android-ndk-r4 下载地址 http://www.ideasandroid.com/android/sdk/android-ndk-r4-linux-x86.zip http: ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
随机推荐
- Mybatis-Plus高级之LambdaQueryWrapper,Wrappers.<实体类>lambdaQuery的使用
一.前言 小编今天又来分享干货了,绝对的干净又卫生,大伙请放心食用哈!Mybatis-Plus我们经常使用,但是里面的很多功能,小编开始只是知道一点点,做个增删改查没问题.小编在新项目中发现,大神们不 ...
- 【Prometheus+Grafana系列】监控MySQL服务
前言 前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务.当时实现了监控服务器指标数据,是通过 node_exporter.Prometheu ...
- windows绕过杀软添加账户密码
windows绕过杀软添加账户密码 起因:system权限下存在杀软无法添加账户信息 绕过方法 1.C#脚本 运行后会在目标机器上创建一个用户为 wh4am1 密码为 qqai@love 的 Admi ...
- C++工厂方法模式讲解和代码示例
在C++中使用模式 使用示例: 工厂方法模式在 C++ 代码中得到了广泛使用. 当你需要在代码中提供高层次的灵活性时, 该模式会非常实用. 识别方法: 工厂方法可通过构建方法来识别, 它会创建具体类的 ...
- ubuntu安装BricsCAD
目录 目录 下载软件包 安装deb软件包 sudo dpkg -i *.deb 将Crack/bricsys.lic中hostid= <YOURHOSTID>替代本机MAC地址(中间不要冒 ...
- plpgsql 编译执行
Oracle 的存储过程或函数提供了两种执行方式: 解释执行:将源代码逐条转换成目标代码,解释一条,执行一条的过程.PLPGSQL将语句翻译成中间形式的系统代码,并在运行时进行解释. 编译执行:将源代 ...
- 【面试题】JS使用parseInt()、正则截取字符串中数字
JS使用parseInt()和正则截取字符串中数字 点击打开视频讲解更加详细 parseInt() 函数 定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数. 当参数 radix ...
- 使用Vite快速构建Vue3+ts+pinia脚手架
一.前言 vue3的快速更新,很多IT发展快的地区在22开始都已经提上日程,小编所在的青岛好像最近才有点风波.vue3的人才在青岛还是比较稀缺的哈,纯属小编自己的看法,可能小编是个井底之蛙!! vue ...
- 微服务系列之授权认证(三) JWT
1.JWT简介 官方定义:JWT是JSON Web Token的缩写,JSON Web Token是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,可以将各方之间的信息作为JSON ...
- Beats:在Docker里运行Filebeat