内容简介:在进行高效的SHELL实践之前,首先配置一下基础环境,当然首先是需要一台MacOS电脑。这里采用:安装完成后,轻松敲打几个命令,该提示的、补全的也都如预期般的展示,的确大大的提升了命令输入的效率。减少输入的另一个办法就是对拼写复杂的命令设置简易的别名。
在进行高效的 SHELL 实践之前,首先配置一下基础环境,当然首先是需要一台MacOS电脑。这里采用: zsh
+ oh-my-zsh
+ zsh-completions
+ zsh-autosuggestions
。具体安装步骤如下:
# 切换默认SHELL为 zsh $: chsh -s /bin/zsh # 安装 oh-my-zsh $: sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" # 安装 zsh-completions $: git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions # 安装 zsh-autosuggestions $: git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions 复制代码
安装完成后,轻松敲打几个命令,该提示的、补全的也都如预期般的展示,的确大大的提升了命令输入的效率。
命令别名
减少输入的另一个办法就是对拼写复杂的命令设置简易的别名。 alias
别名命令最常规的用法就是,定义别名。当然这是 alias
命令的主要功能之一。不过它还具有其它功能,不细看的话很容易被忽略掉。
不妨通过 tldr
命令查询看看 alias
的功能列表:
$: tldr alias alias Creates aliases -- words that are replaced by a command string. Aliases expire with the current shell session, unless they're defined in the shell's configuration file, e.g. `~/.bashrc`. - List all aliases: alias - Create a generic alias: alias word="command" - View the command associated to a given alias: alias word - Remove an aliased command: unalias word - Turn `rm` into an interactive command: alias rm="rm -i" - Create `la` as a shortcut for `ls -a`: alias la="ls -a" 复制代码
不难看出, alias
命令还有另外检索的功能,该功能在我们设置别名时先判断是否已经存在别名非常有用。
框架扩展
如果仅仅认为 oh-my-zsh
只是提供的个性化的主题脚本框架,真是太小看它了。它一套真正的基于 zsh
的脚本框架,其真正的威力还表现在其提供的200多个插件上, 当然这些插件是需要安装的,在 oh-my-zsh
的插件目录中仅仅是这些 工具 的辅助函数或是别名。通过这个插件目录,我们可以发现大量功能强大的工具。当然我们也可以将自己常用的脚本放进来,作为独立的分支维护个人命令。
通常, oh-my-zsh
都会开启默认插件 git
功能。但是具体 git
插件提供了哪些功能则需要通过插件的 README
文件。打开一看,里面提供的别名有 141 个之多,这么多的别名很明显是无法记忆的。
# 统计一些git的别名总数 $: alias | grep ^g | wc -l 141 复制代码
如果能够在使用时快速的查询这些别名,用时查询,一旦用得多了,也就记住了。先通过别名命令手动查询:
$: alias | grep ^g g=git ga='git add' gaa='git add --all' gap='git apply' gapa='git add --patch' gau='git add --update' gav='git add --verbose' gb='git branch' gbD='git branch -D' ... 复制代码
现在,我们就可以通过将这个简单命令行,写出自己的脚本,集成的 oh-my-zsh
的框架,作为自己的插件独立维护。在 oh-my-zsh
的插件目录中,增加一个自定义的插件 alias
.提供一个快速查询现有别名的功能。
$: mkdir ~/.oh-my-zsh/plugins/alias $: cd ~/.oh-my-zsh/plugins/alias $: cat <<EOF > alias.plugin.zsh function alias-find(){ alias | grep $1 } alias af="alias-find " EOF 复制代码
完成编辑后, .zshrc
中增加 alias
插件。重新开启新的SHELL窗口,现在就可以通过 af
别名命令查询已有的别名了。
$: af commit gc='git commit -v' 'gc!'='git commit -v --amend' gca='git commit -v -a' 'gca!'='git commit -v -a --amend' gcam='git commit -a -m' 'gcan!'='git commit -v -a --no-edit --amend' 'gcans!'='git commit -v -a -s --no-edit --amend' gcmsg='git commit -m' 'gcn!'='git commit -v --no-edit --amend' gcs='git commit -S' gcsm='git commit -s -m' gdt='git diff-tree --no-commit-id --name-only -r' git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' gsd='git svn dcommit' gwch='git whatchanged -p --abbrev-commit --pretty=medium' gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"' 复制代码
这样就可以快速的查询已有存在 commit
内容的别名命令了。
以上所述就是小编给大家介绍的《高效SHELL环境 step by step(一): 命令别名》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Git命令别名设置
- mybatis的typeAliases别名
- Elasticsearch基础但非常有用的功能之一:别名
- Elasticsearch索引的基本操作(5)-别名设置
- Elasticsearch 技术分析(三): 索引别名Aliases问题
- c++ 这是否真的破坏了严格的别名规则?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网络多人游戏架构与编程
格雷泽 (Joshua Glazer)、马达夫 (Sanjay Madhav) / 王晓慧、张国鑫 / 人民邮电出版社 / 2017-10-1 / CNY 109.00
本书是一本深入探讨关于网络多人游戏编程的图书。 全书分为13章,从网络游戏的基本概念、互联网、伯克利套接字、对象序列化、对象复制、网络拓扑和游戏案例、延迟、抖动和可靠性、改进的延迟处理、可扩展性、安全性、真实世界的引擎、玩家服务、云托管专用服务器等方面深入介绍了网络多人游戏开发的知识,既全面又详尽地剖析了众多核心概念。 本书的多数示例基于C++编写,适合对C++有一定了解的读者阅读。本......一起来看看 《网络多人游戏架构与编程》 这本书的介绍吧!