首页 > 其他分享 >Oh-My-Zsh 提示符只显示当前路径,不需要修改主题文件

Oh-My-Zsh 提示符只显示当前路径,不需要修改主题文件

时间:2024-05-06 12:23:55浏览次数:18  
标签:prompt Oh Zsh zshrc My zsh

我真是服了。就这么一个简单的小问题我在网上找了一个多小时,一大堆 CSDN 文章都是抄 同一篇博客 的教程,所有的博客都要我去把 ~/.oh-my-zsh/themes/*.zsh-theme 文件里面的 PROMPT 变量改掉。这个方法确实可以奏效,所幸我是只用 Gruvbox,万一我要是使用随机配色方案,每个 theme 都改一遍不得改到地老天荒?

还有人说在 .zshrc 里面修改 $PROMPT 变量的。亲测这种方法只能用于没有安装插件的 Zsh 而并不适用于 Oh-My-Zsh。

这篇博客园文章 iTerm 中 oh my zsh 主题去掉 git 目录多级显示 好不容易提及了重点,又被搜索引擎打到地底下下去了,我愣是翻了三五页搜索内容才找到。

最后实在没有办法,一直找到 GitHub 原仓库的 issue 下面才找到解决问题的方法。

解决方案

方案来自 ahmed-hdeawy

  1. 使用任何文本编辑器打开 ~/.zshrc 文件,比如 vim ~/.zshrc

  2. 跳转到文件结尾

黏贴如下函数:

prompt_dir() {
  prompt_segment blue $CURRENT_FG '%c'
}

在上述函数中,%c 代表的即是当前的路径。根据 ruimartinsptl 给出的方案,可以用下面的函数显示“上三级目录”:

prompt_dir() {
  prompt_segment blue $CURRENT_FG '%3~'
}

%3~ 中的数字换成几就显示几级目录。

$PWD 的尾部组成部分。% 后面可以跟一个整数,用来获取多个组成部分。除非使用了 %C,否则首先执行波浪线缩写(即路径中的 ~ 替换)。这些用法已经被弃用,因为 %c%C 分别等同于 %1~%1/,而显式的正整数对于后两个序列的效果是相同的。

这段话翻自 zshmisc(1) - Linux man page

标签:prompt,Oh,Zsh,zshrc,My,zsh
From: https://www.cnblogs.com/BOXonline1396529/p/18174783

相关文章

  • 第六章:Coherence Protocols
    chapter6:cachecoherence1、大局观coherence的目标,具体包括:单写多读(single-writer-multiple-reader,SWMR)不变性:对任何内存地址A,在任何时间点上只存在一个可以向A写入的内核,但可以存在多个从A读取的内核。数据-值(data-value)不变性:一个内存位置在一个时间片开始时的值与该内存......
  • MyBatis-Plus 分页查询配置
    说明一下,使用MyBatis-Plus进行分页查询时,要先进行配置添加配置/***@AuthorNorth*@Date2024/5/6*/@ConfigurationpublicclassMPConfig{@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptormybatisPlu......
  • MySQL Connection not available问题解决方案
    在后端开发过程中,连接mysql数据库,过几个小时第一次使用会出现MySQLConnectionnotavailable报错这是因为MySql数据库存在一个连接池的回收时间,超过这个时间会导致资源无法正常释放,无法连接到MySql数据库1)在相关引用页面,进行定时刷新功能,这样尽管是同一个连接,但是相当于一个新......
  • MySQL DBA 面试问题
    1、MySQL适用的场景是什么?数据量建议单实例T级或以内,不依赖存储过程、函数、触发器的传统oltp场景都适用,因为是一个相对轻量级的数据库灾备使用MySQL各类的高可用方案即可,比如主从、mha、mgr等。2、MySQL巡检应该怎么做?优先关注哪些参数?可以从以下几个方面去做:服务器配置操......
  • mysql忘记密码
      mysql修改用户密码的方法及命令 方法1:用SETPASSWORD命令 首先登录MySQL。 格式:mysql>setpasswordfor用户名@localhost=password('新密码'); 例子:mysql>setpasswordforroot@localhost=password('123'); 方法2:用mysqladmin 格式:mysqladmin-u用户名......
  • Mysql权限管理,备份与三大范式
    mysql访问权限系统表mysql的权限由四个表来控制权限,分别是user表,db表,tables_priv表,columns_priv表表名作用user存放用户账号、密码、主机信息和全局权限db数据库级别的权限表tables_priv表级别的权限表columns_priv列级权限表procs_priv函数/存储过......
  • Mysql索引
    索引是对数据库表中一列或多列的值进行排序的一种结构。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。索引的优缺点:优点:所有的MySql列类型(字段类型)都可以被索引,也就是可以给任意字段设置索引。大大加快数据的查询速度。缺点:......
  • java面试-mybatis篇
    1.#{}和${}的区别是什么#{}是预编译处理,在mybatis处理#{}时,会将其转换为?,这种方式可以有效避免sql注入。${}是字符串替换,在mybatis处理${}时,会将其替换成变量的值。2.通常一个xml映射文件,都会有一个对应的dao接口。请问这个dao接口原理是什么,dao接口的方法参数不同时,支......
  • mysql执行update语句流程
    客户端发送更新命令到MySQL服务器,经过处理连接、解析优化等步骤;Server层向InnoDB存储引擎要id=1的这条记录;存储引擎先从bufferpoll中查找这条记录,有的话直接返回,没有则从磁盘加载到bufferpoll中然后返回;Server层执行器修改这条记录的name字段值;存储引擎更新修改到内存中;存储......
  • Mysql中的事务
    事务的四大特性:特性解释原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。一致性(Consistency)事务发生前后,数据的完整性要保持一致。隔离性(Isolation)隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的......