Dotar(zsh,tmux,vim,ag)

Dotar是一个包含了zsh, spacevim(nvim), tmux和许多其它工具的多合一的Mac/Ubuntu开发环境

背景

Dotar的名字源于dottar的结合,代表者打包(tar)文件。

开始

需求

  • zsh, tmux, vim, ag已经安装,并且zsh作为你的默认终端:
chsh -s $(which zsh)
  • 如果缺少Python 3pynvim等一些层(如denite),则无法加载它们。
python3 -m pip install --user --upgrade pynvim

安装

bash -c "`curl -fsSL https://git.bitnet.fun:5004/Gaze/dotar/raw/commit/21638953a830aa657b1e0fe1b14ff65a1694ef60/install.sh`"

升级

cd ~/.yadr
git pull --rebase
rake update

模块

  • ZSH
    • Prezto - YADR背后的zsh配置框架
    • 如何添加你自己的ZSH主题

Zsh Commands

文件
命令参数描述
交换F1 F2swap file F1 with file F2
替换docReplace text recursively
替换 选项:
  -f            文件正则表达式模式-s            源模式-d            目标模式-r            删除行--regex       使用正则表达式匹配模式--seperator=  分隔符, # 默认-h            显示这条信息"
编辑
快捷键别名
Ctrl-RVim模式和Bash风格的历史反向查询
ae编辑别名
ar重载别名
ESC C-x C-e在vim中编辑当前的命令行
网络
命令描述
test-port PORT测试这个PORT是否打开
intercept-request-hosts拦截请求并显示主机信息
host-ip显示您系统的主机IP地址
系统
命令描述
yell将脚本名称和所有参数打印到标准错误(stderr)流中
die与yell相同,但以非0退出状态退出,表示“失败”
try使用
list-large-files DIR列出大文件,按照文件大小的倒序排序,并按照KB, MB, GB的顺序打印文件大小
字符串
命令描述
random-hex打印随机十六进制数
random-string打印由字母a-zA-Z0-9组成的随机字符串
containsstr1 str2 … target
Git

YADR将接管您的/.gitconfig文件,因此如果您想要存储git用户名和其他设置,请将它们放在/.gitconfig.user中。

我们建议在此文件中设置您的用户信息。此外,您可以在~/.secrets中适当设置环境变量。

命令别名描述
gagit add
gbgit branch新建分支
gbc or gnbgit checkout -b新建并切换到新分支
gbsgit show-branch
gcgit commit --verbose
gcogit checkout切换到目标分支
gcpgit cherry-pick --ff
gcfgit commit --amend --reuse-message HEAD重新提交且不更改commit信息
gdgit diff
gfgit fetch
gfcgit clone
gfmgit pull
gfrgit pull --rebase拉取远程分支更新到本地
glgit log
gpcgit push --set-upstream origin "$(git-branch-current 2> /dev/null)"将本地更改推送到远程的同名分支
grgit rebase合并分支到此分支
gragit rebase --abort
grcgit rebase --continue
grsgit rebase --skip
gsdgit stash drop
gslgit stash list
gspgit stash pop
gstgit stash
其它
  • 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

"fasd"的名称来源于默认建议的别名:f(文件)、a(文件/目录)、s(显示/搜索/选择)、d(目录)。

一些情况下,您可以输入左侧的命令,而fasd会将您的命令“展开”为右侧的内容。

  v def conf       =>     vim /some/awkward/path/to/type/default.confj abc            =>     cd /hell/of/a/awkward/path/to/get/to/abcdefm movie          =>     mplayer /whatever/whatever/whatever/awesome_movie.mp4o eng paper      =>     xdg-open /you/dont/remember/where/english_paper.pdfvim `f rc lo`    =>     vim /etc/rc.localvim `f rc conf`  =>     vim /etc/rc.conf

Fasd默认附带了一些有用的别名:

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会智能地检测何时显示文件列表,何时只显示最佳匹配项。例如,当您在子shell中使用一些搜索参数调用fasd时,fasd只会返回最佳匹配项。这使您可以执行以下操作:

