feat: translate

This commit is contained in:
gaze 2023-08-29 17:11:19 +08:00 committed by gaze
parent 9c1fbf387c
commit bdaadb921a
3 changed files with 528 additions and 203 deletions

400
README.md
View File

@ -1,141 +1,142 @@
<p align="center"> <p align="center">
<img align="center" src="logo.png" height="150px" /> <img align="center" src="logo.png" height="150px" />
</p> </p>
<p align="center"><b>Dotar</b> is an all-in-one dev configuration for your mac/linux which includes setup for zsh, spacevim(nvim), tmux and many more</p> <p align="center"><b>Dotar</b>是一个包含了zsh, spacevim(nvim), tmux和许多其它工具的多合一的Mac/Ubuntu开发环境</p>
# The story # 背景
Dotar got its name by the combination of `dot` and `tar` which means package(`tar`) dotfiles togeter. Dotar的名字源于`dot`和`tar`的结合,代表者打包(`tar`)文件。
# Get started # 开始
## Requirements ## 需求
* `zsh`, `tmux`, `vim`, `ag` are installed and zsh is set as your login shell: * `zsh`, `tmux`, `vim`, `ag`已经安装并且zsh作为你的默认终端:
```sh ```sh
chsh -s $(which zsh) 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 ```sh
python3 -m pip install --user --upgrade pynvim python3 -m pip install --user --upgrade pynvim
``` ```
## Install ## 安装
```sh ```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 ```sh
cd ~/.yadr cd ~/.yadr
git pull --rebase git pull --rebase
rake update rake update
``` ```
# Modules # 模块
* ZSH * ZSH
* [Prezto - the zsh behind YADR's](http://github.com/sorin-ionescu/prezto) * [Prezto - YADR背后的zsh配置框架](http://github.com/sorin-ionescu/prezto)
* [How to add your own ZSH theme](doc/zsh/themes.md) * [如何添加你自己的ZSH主题](doc/zsh/themes.md)
## Zsh Commands ## Zsh Commands
#### [Files](./zsh/files.zsh) #### [文件](./zsh/files.zsh)
Command | Args | Description 命令 | 参数 | 描述
:--------|:------|:----------- :--------|:------|:-----------
swap | F1 F2 | swap file F1 with file F2 交换 | F1 F2 | swap file F1 with file F2
Replace |[doc](#Replace) |Replace text recursively 替换 |[doc](#Replace) |Replace text recursively
<a name="Replace"> <a name="Replace">
Replace 替换
</a>options: </a>选项:
```sh ```sh
-f File regex pattern -f 文件正则表达式模式
-s Source pattern -s 源模式
-d Destination pattern -d 目标模式
-r Remove line -r 删除行
--regex Match pattern with regex --regex 使用正则表达式匹配模式
--seperator= Seperator, # by default --seperator= 分隔符, # 默认
-h Display this message" -h 显示这条信息"
``` ```
#### Editing #### 编辑
Shortcut | Alias 快捷键 | 别名
:-----------|:-------- :-----------|:--------
Ctrl-R | Vim mode and bash style historical anti-query Ctrl-R | Vim模式和Bash风格的历史反向查询
ae | Edit alias ae | 编辑别名
ar | Reload alias ar | 重载别名
ESC C-x C-e |Edit current command line in vim ESC C-x C-e | 在vim中编辑当前的命令行
#### Network #### 网络
Command | Description 命令 | 描述
:-----------|:-------- :-----------|:--------
test-port PORT | test whether PORT is opened test-port PORT | 测试这个PORT是否打开
intercept-request-hosts | intercept requests and show hosts intercept-request-hosts | 拦截请求并显示主机信息
host-ip | show host ip of your system host-ip | 显示您系统的主机IP地址
#### System #### 系统
Command | Description 命令 | 描述
:-----------|:-------- :-----------|:--------
yell | print the script name and all arguments to stderr yell | 将脚本名称和所有参数打印到标准错误(stderr)流中
die | does the same as yell, but exits with a non-0 exit status, which means "fail". die | 与yell相同但以非0退出状态退出表示“失败”
try | uses the || (boolean OR), which only evaluates the right side if the left one didnt fail. try | 使用 ||(布尔逻辑中的"或")运算符,只有在左侧表达式未失败时才会评估右侧表达式
list-large-files DIR | list large files sort by reversed order of size and print size in the order of `KB`, `MB`, `GB` list-large-files DIR | 列出大文件,按照文件大小的倒序排序,并按照`KB`, `MB`, `GB`的顺序打印文件大小
#### String #### 字符串
Command | Description 命令 | 描述
:------------|:-------- :------------|:--------
random-hex | print random hex random-hex | 打印随机十六进制数
random-string| print random string of alphabets `a-zA-Z0-9` random-string| 打印由字母`a-zA-Z0-9`组成的随机字符串
contains |str1 str2 ... target |test whether a target string is included in an array of strings contains |str1 str2 ... target |测试目标字符串是否包含在字符串数组中
#### Git #### 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` `ga` |`git add`|
`gb` |`git branch` `gb` |`git branch`|新建分支
`gbc` or `gnb` |`git checkout -b` `gbc` or `gnb` |`git checkout -b`|新建并切换到新分支
`gbs` |`git show-branch` `gbs` |`git show-branch`|
`gc` |`git commit --verbose` `gc` |`git commit --verbose`|
`gco` |`git checkout` `gco` |`git checkout`|切换到目标分支
`gcp` |`git cherry-pick --ff` `gcp` |`git cherry-pick --ff`|
`gd` |`git diff` `gcf` |`git commit --amend --reuse-message HEAD`|重新提交且不更改commit信息
`gf` |`git fetch` `gd` |`git diff`|
`gfc` |`git clone` `gf` |`git fetch`|
`gfm` |`git pull` `gfc` |`git clone`|
`gfr` |`git pull --rebase` `gfm` |`git pull`|
`gl` |`git log` `gfr` |`git pull --rebase`|拉取远程分支更新到本地
`gpc` |`git push --set-upstream origin "$(git-branch-current 2> /dev/null)"` `gl` |`git log`|
`gr` |`git rebase` `gpc` |`git push --set-upstream origin "$(git-branch-current 2> /dev/null)"`|将本地更改推送到远程的同名分支
`gra` |`git rebase --abort` `gr` |`git rebase`|合并分支到此分支
`grc` |`git rebase --continue` `gra` |`git rebase --abort`|
`grs` |`git rebase --skip` `grc` |`git rebase --continue`|
`gsd` |`git stash drop` `grs` |`git rebase --skip`|
`gsl` |`git stash list` `gsd` |`git stash drop`|
`gsp` |`git stash pop` `gsl` |`git stash list`|
`gst` |`git stash` `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 - `secure_source` - 使 `~/.yadr/zsh/function.zsh` 文件生效, 使 `function.zsh` 中的更改在当前窗口生效
- `pp $1` -useage:`pp xx`, grep process by name - `pp $1` - 用法:`pp xx`, 按名称搜索进程
- `set_proxy` -set terminal proxy use http proxy - `set_proxy` - 设置终端代理以使用HTTP代理
- `set_vagrant_proxy` -set terminal proxy use vagrant http proxy - `set_vagrant_proxy` - 设置终端代理以使用Vagrant的HTTP代理
- `set_ss_proxy` -set terminal proxy use socks proxy - `set_ss_proxy` - 设置终端代理以使用SOCKS代理
- `unset_proxy` -cancel all proxy - `unset_proxy` - 取消所有代理设置
- `post $1 $2` -curl POST with application/json - `post $1 $2` - 使用application/json进行curl的POST请求
- `docker_rm_all` -delete all docker images - `docker_rm_all` - 删除所有Docker镜像
- `kexec` -execute k8s pod by regex pod name - `kexec` - 通过正则表达式匹配的Pod名称执行Kubernetes Pod
- `klog` -show k8s pod log by regex pod name - `klog` - 通过正则表达式匹配的Pod名称显示Kubernetes Pod日志
- `git_tag_delete` -delete gtihub tag - `git_tag_delete` - 删除GitHub标签
- `git_tag_add` -add gtihub tag - `git_tag_add` - 添加GitHub标签
- `dc` -alias of docker-compose - `dc` - docker-compose的别名
## [fasd](https://github.com/clvv/fasd) ## [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 v def conf => vim /some/awkward/path/to/type/default.conf
j abc => cd /hell/of/a/awkward/path/to/get/to/abcdef 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 lo` => vim /etc/rc.local
vim `f rc conf` => vim /etc/rc.conf vim `f rc conf` => vim /etc/rc.conf
``` ```
Fasd comes with some useful aliases by default: Fasd默认附带了一些有用的别名:
```sh ```sh
alias a='fasd -a' # any 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 z='fasd_cd -d' # cd, same functionality as j in autojump
alias zz='fasd_cd -d -i' # cd with interactive selection 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 Fasd会智能地检测何时显示文件列表何时只显示最佳匹配项。例如当您在子shell中使用一些搜索参数调用fasd时fasd只会返回最佳匹配项。这使您可以执行以下操作
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 ```sh
mv update.html `d www` mv update.html `d www`
@ -166,162 +165,161 @@ cp `f mov` .
``` ```
## Tmux ## 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`. `tmux.conf`为Mac OS上的tmux提供了一些合理的默认设置例如强大的状态栏和VIM键盘绑定。您可以在`~/.tmux.conf.user`中修改配置。
#### Shortcuts #### 快捷键
Prefix is defined as `C-a`(`PRE` for short) 起手式被定义为了 `ctrl+a`(下面的`PRE`就代表起手式)
Shortcut | Function 快捷键 | 功能
:---------|:-------- :---------|:--------
C-h(jkl) |←(↓↑→)Move pane Ctrl+h(jkl) |←(↓↑→)移动面板
PRE c |Craete a new pane PRE c |创建新面板
PRE s |Split panes up and down PRE s |上下分屏
PRE v |Split panes left and right PRE v |左右分屏
PRE x |Kill pane PRE x |关闭面板
PRE h(jkl)|←(↓↑→)Move dividing line PRE shift+h(jkl)|←(↓↑→)移动分割线
PRE , |Rename window PRE , |重命名窗口
PRE d |Exit Session PRE d |退出会话
PRE D |Exit Session PRE D |退出会话
PRE 1 |Enter pane 1 PRE 1 |进入面板1
PRE >/< |Cheatsheet PRE >/< |速查表
PRE {/} |Move pane to previous/next position PRE {/} |将面板向前/后移动
PRE C-o |rotate window up (i.e. move all panes) PRE C-o |旋转窗口“向上”(即移动所有面板)
PRE M-o |rotate window down PRE M-o |旋转窗口“向下”
PRE z |Zoom/Unzoom PRE z |全屏/取消全屏面板
PRE m |Mark PRE m |标记
PRE ! |Move the current pane into a new separate PRE ! |将当前面板移动到一个新的独立窗格中
PRE o |Go to the next pane (cycle through all of them) PRE o |前往下一个窗格(循环遍历所有窗格)
PRE ; |Go to the last (previously used) pane PRE ; |前往“最后一个”(之前使用过的)窗格
> `C` is short for `Ctrl` > `C` `Ctrl` 的简写
Press `PRE [` to enter Scroll Mode 按下 `PRE [` 来进入滚动模式
Shortcut | Function | 快捷键 | 功能 |
:--------|:---------| :--------|:---------|
`Shift-V`| Select Text| `Shift-V`| 选择文本|
`Enter` | Copy Text | `Enter` | 复制文本 |
`]` | Paste text copied from scroll mode | `]` | 粘贴从滚动模式复制的文本 |
## Vim & Spacevim ## Vim & Spacevim
* `<L>`: Short for `<localleader>`, which is `\` in our setup * `<L>`: `<localleader>`的缩写, 在我们的设置中是 `\`
**Defined by Us** **我们定义的内容**
#### Basic #### 基础
[Here](doc/vim-basic.md) [Here](doc/vim-basic.md)
#### Shortcuts #### 快捷键
**General** **全局**
Shortcut | Function 快捷键 | 功能
:-------:|:--------: :-------:|:--------:
C-v | Enter visual mode C-v | 进入Visual模式
C-x C-v | Paste text from system clipboard C-x C-v | 从系统剪贴板粘贴文本
<L>tp | Toggle paste <L>tp | 切换粘贴模式
SPC f v d| Open configuration file SPC f v d| 打开配置文件
SPC g . | Enter version control transient-state SPC g . | 进入版本控制瞬态状态
SPC l p | Preview markdown SPC l p | 预览Markdown
**Typescript** **Typescript**
Shortcut | Function 快捷键 | 功能
:-------:|:--------: :-------:|:--------:
SPC l p | Definitaion Preview SPC l p | 定义预览
SPC l t | Type SPC l t | 类型
SPC l e | Rename SPC l e | 重命名
SPC l d | Doc SPC l d | 文档
g d | Go to definition g d | 前往定义
SPC e L | List checkers SPC e L | 列出检查器
**Tab** **Tab**
Shortcut | Function 快捷键 | 功能
:--------:|:--------: :--------:|:--------:
\\[1-9] | Open tab 1-9 \\[1-9] | 打开标签页1-9
SPC t t | Open tab management window SPC t t | 打开标签管理窗口
SPC w F | Open a new tab SPC w F | 打开一个新标签页
SPC w o | Switch tab SPC w o | 切换标签页
**History** **历史**
Shortcut | Function 快捷键 | 功能
:--------:|:--------: :--------:|:--------:
`F7` | Undo history `F7` | 撤销历史
**Debug** **Debug**
Shortcut | Function 快捷键 | 功能
:-----------:|:--------: :-----------:|:--------:
SPC h I | Show Debug Info SPC h I | 显示Debug信息
**Git Blame** **Git Blame**
Shortcut | Function 快捷键 | 功能
:-------:|:--------: :----------:|:--------:
<leader> b | Togggle git blame info at the end of current line <leader> b | 在当前行末尾切换显示Git Blame信息
<leader> s | See Git Blame information in the status bar for the currently selected line. <leader> s | 在状态栏中查看当前选定行的Git Blame信息
<SPC> gb | Open git blame window <SPC> gb | 打开Git Blame窗口
#### markdown #### markdown
* Install `prettier`: `yarn global add prettier` or `npm install --global prettier` * 安装 `prettier`: `yarn global add prettier` `npm install --global prettier`
* Open vim and enter command: `:SPUPdate` * 打开vim然后输入命令: `:SPUPdate`
#### Option window, window, split bar #### 选项窗口、窗口、分割栏
- `Ctrl-h,l,j,k` - use to move to left、right、top、bottom commpartment. This is still valid when vim and the split bar are together, thanks to `vim-tmux-navigator` - `Ctrl-h,l,j,k` - 用于在左、右、上、下分隔中移动。即使在vim和分割栏并排的情况下也可以使用 `vim-tmux-navigator`实现此功能
- `Q` - Enter Ex mode - `Q` - 进入Ex模式
- `vv` - Vertical separation (`Ctrl-w,v`) - `vv` - 垂直分割 (`Ctrl-w,v`)
- `ss` - Horizontal separation (`Ctrl-w,s`) - `ss` - 水平分割 (`Ctrl-w,s`)
- `,qo` - Open quickfix window (The output of grep will go to this window) - `,qo` - 打开快速修复窗口grep的输出将显示在此窗口中
- `,qc` - close quickfix - `,qc` - 关闭快速修复窗口
#### Rails & Ruby #### Rails & Ruby
- `,vv` & `,cc` to switch between view and controller-they are the mappings corresponding to :Rcontroller and :Rview. Explore: R family commands can learn more about the fun of rails.vim! - `,vv` & `,cc` 切换视图和控制器之间的命令是与:Rcontroller和:Rview相对应的映射。通过探索R系列命令您可以更多地了解rails.vim的乐趣
- `,rs` & `,rl` to run rspec or a spec line in iTerm (check the iTerm window for information). - `,rs` & `,rl` 在iTerm中运行rspec或特定的spec行在iTerm窗口中查看信息
- `,tt` Add `now: true`tag to a block of the spec file, and then test the block by `rspec --tag=now`. - `,tt`在spec文件中给一个块添加`now: true`标签, 然后通过`rspec --tag=now`测试该块。
- `,ss` & `,sl` To achieve the same thing, by using `spring rspec`, one can make your Rails specs faster, by caching `Rails env` (must have spring gem installed). - `,ss` & `,sl` 通过使用`spring rspec`来实现相同的功能,可以通过缓存`Rails env`必须安装spring gem来加速Rails的测试。
#### Vim Dev #### Vim开发
- `,vc` - (Vim command) Copy the command under the cursor and run it. Very useful for testing single-line changes in vimrc. - `,vc` - Vim命令复制光标下的命令并运行它。在测试vimrc中的单行更改时非常有用。
- `,vr` - (Vim re-documented) Use the current file as a vim file to load the source. - `,vr` - 重新记录的Vim命令将当前文件作为Vim文件使用加载源代码。
#### SpaceVim Interface elements: #### SpaceVim界面元素:
The interface elements of SpaceVim start with [SPC] t or [SPC] T. You can view the second-level instructions by pressing the [SPC] key in the vim window. In the same way, press the required second-level instructions and then you can check the three Level instructions to view. SpaceVim的界面元素以[SPC] t或[SPC] T开头。您可以通过在vim窗口中按下[SPC]键来查看第二级指令。同样地,按下所需的第二级指令,然后您可以查看三级指令以进行查看。
- `SPC t h s` - Show/hide syntax highlighting - `SPC t h s` - 显示/隐藏语法高亮显示
- `SPC t n` - Show/hide line number - `SPC t n` - 显示/隐藏行号
- `SPC t h h` - Highlight current line - `SPC t h h` - 高亮显示当前行
- `SPC T m` - Show/hide the menu bar (no difference is seen) - `SPC T m` - 显示/隐藏菜单栏(看不出区别)
- `SPC T t` - Show/hide the toolbar (dont see the difference) - `SPC T t` - 显示/隐藏工具栏(看不出区别)
- `SPC [1-9]` - Jump to the specified window - `SPC [1-9]` - 跳转到指定的窗口
- `SPC f t` - Open file tree - `SPC f t` - 打开文件树
- `SPC p f` - find files in current project - `SPC p f` - 在当前项目中查找文件
- `SPC f y` - show and copy current file absolute path in the cmdline - `SPC f y` - 在命令行中显示并复制当前文件的绝对路径
- `SPC f S` - save all files - `SPC f S` - 保存所有文件
- `SPC f o` - Find current file in file tree - `SPC f o` - 在文件树中查找当前文件
- `SPC f D` - delete a file and the associated buffer with confirmation - `SPC f D` - 删除文件并附带确认删除相关缓冲区
- `SPC f p` - search word in current project - `SPC f p` - 在当前项目中搜索单词
- `SPC p /` - fuzzy search for text in current project - `SPC p /` - 在当前项目中进行模糊搜索文本
- `SPC c l` - toggle comment lines - `SPC c l` - 切换注释行状态
- `SPC c p` - toggle comment paragraphs - `SPC c p` - 切换注释段落状态
#### Search text #### 搜索文本
- `SPC s J` - Search text under cursor in current project - `SPC s J` - 在当前项目中搜索光标下的文本
#### Help #### 帮助
- `SPC h d k` - Start a input prompt, Then press the key bindings you want to describe - `SPC h d k` - 开始一个输入提示,然后按下您想要描述的按键绑定。
## iTerm ## iTerm
### iTerm Solarized Colors ### iTerm Solarized Colors
YADR will install the Solarized color scheme into iTerm. You can choose Solarized Dark in Profiles => Colors => Load Presets. YADR将会在iTerm中安装Solarized颜色方案。您可以在“Profiles => Colors => Load Presets”中选择Solarized Dark。
## [Homebrew](http://mxcl.github.com/homebrew/) ## [Homebrew](http://mxcl.github.com/homebrew/)
Homebrew是一个缺失的OSX包管理系统它将会自动安装。
Homebrew is a missing OSX package management system, and it will be installed automatically. 我们自动安装了一些常用的软件包如ctags、git、macvim、hub和RipGreprg。请注意我们的自动完成插件需要MacVim支持Lua。安装程序知道如何安装它但如果您之前已经安装过它您需要手动删除之前的MacVim。
We automatically installed some commonly used packages, such as ctags, git, macvim, hub, and RipGrep (rg). Note that our auto-completion plugin requires MacVim to support Lua. The installer knows how to install it, but if you have installed it before, you need to manually delete your previous MacVim. ## 常见问题
## Frequently Asked Questions
[Check FAQ](./FAQ.md) [Check FAQ](./FAQ.md)

327
README_EN.md Normal file
View File

@ -0,0 +1,327 @@
<p align="center">
<img align="center" src="logo.png" height="150px" />
</p>
<p align="center"><b>Dotar</b> is an all-in-one dev configuration for your mac/linux which includes setup for zsh, spacevim(nvim), tmux and many more</p>
# 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
<a name="Replace">
Replace
</a>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 didnt 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
* `<L>`: Short for `<localleader>`, which is `\` in our setup
**Defined by Us**
#### Basic
[Here](doc/vim-basic.md)
#### Shortcuts
**General**
Shortcut | Function
:-------:|:--------:
C-v | Enter visual mode
C-x C-v | Paste text from system clipboard
<L>tp | Toggle paste
SPC f v d| Open configuration file
SPC g . | Enter version control transient-state
SPC l p | Preview markdown
**Typescript**
Shortcut | Function
:-------:|:--------:
SPC l p | Definitaion Preview
SPC l t | Type
SPC l e | Rename
SPC l d | Doc
g d | Go to definition
SPC e L | List checkers
**Tab**
Shortcut | Function
:--------:|:--------:
\\[1-9] | Open tab 1-9
SPC t t | Open tab management window
SPC w F | Open a new tab
SPC w o | Switch tab
**History**
Shortcut | Function
:--------:|:--------:
`F7` | Undo history
**Debug**
Shortcut | Function
:-----------:|:--------:
SPC h I | Show Debug Info
**Git Blame**
Shortcut | Function
:-------:|:--------:
<leader> b | Togggle git blame info at the end of current line
<leader> s | See Git Blame information in the status bar for the currently selected line.
<SPC> gb | Open git blame window
#### markdown
* Install `prettier`: `yarn global add prettier` or `npm install --global prettier`
* Open vim and enter command: `:SPUPdate`
#### Option window, window, split bar
- `Ctrl-h,l,j,k` - use to move to left、right、top、bottom commpartment. This is still valid when vim and the split bar are together, thanks to `vim-tmux-navigator`
- `Q` - Enter Ex mode
- `vv` - Vertical separation (`Ctrl-w,v`)
- `ss` - Horizontal separation (`Ctrl-w,s`)
- `,qo` - Open quickfix window (The output of grep will go to this window)
- `,qc` - close quickfix
#### Rails & Ruby
- `,vv` & `,cc` to switch between view and controller-they are the mappings corresponding to :Rcontroller and :Rview. Explore: R family commands can learn more about the fun of rails.vim!
- `,rs` & `,rl` to run rspec or a spec line in iTerm (check the iTerm window for information).
- `,tt` Add `now: true`tag to a block of the spec file, and then test the block by `rspec --tag=now`.
- `,ss` & `,sl` To achieve the same thing, by using `spring rspec`, one can make your Rails specs faster, by caching `Rails env` (must have spring gem installed).
#### Vim Dev
- `,vc` - (Vim command) Copy the command under the cursor and run it. Very useful for testing single-line changes in vimrc.
- `,vr` - (Vim re-documented) Use the current file as a vim file to load the source.
#### SpaceVim Interface elements:
The interface elements of SpaceVim start with [SPC] t or [SPC] T. You can view the second-level instructions by pressing the [SPC] key in the vim window. In the same way, press the required second-level instructions and then you can check the three Level instructions to view.
- `SPC t h s` - Show/hide syntax highlighting
- `SPC t n` - Show/hide line number
- `SPC t h h` - Highlight current line
- `SPC T m` - Show/hide the menu bar (no difference is seen)
- `SPC T t` - Show/hide the toolbar (dont see the difference)
- `SPC [1-9]` - Jump to the specified window
- `SPC f t` - Open file tree
- `SPC p f` - find files in current project
- `SPC f y` - show and copy current file absolute path in the cmdline
- `SPC f S` - save all files
- `SPC f o` - Find current file in file tree
- `SPC f D` - delete a file and the associated buffer with confirmation
- `SPC f p` - search word in current project
- `SPC p /` - fuzzy search for text in current project
- `SPC c l` - toggle comment lines
- `SPC c p` - toggle comment paragraphs
#### Search text
- `SPC s J` - Search text under cursor in current project
#### Help
- `SPC h d k` - Start a input prompt, Then press the key bindings you want to describe
## iTerm
### iTerm Solarized Colors
YADR will install the Solarized color scheme into iTerm. You can choose Solarized Dark in Profiles => Colors => Load Presets.
## [Homebrew](http://mxcl.github.com/homebrew/)
Homebrew is a missing OSX package management system, and it will be installed automatically.
We automatically installed some commonly used packages, such as ctags, git, macvim, hub, and RipGrep (rg). Note that our auto-completion plugin requires MacVim to support Lua. The installer knows how to install it, but if you have installed it before, you need to manually delete your previous MacVim.
## Frequently Asked Questions
[Check FAQ](./FAQ.md)

View File

@ -57,14 +57,14 @@ end
desc 'install spacevim and related config files' desc 'install spacevim and related config files'
task :install_spacevim do task :install_spacevim do
run 'curl -sLf https://spacevim.org/install.sh | sed "s;github.com/SpaceVim;yuancode.co/ruilisi;" | bash' run 'curl -sLf https://spacevim.org/install.sh | sed "s;github.com/SpaceVim;git.bitnet.fun:Gaze;" | bash'
end end
desc 'Update spacevim' desc 'Update spacevim'
task :update_spacevim do task :update_spacevim do
run %( run %(
cd ~/.SpaceVim cd ~/.SpaceVim
git remote set-url origin https://yuancode.co/ruilisi/SpaceVim.git git remote set-url origin git@git.bitnet.fun:Gaze/SpaceVim.git
git pull --rebase git pull --rebase
) )
end end