From bdaadb921abfb2e18f41b570dc36548da4bcaa5e Mon Sep 17 00:00:00 2001 From: gaze <397334393@qq.com> Date: Tue, 29 Aug 2023 17:11:19 +0800 Subject: [PATCH] feat: translate --- README.md | 400 +++++++++++++++++++++++++-------------------------- README_EN.md | 327 +++++++++++++++++++++++++++++++++++++++++ Rakefile | 4 +- 3 files changed, 528 insertions(+), 203 deletions(-) create mode 100644 README_EN.md diff --git a/README.md b/README.md index bb3b86e..2c4743e 100644 --- a/README.md +++ b/README.md @@ -1,141 +1,142 @@
-
Dotar is an all-in-one dev configuration for your mac/linux which includes setup for zsh, spacevim(nvim), tmux and many more
+Dotar是一个包含了zsh, spacevim(nvim), tmux和许多其它工具的多合一的Mac/Ubuntu开发环境
-# The story -Dotar got its name by the combination of `dot` and `tar` which means package(`tar`) dotfiles togeter. -# Get started -## Requirements -* `zsh`, `tmux`, `vim`, `ag` are installed and zsh is set as your login shell: +# 背景 +Dotar的名字源于`dot`和`tar`的结合,代表者打包(`tar`)文件。 +# 开始 +## 需求 +* `zsh`, `tmux`, `vim`, `ag`已经安装,并且zsh作为你的默认终端: ```sh chsh -s $(which zsh) ``` -* `Python 3` and `pynvim` as some layers(`denite`) can't be loaded if they are missing +* 如果缺少`Python 3`和`pynvim`等一些层(如`denite`),则无法加载它们。 ```sh python3 -m pip install --user --upgrade pynvim ``` -## Install +## 安装 ```sh -bash -c "`curl -fsSL https://git.bitnet.fun:5004/Gaze/dotar/raw/commit/21638953a830aa657b1e0fe1b14ff65a1694ef60/install.sh`" +bash -c "`curl -fsSL https://git.bitnet.fun:5004/Gaze/dotar/raw/branch/master/install.sh`" ``` -## Upgrade +## 升级 ```sh cd ~/.yadr git pull --rebase rake update ``` -# Modules +# 模块 * ZSH - * [Prezto - the zsh behind YADR's](http://github.com/sorin-ionescu/prezto) - * [How to add your own ZSH theme](doc/zsh/themes.md) + * [Prezto - YADR背后的zsh配置框架](http://github.com/sorin-ionescu/prezto) + * [如何添加你自己的ZSH主题](doc/zsh/themes.md) ## Zsh Commands -#### [Files](./zsh/files.zsh) -Command | Args | Description +#### [文件](./zsh/files.zsh) +命令 | 参数 | 描述 :--------|:------|:----------- -swap | F1 F2 | swap file F1 with file F2 -Replace |[doc](#Replace) |Replace text recursively +交换 | F1 F2 | swap file F1 with file F2 +替换 |[doc](#Replace) |Replace text recursively -Replace -options: +替换 +选项: ```sh - -f File regex pattern - -s Source pattern - -d Destination pattern - -r Remove line - --regex Match pattern with regex - --seperator= Seperator, # by default - -h Display this message" + -f 文件正则表达式模式 + -s 源模式 + -d 目标模式 + -r 删除行 + --regex 使用正则表达式匹配模式 + --seperator= 分隔符, # 默认 + -h 显示这条信息" ``` -#### Editing -Shortcut | Alias +#### 编辑 +快捷键 | 别名 :-----------|:-------- -Ctrl-R | Vim mode and bash style historical anti-query -ae | Edit alias -ar | Reload alias -ESC C-x C-e |Edit current command line in vim +Ctrl-R | Vim模式和Bash风格的历史反向查询 +ae | 编辑别名 +ar | 重载别名 +ESC C-x C-e | 在vim中编辑当前的命令行 -#### Network -Command | Description +#### 网络 +命令 | 描述 :-----------|:-------- -test-port PORT | test whether PORT is opened -intercept-request-hosts | intercept requests and show hosts -host-ip | show host ip of your system +test-port PORT | 测试这个PORT是否打开 +intercept-request-hosts | 拦截请求并显示主机信息 +host-ip | 显示您系统的主机IP地址 -#### System -Command | Description +#### 系统 +命令 | 描述 :-----------|:-------- -yell | print the script name and all arguments to stderr -die | does the same as yell, but exits with a non-0 exit status, which means "fail". -try | uses the || (boolean OR), which only evaluates the right side if the left one didn’t fail. -list-large-files DIR | list large files sort by reversed order of size and print size in the order of `KB`, `MB`, `GB` +yell | 将脚本名称和所有参数打印到标准错误(stderr)流中 +die | 与yell相同,但以非0退出状态退出,表示“失败” +try | 使用 ||(布尔逻辑中的"或")运算符,只有在左侧表达式未失败时才会评估右侧表达式 +list-large-files DIR | 列出大文件,按照文件大小的倒序排序,并按照`KB`, `MB`, `GB`的顺序打印文件大小 -#### String -Command | Description +#### 字符串 +命令 | 描述 :------------|:-------- -random-hex | print random hex -random-string| print random string of alphabets `a-zA-Z0-9` -contains |str1 str2 ... target |test whether a target string is included in an array of strings +random-hex | 打印随机十六进制数 +random-string| 打印由字母`a-zA-Z0-9`组成的随机字符串 +contains |str1 str2 ... target |测试目标字符串是否包含在字符串数组中 #### Git -YADR will take over your ~/.gitconfig, so if you want to store your git username and other settings, please put them in ~/.gitconfig.user +YADR将接管您的~/.gitconfig文件,因此如果您想要存储git用户名和其他设置,请将它们放在~/.gitconfig.user中。 -We recommend setting your user information in this file. In addition, you can set your environment variables appropriately in your ~/.secrets. +我们建议在此文件中设置您的用户信息。此外,您可以在~/.secrets中适当设置环境变量。 -Command | Alias -:--------|:-------- -`ga` |`git add` -`gb` |`git branch` -`gbc` or `gnb` |`git checkout -b` -`gbs` |`git show-branch` -`gc` |`git commit --verbose` -`gco` |`git checkout` -`gcp` |`git cherry-pick --ff` -`gd` |`git diff` -`gf` |`git fetch` -`gfc` |`git clone` -`gfm` |`git pull` -`gfr` |`git pull --rebase` -`gl` |`git log` -`gpc` |`git push --set-upstream origin "$(git-branch-current 2> /dev/null)"` -`gr` |`git rebase` -`gra` |`git rebase --abort` -`grc` |`git rebase --continue` -`grs` |`git rebase --skip` -`gsd` |`git stash drop` -`gsl` |`git stash list` -`gsp` |`git stash pop` -`gst` |`git stash` +命令 | 别名 | 描述 +:--------|:--------|:--------- +`ga` |`git add`| +`gb` |`git branch`|新建分支 +`gbc` or `gnb` |`git checkout -b`|新建并切换到新分支 +`gbs` |`git show-branch`| +`gc` |`git commit --verbose`| +`gco` |`git checkout`|切换到目标分支 +`gcp` |`git cherry-pick --ff`| +`gcf` |`git commit --amend --reuse-message HEAD`|重新提交且不更改commit信息 +`gd` |`git diff`| +`gf` |`git fetch`| +`gfc` |`git clone`| +`gfm` |`git pull`| +`gfr` |`git pull --rebase`|拉取远程分支更新到本地 +`gl` |`git log`| +`gpc` |`git push --set-upstream origin "$(git-branch-current 2> /dev/null)"`|将本地更改推送到远程的同名分支 +`gr` |`git rebase`|合并分支到此分支 +`gra` |`git rebase --abort`| +`grc` |`git rebase --continue`| +`grs` |`git rebase --skip`| +`gsd` |`git stash drop`| +`gsl` |`git stash list`| +`gsp` |`git stash pop`| +`gst` |`git stash`| -#### Other -- `secure_source` -source `~/.yadr/zsh/function.zsh` file, let `function.zsh` modify work immediately in current window -- `pp $1` -useage:`pp xx`, grep process by name -- `set_proxy` -set terminal proxy use http proxy -- `set_vagrant_proxy` -set terminal proxy use vagrant http proxy -- `set_ss_proxy` -set terminal proxy use socks proxy -- `unset_proxy` -cancel all proxy -- `post $1 $2` -curl POST with application/json -- `docker_rm_all` -delete all docker images -- `kexec` -execute k8s pod by regex pod name -- `klog` -show k8s pod log by regex pod name -- `git_tag_delete` -delete gtihub tag -- `git_tag_add` -add gtihub tag -- `dc` -alias of docker-compose +#### 其它 +- `secure_source` - 使 `~/.yadr/zsh/function.zsh` 文件生效, 使 `function.zsh` 中的更改在当前窗口生效 +- `pp $1` - 用法:`pp xx`, 按名称搜索进程 +- `set_proxy` - 设置终端代理以使用HTTP代理 +- `set_vagrant_proxy` - 设置终端代理以使用Vagrant的HTTP代理 +- `set_ss_proxy` - 设置终端代理以使用SOCKS代理 +- `unset_proxy` - 取消所有代理设置 +- `post $1 $2` - 使用application/json进行curl的POST请求 +- `docker_rm_all` - 删除所有Docker镜像 +- `kexec` - 通过正则表达式匹配的Pod名称执行Kubernetes Pod +- `klog` - 通过正则表达式匹配的Pod名称显示Kubernetes Pod日志 +- `git_tag_delete` - 删除GitHub标签 +- `git_tag_add` - 添加GitHub标签 +- `dc` - docker-compose的别名 ## [fasd](https://github.com/clvv/fasd) -The name fasd comes from the default suggested aliases f(files), a(files/directories), s(show/search/select), d(directories). +"fasd"的名称来源于默认建议的别名:f(文件)、a(文件/目录)、s(显示/搜索/选择)、d(目录)。 -Some situations where you can type in the command on the left and fasd will "expand" your command into the right side. +一些情况下,您可以输入左侧的命令,而fasd会将您的命令“展开”为右侧的内容。 ``` v def conf => vim /some/awkward/path/to/type/default.conf j abc => cd /hell/of/a/awkward/path/to/get/to/abcdef @@ -144,7 +145,7 @@ Some situations where you can type in the command on the left and fasd will "exp vim `f rc lo` => vim /etc/rc.local vim `f rc conf` => vim /etc/rc.conf ``` -Fasd comes with some useful aliases by default: +Fasd默认附带了一些有用的别名: ```sh alias a='fasd -a' # any @@ -156,9 +157,7 @@ alias sf='fasd -sif' # interactive file selection alias z='fasd_cd -d' # cd, same functionality as j in autojump alias zz='fasd_cd -d -i' # cd with interactive selection ``` -Fasd will smartly detect when to display a list of files or just the best -match. For instance, when you call fasd in a subshell with some search -parameters, fasd will only return the best match. This enables you to do: +Fasd会智能地检测何时显示文件列表,何时只显示最佳匹配项。例如,当您在子shell中使用一些搜索参数调用fasd时,fasd只会返回最佳匹配项。这使您可以执行以下操作: ```sh mv update.html `d www` @@ -166,162 +165,161 @@ cp `f mov` . ``` ## Tmux -#### Settings +#### 设置 -`tmux.conf` provides some reasonable default settings for tmux on Mac OS, such as a powerful status bar and VIM keyboard bindings. You can modify the configuration in `~/.tmux.conf.user`. -#### Shortcuts -Prefix is defined as `C-a`(`PRE` for short) -Shortcut | Function +`tmux.conf`为Mac OS上的tmux提供了一些合理的默认设置,例如强大的状态栏和VIM键盘绑定。您可以在`~/.tmux.conf.user`中修改配置。 +#### 快捷键 +起手式被定义为了 `ctrl+a`(下面的`PRE`就代表起手式) +快捷键 | 功能 :---------|:-------- -C-h(jkl) |←(↓↑→)Move pane -PRE c |Craete a new pane -PRE s |Split panes up and down -PRE v |Split panes left and right -PRE x |Kill pane -PRE h(jkl)|←(↓↑→)Move dividing line -PRE , |Rename window -PRE d |Exit Session -PRE D |Exit Session -PRE 1 |Enter pane 1 -PRE >/< |Cheatsheet -PRE {/} |Move pane to previous/next position -PRE C-o |rotate window ‘up’ (i.e. move all panes) -PRE M-o |rotate window ‘down’ -PRE z |Zoom/Unzoom -PRE m |Mark -PRE ! |Move the current pane into a new separate -PRE o |Go to the next pane (cycle through all of them) -PRE ; |Go to the ‘last’ (previously used) pane -> `C` is short for `Ctrl` +Ctrl+h(jkl) |←(↓↑→)移动面板 +PRE c |创建新面板 +PRE s |上下分屏 +PRE v |左右分屏 +PRE x |关闭面板 +PRE shift+h(jkl)|←(↓↑→)移动分割线 +PRE , |重命名窗口 +PRE d |退出会话 +PRE D |退出会话 +PRE 1 |进入面板1 +PRE >/< |速查表 +PRE {/} |将面板向前/后移动 +PRE C-o |旋转窗口“向上”(即移动所有面板) +PRE M-o |旋转窗口“向下” +PRE z |全屏/取消全屏面板 +PRE m |标记 +PRE ! |将当前面板移动到一个新的独立窗格中 +PRE o |前往下一个窗格(循环遍历所有窗格) +PRE ; |前往“最后一个”(之前使用过的)窗格 +> `C` 是 `Ctrl` 的简写 -Press `PRE [` to enter Scroll Mode +按下 `PRE [` 来进入滚动模式 -Shortcut | Function | +快捷键 | 功能 | :--------|:---------| -`Shift-V`| Select Text| -`Enter` | Copy Text | -`]` | Paste text copied from scroll mode | +`Shift-V`| 选择文本| +`Enter` | 复制文本 | +`]` | 粘贴从滚动模式复制的文本 | ## Vim & Spacevim -* `+ +
+Dotar is an all-in-one dev configuration for your mac/linux which includes setup for zsh, spacevim(nvim), tmux and many more
+ +# The story +Dotar got its name by the combination of `dot` and `tar` which means package(`tar`) dotfiles togeter. +# Get started +## Requirements +* `zsh`, `tmux`, `vim`, `ag` are installed and zsh is set as your login shell: +```sh +chsh -s $(which zsh) +``` +* `Python 3` and `pynvim` as some layers(`denite`) can't be loaded if they are missing +```sh +python3 -m pip install --user --upgrade pynvim +``` + +## Install + +```sh +bash -c "`curl -fsSL https://git.bitnet.fun:5004/Gaze/dotar/raw/commit/21638953a830aa657b1e0fe1b14ff65a1694ef60/install.sh`" +``` + +## Upgrade +```sh +cd ~/.yadr +git pull --rebase +rake update +``` + +# Modules +* ZSH + * [Prezto - the zsh behind YADR's](http://github.com/sorin-ionescu/prezto) + * [How to add your own ZSH theme](doc/zsh/themes.md) + +## Zsh Commands +#### [Files](./zsh/files.zsh) +Command | Args | Description +:--------|:------|:----------- +swap | F1 F2 | swap file F1 with file F2 +Replace |[doc](#Replace) |Replace text recursively + + + +Replace +options: + +```sh + -f File regex pattern + -s Source pattern + -d Destination pattern + -r Remove line + --regex Match pattern with regex + --seperator= Seperator, # by default + -h Display this message" +``` + + +#### Editing +Shortcut | Alias +:-----------|:-------- +Ctrl-R | Vim mode and bash style historical anti-query +ae | Edit alias +ar | Reload alias +ESC C-x C-e |Edit current command line in vim + +#### Network +Command | Description +:-----------|:-------- +test-port PORT | test whether PORT is opened +intercept-request-hosts | intercept requests and show hosts +host-ip | show host ip of your system + +#### System +Command | Description +:-----------|:-------- +yell | print the script name and all arguments to stderr +die | does the same as yell, but exits with a non-0 exit status, which means "fail". +try | uses the || (boolean OR), which only evaluates the right side if the left one didn’t fail. +list-large-files DIR | list large files sort by reversed order of size and print size in the order of `KB`, `MB`, `GB` + +#### String +Command | Description +:------------|:-------- +random-hex | print random hex +random-string| print random string of alphabets `a-zA-Z0-9` +contains |str1 str2 ... target |test whether a target string is included in an array of strings + +#### Git +YADR will take over your ~/.gitconfig, so if you want to store your git username and other settings, please put them in ~/.gitconfig.user + +We recommend setting your user information in this file. In addition, you can set your environment variables appropriately in your ~/.secrets. + +Command | Alias +:--------|:-------- +`ga` |`git add` +`gb` |`git branch` +`gbc` or `gnb` |`git checkout -b` +`gbs` |`git show-branch` +`gc` |`git commit --verbose` +`gco` |`git checkout` +`gcp` |`git cherry-pick --ff` +`gd` |`git diff` +`gf` |`git fetch` +`gfc` |`git clone` +`gfm` |`git pull` +`gfr` |`git pull --rebase` +`gl` |`git log` +`gpc` |`git push --set-upstream origin "$(git-branch-current 2> /dev/null)"` +`gr` |`git rebase` +`gra` |`git rebase --abort` +`grc` |`git rebase --continue` +`grs` |`git rebase --skip` +`gsd` |`git stash drop` +`gsl` |`git stash list` +`gsp` |`git stash pop` +`gst` |`git stash` + +#### Other +- `secure_source` -source `~/.yadr/zsh/function.zsh` file, let `function.zsh` modify work immediately in current window +- `pp $1` -useage:`pp xx`, grep process by name +- `set_proxy` -set terminal proxy use http proxy +- `set_vagrant_proxy` -set terminal proxy use vagrant http proxy +- `set_ss_proxy` -set terminal proxy use socks proxy +- `unset_proxy` -cancel all proxy +- `post $1 $2` -curl POST with application/json +- `docker_rm_all` -delete all docker images +- `kexec` -execute k8s pod by regex pod name +- `klog` -show k8s pod log by regex pod name +- `git_tag_delete` -delete gtihub tag +- `git_tag_add` -add gtihub tag +- `dc` -alias of docker-compose + +## [fasd](https://github.com/clvv/fasd) +The name fasd comes from the default suggested aliases f(files), a(files/directories), s(show/search/select), d(directories). + +Some situations where you can type in the command on the left and fasd will "expand" your command into the right side. +``` + v def conf => vim /some/awkward/path/to/type/default.conf + j abc => cd /hell/of/a/awkward/path/to/get/to/abcdef + m movie => mplayer /whatever/whatever/whatever/awesome_movie.mp4 + o eng paper => xdg-open /you/dont/remember/where/english_paper.pdf + vim `f rc lo` => vim /etc/rc.local + vim `f rc conf` => vim /etc/rc.conf +``` +Fasd comes with some useful aliases by default: + +```sh +alias a='fasd -a' # any +alias s='fasd -si' # show / search / select +alias d='fasd -d' # directory +alias f='fasd -f' # file +alias sd='fasd -sid' # interactive directory selection +alias sf='fasd -sif' # interactive file selection +alias z='fasd_cd -d' # cd, same functionality as j in autojump +alias zz='fasd_cd -d -i' # cd with interactive selection +``` +Fasd will smartly detect when to display a list of files or just the best +match. For instance, when you call fasd in a subshell with some search +parameters, fasd will only return the best match. This enables you to do: + +```sh +mv update.html `d www` +cp `f mov` . +``` + +## Tmux +#### Settings + +`tmux.conf` provides some reasonable default settings for tmux on Mac OS, such as a powerful status bar and VIM keyboard bindings. You can modify the configuration in `~/.tmux.conf.user`. +#### Shortcuts +Prefix is defined as `C-a`(`PRE` for short) +Shortcut | Function +:---------|:-------- +C-h(jkl) |←(↓↑→)Move pane +PRE c |Craete a new pane +PRE s |Split panes up and down +PRE v |Split panes left and right +PRE x |Kill pane +PRE h(jkl)|←(↓↑→)Move dividing line +PRE , |Rename window +PRE d |Exit Session +PRE D |Exit Session +PRE 1 |Enter pane 1 +PRE >/< |Cheatsheet +PRE {/} |Move pane to previous/next position +PRE C-o |rotate window ‘up’ (i.e. move all panes) +PRE M-o |rotate window ‘down’ +PRE z |Zoom/Unzoom +PRE m |Mark +PRE ! |Move the current pane into a new separate +PRE o |Go to the next pane (cycle through all of them) +PRE ; |Go to the ‘last’ (previously used) pane +> `C` is short for `Ctrl` + +Press `PRE [` to enter Scroll Mode + +Shortcut | Function | +:--------|:---------| +`Shift-V`| Select Text| +`Enter` | Copy Text | +`]` | Paste text copied from scroll mode | + + +## Vim & Spacevim +* `