我一直在挖掘iTerm2的设置,但我似乎无法找到一种方法让它启动Zsh而不是Bash,有没有人知道在iTerm2中执行此操作的正确方法?
我问这个是因为我来自Mac终端,它很容易让你选择在启动时运行什么,但我似乎无法通过iTerm2直接找到一些东西.
我在谷歌搜索它,但由于某种原因我只能找到oh-my-zsh引用,与未修改的iTerm2无关.
感谢您提供的任何帮助,谢谢.:)
我最近开始使用Zsh,它很棒.不幸的是,对于这个项目,我认为我的"主要"项目,一切都很慢.我的意思是每次我运行一个命令 - ls
例如 - 在执行命令的时间与我再次使用终端之间的时间差不多是五秒钟.
这个回购让Zsh如此缓慢有什么不同?我认为这是Zsh特有的,因为在我开始使用Zsh之前没有问题.我尝试过做git clean
但没有任何明显的区别.
如果重要的话,我在Mac OS X上.
更新:原来我的这一行.zshenv
是什么让它变慢:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
Run Code Online (Sandbox Code Playgroud)
如果我对该行进行评论,则需要大约3秒钟,大约需要1秒钟.不幸的是,我需要那条线,因为我的很多项目都使用RVM.我现在不知道该怎么办.
更新2:这似乎是一个特别的哦哦我的zsh的事情.如果我没有加载~/.oh-my-zsh/oh-my-zsh.sh
,我没有问题.
假设我使用zsh运行命令
echo "mysecret" > file
我可以使用以下命令轻松打印包含条目号的历史记录fc -l
:
Run Code Online (Sandbox Code Playgroud)1 echo "mysecret" >| file
但是,如何从历史记录中轻松删除条目?
我在man zshbuiltins中找不到相应的段落.
刚刚从bash切换到zsh.
在bash中,后台任务在shell退出时继续运行.例如,在这里dolphin
继续运行exit
:
$ dolphin .
^Z
[1]+ Stopped dolphin .
$ bg
[1]+ dolphin . &
$ exit
Run Code Online (Sandbox Code Playgroud)
这就是我想要的默认行为.
相比之下,zsh的行为是警告运行作业exit
,然后再关闭它们exit
.例如,dolphin
在第二个exit
命令实际退出shell 时关闭:
% dolphin .
^Z
zsh: suspended dolphin .
% bg
[1] + continued dolphin .
% exit
zsh: you have running jobs.
% exit
Run Code Online (Sandbox Code Playgroud)
如何像bash一样在这里制作zsh的默认行为?
我最近开始使用Zsh来获取我的Git状态等shell提示中的一些集成支持.
当我输入时:
ruby -v
Run Code Online (Sandbox Code Playgroud)
为了确认我正在运行的ruby版本,Zsh询问我是否要将命令更改为_ruby.好之后在提示符处说不,并且命令按预期完成,在确认我的命令正确后,我会继续在提示符下得到问题.
我假设有一个完成文件或类似的东西.
谢谢
更新:
shell不再试图完成_ruby,它在关闭shell之后停止响应几次如何.
我尝试多次清理文件,但是有一个"opts"变量,长度为50行或更多,并且所有行都在一起运行,一些行超过150个字符.如果您还想看到它,也许我可以通过电子邮件向您发送附件.我真诚地为凌乱的帖子道歉.
每次我在Mac上打开终端我都会得到提示
你想检查更新吗?
我觉得很烦人.无论如何要阻止它这样做?
如何在zsh中显示函数的定义?type foo
不给出定义.
在bash中:
bash$ function foo() { echo hello; }
bash$ foo
hello
bash$ type foo
foo is a function
foo ()
{
echo hello
}
Run Code Online (Sandbox Code Playgroud)
在zsh中:
zsh$ function foo() { echo hello; }
zsh$ foo
hello
zsh$ type foo
foo is a shell function
Run Code Online (Sandbox Code Playgroud) 在Bash中,当我输入命令时,我按Ctrl+ U,将从行的开头到光标的所有字符都被删除.但是,在zsh中,如果我按下Ctrl+ U,则整条线都消失了.
如何在Zsh和Bash中一样?
我正在尝试为我的简单git add/commit/push创建一个带参数的别名.
我已经看到函数可以用作别名所以我尝试但我没有成功..
在我之前:
alias gitall="git add . ; git commit -m 'update' ; git push"
Run Code Online (Sandbox Code Playgroud)
但我希望能够修改我的提交:
function gitall() {
"git add ."
if [$1 != ""]
"git commit -m $1"
else
"git commit -m 'update'"
fi
"git push"
}
Run Code Online (Sandbox Code Playgroud)
(我知道这是一个可怕的git练习)
我正试图从Bash转移到zsh.
我将.bashrc直接放到我的.zshrc中,当我再次尝试使用Bash时,它会导致很多错误.
如何将.bashrc导出到.zshrc?