mv update.html `d www`
cp `f mov` .

Tmux

设置

tmux.conf为Mac OS上的tmux提供了一些合理的默认设置,例如强大的状态栏和VIM键盘绑定。您可以在~/.tmux.conf.user中修改配置。

快捷键

起手式被定义为了 ctrl+a(下面的PRE就代表起手式)

快捷键功能
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 ;前往“最后一个”(之前使用过的)窗格

CCtrl 的简写

按下 PRE [ 来进入滚动模式

快捷键功能
Shift-V选择文本
Enter复制文本
]粘贴从滚动模式复制的文本

Vim & Spacevim

  • <L>: <localleader>的缩写, 在我们的设置中是 \

我们定义的内容

基础

Here

快捷键

全局

快捷键功能
C-v进入Visual模式
C-x C-v从系统剪贴板粘贴文本
tp切换粘贴模式
SPC f v d打开配置文件
SPC g .进入版本控制瞬态状态
SPC l p预览Markdown

Typescript

快捷键功能
SPC l p定义预览
SPC l t类型
SPC l e重命名
SPC l d文档
g d前往定义
SPC e L列出检查器

Tab

快捷键功能
\[1-9]打开标签页1-9
SPC t t打开标签管理窗口
SPC w F打开一个新标签页
SPC w o切换标签页

历史

快捷键功能
F7撤销历史

Debug

快捷键功能
SPC h I显示Debug信息

Git Blame

快捷键功能
b在当前行末尾切换显示Git Blame信息
s在状态栏中查看当前选定行的Git Blame信息
gb打开Git Blame窗口
markdown
  • 安装 prettier: yarn global add prettiernpm install --global prettier
  • 打开vim然后输入命令: :SPUPdate
选项窗口、窗口、分割栏
  • Ctrl-h,l,j,k - 用于在左、右、上、下分隔中移动。即使在vim和分割栏并排的情况下,也可以使用 vim-tmux-navigator实现此功能。
  • Q - 进入Ex模式
  • vv - 垂直分割 (Ctrl-w,v)
  • ss - 水平分割 (Ctrl-w,s)
  • ,qo - 打开快速修复窗口(grep的输出将显示在此窗口中)
  • ,qc - 关闭快速修复窗口
Rails & Ruby
  • ,vv & ,cc 切换视图和控制器之间的命令是与:Rcontroller和:Rview相对应的映射。通过探索R系列命令,您可以更多地了解rails.vim的乐趣!
  • ,rs & ,rl 在iTerm中运行rspec或特定的spec行(在iTerm窗口中查看信息)。
  • ,tt在spec文件中给一个块添加now: true标签, 然后通过rspec --tag=now测试该块。
  • ,ss & ,sl 通过使用spring rspec来实现相同的功能,可以通过缓存Rails env(必须安装spring gem)来加速Rails的测试。
Vim开发
  • ,vc - (Vim命令)复制光标下的命令并运行它。在测试vimrc中的单行更改时非常有用。
  • ,vr - (重新记录的Vim命令)将当前文件作为Vim文件使用,加载源代码。
SpaceVim界面元素:

SpaceVim的界面元素以[SPC] t或[SPC] T开头。您可以通过在vim窗口中按下[SPC]键来查看第二级指令。同样地,按下所需的第二级指令,然后您可以查看三级指令以进行查看。

  • SPC t h s - 显示/隐藏语法高亮显示
  • SPC t n - 显示/隐藏行号
  • SPC t h h - 高亮显示当前行
  • SPC T m - 显示/隐藏菜单栏(看不出区别)
  • SPC T t - 显示/隐藏工具栏(看不出区别)
  • SPC [1-9] - 跳转到指定的窗口
  • SPC f t - 打开文件树
  • SPC p f - 在当前项目中查找文件
  • SPC f y - 在命令行中显示并复制当前文件的绝对路径
  • SPC f S - 保存所有文件
  • SPC f o - 在文件树中查找当前文件
  • SPC f D - 删除文件并附带确认删除相关缓冲区
  • SPC f p - 在当前项目中搜索单词
  • SPC p / - 在当前项目中进行模糊搜索文本
  • SPC c l - 切换注释行状态
  • SPC c p - 切换注释段落状态
搜索文本
  • SPC s J - 在当前项目中搜索光标下的文本
帮助
  • SPC h d k - 开始一个输入提示,然后按下您想要描述的按键绑定。

iTerm

iTerm Solarized Colors

YADR将会在iTerm中安装Solarized颜色方案。您可以在“Profiles => Colors => Load Presets”中选择Solarized Dark。

Homebrew

Homebrew是一个缺失的OSX包管理系统,它将会自动安装。

我们自动安装了一些常用的软件包,如ctags、git、macvim、hub和RipGrep(‘rg’)。请注意,我们的自动完成插件需要MacVim支持Lua。安装程序知道如何安装它,但如果您之前已经安装过它,您需要手动删除之前的MacVim。

常见问题

Check FAQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/153223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NX二次开发UF_CAM_ask_tool_matl_db_object 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;里海NX二次开发3000例专栏 UF_CAM_ask_tool_matl_db_object Defined in: uf_cam.h int UF_CAM_ask_tool_matl_db_object(UF_CAM_db_object_t * db_obj ) overview 概述 This function provides the database object which is…

解锁性能:玩转多线程编程的新姿势......

拥有多线程和拥有一百枚核弹没有区别&#xff0c;因为都是毁灭性的存在。——麦克阿瑟 在Java中&#xff0c;实现多线程主要有三种方式&#xff1a;继承Thread类、实现Runnable接口和实现Callable接口。 多线程的形式上实现方式主要有两种&#xff0c;一种是继承Thread类&…

NX二次开发UF_CAM_ask_lower_limit_plane_status 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;里海NX二次开发3000例专栏 UF_CAM_ask_lower_limit_plane_status Defined in: uf_cam_planes.h int UF_CAM_ask_lower_limit_plane_status(tag_t object_tag, UF_PARAM_lwplane_status_t * status ) overview 概述 Query the…

NX二次开发UF_CAM_ask_opt_template_object 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;里海NX二次开发3000例专栏 UF_CAM_ask_opt_template_object Defined in: uf_cam.h int UF_CAM_ask_opt_template_object(UF_CAM_opt_t * opt_object ) overview 概述 This function provides the object which is used to in…

hadoop 编写开启关闭集群脚本, hadoop hdfs,yarn开启关闭脚本。傻瓜式hadoop脚本 hadoop(九)

1. 三台机器&#xff1a; hadoop22, hadoop23, hadoop24 2. hdfs在22机器启动&#xff0c;yarn在hadoop23机器 3. 脚本需要hadoop用户启动才可以 4. 脚本&#xff1a; #!/bin/bashHADOOP_PATH"/opt/module/hadoop-3.3.4"# 检查脚本执行用户是否为 hadoop if [ &q…

〖大前端 - 基础入门三大核心之JS篇㊴〗- DOM节点的关系

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;不渴望力量的哈士奇(哈哥)&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

11、利用大津算法完成一张图片的前景分割

上一篇文章介绍了大津算法,总的来说,大津算法的核心思想就两个: 数学上,通过确定一个像素阈值,来将图片中的像素分为两类,一类前景、一类背景,然后计算两类图像的类间方差,使方差最大。 工程实现上,为了确定像素阈值,采用遍历的方法来实现。 代码实现 下面通过一个…

[C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…

VulnHub DC-7

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

释放锁流程源码剖析

1 释放锁流程概述 ReentrantLock的unlock()方法不区分公平锁还是非公平锁。 首先调用unlock()方法。 unlock()底层使用的是Sync.release(1)方法 public void unlock() {<!-- --> sync.release(1); } release(1)方法会调用tryRelease(1)去尝试解锁。 public fin…

TC397 EB MCAL开发从0开始系列 之 [15.0] Fee配置说明 -理论详解

一、Fls模块详解1. FEE驱动工作模式:1.1 双扇区&QS1.2 单双扇区1.3 单QS2. Fls配置相关3. 初始化FEE驱动程序4. FEE operation5. Configuration of QS blocks6. Key points to consider6.1 FEE和FLS依赖6.2 GC介绍6.3 写块接近GC阈值6.4 FEE_E_GC_TRIG DEM6.5 Fee_Read和Fe…

EtherCAT从站EEPROM分类附加信息详解:RXPDO(输入过程数据对象)

0 工具准备 1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)1 分类附加信息——RXPDO(输入过程数据对象) 1.1 分类附加信息规范 在EEPROM字64开始的区域存储的是分类附加信息,这里存储了包括设备信息、SM配置、FMMU配置在内的诸多信息。每个信息在一段连续的…

python实战—核心基础1(高考倒计时)lv1

目录 一、核心代码解释 二、代码 三、运行截图 一、核心代码解释 1、datetime模块 Python有一个名为datetime的模块&#xff0c;用于处理日期和时间。 datetime模块中定义的一个类是datetime类。 可以使用now()方法创建一个包含当前本地日期和时间的datetime对象。 impo…

藏头诗(C语言)

本题要求编写一个解密藏头诗的程序。 注&#xff1a;在 2022 年 7 月 14 日 16 点 50 分以后&#xff0c;该题数据修改为 UTF-8 编码。 输入格式&#xff1a; 输入为一首中文藏头诗&#xff0c;一共四句&#xff0c;每句一行。注意&#xff1a;一个汉字占三个字节。 输出格…

Milvus Standalone安装

使用Docker Compose安装 Milvus standalone&#xff08;即单机版&#xff09;&#xff0c;进行一个快速milvus的体验。 前提条件&#xff1a; 1.系统可以使用centos 2.系统已经安装docker和docker-compose 3.milvus版本这里选择2.3.1 由于milvus依赖etcd和minio&#xff0c…

公司电脑文件透明加密、防泄密管理软件系统

天锐绿盾数据透明加密系统是一款采用驱动层透明加密技术实现电子文件安全加密的防护产品&#xff0c;可以对企业电子文件的存储、访问、传播和处理过程实施全方位保护。该系统遵循基于文件生命周期安全防护的思想&#xff0c;集成了密码学、访问控制和审计跟踪等技术手段&#…

MySQL优化-查询优化

MySQL查询优化是指通过调整查询语句、优化表结构、使用索引等方式&#xff0c;提高查询性能的过程。以下是MySQL查询优化的几种方法&#xff1a; 1. 尽量避免使用SELECT* SELECT *会查询表中的所有列&#xff0c;包括不需要的列&#xff0c;这会消耗大量的计算资源和时间。而…

PTA目录树

在ZIP归档文件中&#xff0c;保留着所有压缩文件和目录的相对路径和名称。当使用WinZIP等GUI软件打开ZIP归档文件时&#xff0c;可以从这些信息中重建目录的树状结构。请编写程序实现目录的树状结构的重建工作。 输入格式: 输入首先给出正整数N&#xff08;≤104&#xff09;…

【开源】基于Vue.js的计算机机房作业管理系统的设计和实现

项目编号&#xff1a; S 017 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S017&#xff0c;文末获取源码。} 项目编号&#xff1a;S017&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登录注册模块2.2 课程管理模块2.3 课…

某app c++层3处魔改md5详解

hello everybody,本期是安卓逆向so层魔改md5教学,干货满满,可以细细品味,重点介绍的是so层魔改md5的处理. 常见的魔改md5有: 1:明文加密前处理 2:改初始化魔数 3:改k表中的值 4:改循环左移的次数 本期遇到的是124.且循环左移的次数是动态的,需要前面的加密结果处理生成 目录…