YADR - 你见过的最好的 vim、git、zsh 插件和最干净的 vimrc

news/2024/10/28 23:27:55/
​
sh -c "`curl -fsSL https://raw.githubusercontent.com/skwp/dotfiles/master/install.sh `"​

始终确保rake update在拉取后运行以确保插件更新

什么是 YADR?

YADR 是一个固执的 dotfile 存储库,它会让你的心在歌唱

  • 所有顶级 dotfile 存储库、vim 和 zsh 插件的最佳部分都集中在一个地方,成为一种简单而有凝聚力的工作方式。
  • 超过 90 个 vim 插件,都在一个屋檐下,协同工作,每个插件都经过研究和配置,使其处于最佳状态,通常具有更好的快捷键。
  • 许多 zsh 插件,从美妙的 Prezto 基础开始,并在顶部添加一些细节。
  • 所有的东西都被 vimized:irb、postgres 命令行等。

不支持 Linux/Ubuntu!如果它有效,那就太好了。如果没有,请不要抱怨。如果您还没有 zsh,则可能需要安装它。 话虽如此,请查看下面的 Docker 部分

邮件列表

有问题、疑虑、想听公告吗?加入谷歌群组

请仅将 GitHub 问题用于拉取请求或错误报告。

截屏

截屏

安装

要开始,请运行:

sh -c " ` curl -fsSL https://raw.githubusercontent.com/skwp/dotfiles/master/install.sh ` "

注意: YADR 将自动安装其所有子组件。如果你想被问到每一个,请使用:

sh -c " ` curl -fsSL https://raw.githubusercontent.com/skwp/dotfiles/master/install.sh ` " -s ask

等等,你还没有完成!做这个:

安装 iTerm Solarized Colors

YADR 会将 Solarized 配色方案安装到您的 iTerm 中。转到 Profiles => Colors => Load Presets 选择 Solarized Dark。

重新映射大写锁定以使用Karabiner-Elements进行转义

转义键是 vim 中最常用的一个键。旧键盘曾经在 Tab 所在的位置使用 Escape。Apple 键盘是最糟糕的,它们的 Esc 键很小。但这一切都可以通过将 Caps 重新映射到 Escape 来解决。如果你击中角落里的一个小目标,你会大大减慢自己的速度,并且可能会因重复性劳损而损坏你的手。

为 iTerm 设置系统范围的热键 (Keys=>Hotkey)

推荐 Cmd-Escape,这真的是 Cmd-Capslock。

在 iTerm 中,取消选中常规中的“本机全屏窗口”

这将为您提供快速的全屏窗口,无需切换到空间即可切换。

在 MacVim 中,取消选中高级设置下的“首选原生全屏支持”

与 iTerm 相同。本机空间导航无缘无故地减慢了一切。

如果你想在终端中运行 vim

  • 确保在终端中安装 Solarized 颜色方案!

  • 如果您不想使用solarized终端,请确保您这样做:

    let g:yadr_using_unsolarized_terminal = 1
    # in ~/.vimrc.before
    
  • 如果您想使用 Gruvbox 等替代配色方案,请~/.vimrc.after执行以下操作:

    let g:yadr_disable_solarized_enhancements = 1
    colorscheme base16-twilight
    

升级

升级很容易。

cd  ~ /.yadr
git pull --rebase
佣金更新

包括什么,以及如何定制?

继续阅读以了解 YADR 提供的功能!

家酿

Homebrew 是macOS 缺少的包管理器。自动安装。

我们会自动安装一些有用的包,包括 ctags、git、macvim、hub 和 Silver searcher ('ag') 请注意,我们的自动完成插件需要支持 Lua 的 MacVim。安装程序知道如何安装它,但如果您之前安装过,您可能需要手动删除旧的 MacVim。

ZSH

将 Zsh 视为更棒的 bash,而无需学习任何新知识。命令的自动拼写更正、语法突出显示等。我们还提供了许多增强功能:

  • Ctrl-R用于反向历史查找器的Vim 模式和 bash 样式
  • Ctrl-x,Ctrl-l 插入最后一个命令的输出
  • 模糊匹配 - 如果您输入错误的目录名称,选项卡完成将修复它
  • fasd集成 -z最近使用的目录的命中和部分匹配。选项卡完成已启用。
  • Prezto - YADR 的 zsh 背后的力量
  • 如何添加自己的 ZSH 主题

别名

我们每天做的很多事情都是用两三个字符的助记符别名来完成的。请随意编辑它们:

ae # alias edit
ar # alias reload

Git自定义:

YADR 将接管您的~/.gitconfig,因此如果您想存储您的用户名,请将它们放入~/.gitconfig.user

建议使用此文件来设置您的用户信息。或者,您可以在~/.secrets.

  • git l或者gl- 一个更有用的 git log
  • git bgb- 带有上次提交摘要的分支列表
  • git r - 带有信息的遥控器列表
  • git tgt- 带有信息的标签列表
  • git nbgnb- a (n)ew (b)ranch - 像结帐 -b
  • git cpgcp- 樱桃挑选 -x (显示樱桃挑选的内容)
  • git simple - 用于创建变更日志的干净格式
  • git recent-branches - 如果你忘记了你一直在做的事情
  • git unstageguns(从索引中删除)和git uncommitgunc(恢复到上次提交之前的时间 - 如果已经推送则很危险)别名
  • 一些合理的默认配置,例如改进合并消息、push 只推送当前分支、移除状态提示以及在 diff 中使用助记符前缀:(i)ndex、(w)ork 树、(c)ommit 和 (o)bject
  • 稍微改进了差异的颜色
  • gdmb (g)it (d)elete (m)erged (b)ranches - 删除当前分支上已经合并的所有分支

红宝石

包含一个 .gemrc。永远不要再输入gem install whatever --no-ri --no-rdoc--no-ri --no-rdoc是默认完成的。

Tmux 配置

tmux.conf为 Mac OS 上的 tmux 提供了一些合理的默认值,例如强大的状态栏和 vim 键绑定。您可以在~/.tmux.conf.user.

一切都可视化

提供的 inputrc 和 editrc 会将您的各种命令行工具(如 mysql 和 irb)转换为 vim 提示。editrc 中还包含一个 Ctrl-R 反向历史搜索功能,在 irb、postgres 命令行等中非常有用。

Github 问题:ghi gem

我们包括ghi命令。尝试ghi list并享受从命令行管理问题的乐趣!

Vim - 包括什么?

  • 导航 - NERDTree、EasyMotion、CtrlP 等
  • 文本对象 - 操作 ruby​​ 块等
  • 代码操作 - rails 支持、注释、片段、突出显示
  • Utils - 缩进、粘贴缓冲区管理等
  • 不添加新命令的一般增强功能

下面列出了 YADR 在 vi​​m 中提供的一些最有用的命令。这不是一个全面的清单。要获得更深入的知识,请每天练习其中的一些,然后开始查看上面的插件列表以了解更多信息。

导航

  • ,z - 转到上一个缓冲区 (:bp)
  • ,x - 转到下一个缓冲区 (:bn)
  • Cmd-j并按Cmd-k功能大致上下移动(Alt在 Linux 中)
  • Ctrl-o - 旧光标位置 - 这是一个标准映射但非常有用,因此包含在此处
  • Ctrl-i - 与 Ctrl-O 相反(同样,这是标准的)

搜索/代码导航

  • ,f - 立即找到类的定义(必须安装 exuberant ctags)
  • ,F- 与,f垂直分割相同
  • ,gfCtrl-f- 与 vim normal gf 相同(转到文件),但在垂直拆分中(也适用于 file.rb:123 行号)
  • gF - 标准 vim 映射,这里是为了完整性(转到行号处的文件)
  • ,k - 搜索光标下的当前单词并在quickfix窗口中显示结果
  • ,K - Grep 当前单词到下一个感叹号(对 ruby​​ foo! 方法很有用)
  • Cmd-*- 突出显示当前单词的所有出现(类似于常规,*除了不移动)
  • ,hl - 打开和关闭搜索突出显示
  • ,gg,ag- Grep 命令行,在引号之间键入。使用银银搜索器。
  • 搜索后,,gg您可以使用Ctrl-xCtrl-z(或标准 vim:cn:cp)导航结果
  • ,gd - 当光标位于函数名称上时,grep def(greps for 'def [function name]')
  • ,gcf - Grep 当前文件以查找对当前文件的引用
  • // - 清除搜索
  • ,,w(alias ,<esc>) 或,,b(alias ,<shift-esc>) - EasyMotion,一种 vimperator 风格的工具,可突出显示屏幕上的跳转点,并让您键入以到达那里。
  • ,mc- 将此词标记为 MultiCursor(如 sublime)。使用Ctrl-n(next), Ctrl-p(prev), Ctrl-x(skip) 添加更多光标,然后执行正常的 vim 操作,例如编辑单词。
  • gK - 打开光标下单词的文档。
  • 空格键 - 潜行 - 键入两个字符以在一行中移动。有点像 vim,f但更准确。
  • :Gsearch foo- 全局搜索,然后执行您的常规操作%s/search/replace/g并跟进:Greplace以替换所有文件。完成后用于:wall写入所有文件。

文件导航

  • ,t - CtrlP 模糊文件选择器
  • ,b - CtrlP 缓冲区选择器 - 非常适合跳转到您已经打开的文件
  • Cmd-Shift-M - 跳转到方法 - 当前缓冲区内的 CtrlP 标签搜索
  • ,jm跳转到模型。其他,j映射:,jc用于控制器、,jh帮助器等。如果您想到一个概念和一个字母,我们已经涵盖了您。
  • Cmd-Shift-N- NERDTree 切换(Alt在 Linux 中)
  • Ctrl-\ - 在 NERDTree 中显示当前文件
  • Cmd-Shift-P - 清除CtrlP缓存

更好的常用编辑命令击键

  • Ctrl-Space 自动完成。用于 snipmate 片段的选项卡。
  • ,# ," ,' ,] ,) ,}用这些常见的包装器包围一个词。# 执行 #{ruby 插值}。在视觉模式下工作(感谢@cj)。通常这些是用类似的东西完成的ysw#
  • Cmd-'Cmd-"Cmd-]Cmd-)等来更改周围标记内的内容。你不必在他们里面(Alt在 Linux 中)
  • ,.转到最后一个编辑位置(与 相同'.),因为小指上的撇号很难
  • ,ci 在任何一组引号/括号/等内更改

选项卡、窗口、拆分

  • 使用Cmd-1thruCmd-9切换到特定的标签号(如 iTerm 和 Chrome) - 标签已设置为显示数字(Alt在 Linux 中)
  • Ctrl-h,l,j,k- 在分裂之间向左、向右、向下、向上移动。由于vim-tmux-navigator.
  • Q- 智能窗口杀手。wincmd c如果同一个缓冲区有多个窗口,则关闭窗口,bwipeout如果这是最后一个窗口,则终止缓冲区。
  • vv- 垂直分割 ( Ctrl-w,v)
  • ss- 水平分割 ( Ctrl-w,s)
  • ,qo - 打开 quickfix 窗口(这是 Grep 输出的地方)
  • ,qc - 关闭快速修复

公用事业

  • Ctrl-p粘贴后 -p用于粘贴和Ctrl-p循环浏览以前的粘贴。由 YankRing 提供。
  • ,yr- 查看 yankring - 您以前的复制命令列表。您也可以粘贴和点击ctrl-p以循环浏览以前的复制命令
  • crscrc,cru通过 abolish.vim,强制转换为 snake_case、camelCase 和 UPPERCASE。还有更多:help abolish
  • :NR- NarrowRgn - 在一些选定的文本上使用它来创建一个仅包含该文本的新拆分。做一些工作,然后 :wq it 以获取结果。
  • ,ig - 切换视觉缩进指南
  • ,cf - 将当前文件的文件名(完整路径)复制到系统(不是 vi)粘贴缓冲区
  • ,cn - 复制当前文件的文件名(仅名称,无路径)
  • ,yw - 从单词内的任何位置猛拉一个单词(这样你就不必去到它的开头)
  • ,ow- 用你的 yank 缓冲区中的任何内容覆盖一个词 - 你可以在这个词的任何地方。省去了视觉上的选择
  • ,ocf- 打开更改的文件(从@garybernhardt 窃取)。打开所有带有 git 更改的文件
  • ,w - 去除尾随空格
  • sj - 将诸如散列 {:foo => {:bar => :baz}} 之类的行拆分为多行散列(j = down)
  • sk - 取消链接(k = up)
  • ,he - Html 转义
  • ,hu - Html Unescape
  • ,hp - Html 预览(在 Safari 中打开)
  • Cmd-Shift-A- 对齐事物(键入要对齐的字符/表达式,在可视模式下或单独工作)(Alt在 Linux 中)
  • :ColorToggle - 打开 #abc123 颜色突出显示(对 css 有用)
  • :Gitv - Git 日志浏览器
  • ,hi- 显示当前突出显示组。如果你不喜欢某样东西的颜色,使用它,然后hi! link [groupname] [anothergroupname]在你的 vimrc.after 中使用来重新映射颜色。您可以使用以下方法查看可用颜色:hi
  • ,gt - Go Tidy - 整理您的 html 代码(适用于视觉选择)
  • :Wrap - 换行(例如在编辑 Markdown 文件时)
  • Cmd-/- 切换注释(通常来自 tComment 的 gcc)(Alt在 Linux 中)
  • gcp (评论一段)

铁轨和红宝石

  • ,vv,cc在视图和控制器之间切换 - 这些映射到 :Rcontroller 和 :Rview。从 rails.vim 探索 :R 命令系列以获得更多乐趣!
  • ,rs,rl在 iTerm 中运行 rspec 或规范行(检查 iTerm 窗口以获取结果)
  • ,ss,sl对于相同的使用spring rspec,这使得你的Rails规格更快通过缓存Rails的ENV(必须已安装了春天的宝石)
  • vim-ruby-refactoring - 尝试,rem,rel提取方法或 let 语句
  • Ctrl-s- 在拆分中打开相关规范。与 rails.vim 中的 :A 和 :AV 类似,但也知道 fast_spec 目录并且输入速度更快
  • :Bopen [gem name] 导航到 gem (@tpope/vim-bundler)
  • ,gcp - Grep Current Partial 查找对当前视图部分的引用
  • ,orb- 外红宝石块。带你从嵌套块上一层(非常适合 rspec)

Vim 开发

  • ,vc- (Vim Command) 复制光标下的命令并在 vim 中执行。非常适合测试 vimrc 的单行更改。
  • ,vr - (Vim Reload) 源当前文件作为 vim 文件

扩展和覆盖 YADR 设置

  • 调试 vim 键盘映射
  • 使用 ~/.vimrc.after 和朋友覆盖 vim 设置
  • 添加你自己的 vim 插件

使用 Docker 进行测试

我们可以使用 Docker 来测试Linux容器中的一些更改。

假设你的主机系统正确安装了 Docker 和 Docker Compose,运行:

docker-compose run dotfiles

如果之前从未构建过它,这将构建容器镜像(这可能需要一段时间——未来会更快),然后zsh在该容器内为您运行一个会话。在那里你可以玩,测试命令,别名等。

警告:此 repo 主要面向 macOS。所以对 Linux 的任何支持都只能在社区的帮助下完成。

杂项

  • 积分和感谢
  • 其他推荐的 macOS 生产力工具
  • 颜的博客

macOS 黑客

macOS 文件是一个 bash 脚本,可为 macOS 下的开发人员和高级用户设置合理的默认值。在运行它之前通读它。使用:

bin/macos

这些 hack 以 Lion 为中心。可能不适用于其他操作系统。我最喜欢的模组包括:

  • 超快键重复率(现在您可以使用 j/k 快速滚动)
  • 无磁盘映像验证(下载的文件打开速度更快)
  • 在 finder 中显示 ~/Library 文件夹(隐藏在 Lion 中)

Macvim 与 Lua 的麻烦?

brew uninstall macvim
brew remove macvim
brew cleanup
brew install macvim --custom-icons --with-override-system-vim --with-lua --with-luajit

终端 Vim 与 Lua 的麻烦?

使用 RVM 管理的 Ruby 安装终端 vim(使用 lua)可能会导致 neocomplete 插件出现段错误。尝试卸载 vim,然后使用系统 ruby​​ 安装:

brew uninstall vim
rvm system do brew install vim --with-lua

Pry 通过颜色、选项卡完成和许多其他技巧提供了更好的开箱即用的 IRB 体验。您还可以通过安装pry-nav将其用作实际的调试器。

了解有关 YADR 的撬定制以及如何安装的更多信息


http://www.ppmy.cn/news/629279.html

相关文章

计算机操作员要求,计算机操作员教学大纲

《计算机操作员教学大纲》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《计算机操作员教学大纲(8页珍藏版)》请在人人文库网上搜索。 1、计算机操作员培训教学大纲一、课程的地位、目的与任务计算机应用基础课程是计算机操作员必修课。 通过学习&#xff0c;测试学员…

Java经验速记

一、Git 1、Git的作用 记录内容的变化&#xff0c;以便将来查阅特定版本修订情况&#xff0c;版本回溯 2、Git和SVN的区别 Git是分布式版本控制系统&#xff0c;保存的是每个版本的索引&#xff08;可直接回退到任意版本&#xff09;&#xff0c;客户端不只是提取最新版本的…

Linux和onenote很像的软件,Microsoft OneNote替代方案?

以星 Zim是一个类似的笔记,带有类似wiki的应用程序。 Zim支持富文本格式,笔记和外部资源之间的链接,内联图像甚至LaTeX方程。 它有一个熟悉的’笔记本’布局与标签。 这是一个快速截图,展示了一些function: Zim可以使用插件扩展 – 例如LaTeX插件。 还有很多。 这是默认插…

pycharm代码整体左移和右移缩进(快捷键操作)

在使用pycharm时&#xff0c;经常会需要多行代码同时缩进、左移&#xff0c;pycharm提供了快捷方式 1、pycharm使多行代码同时缩进 鼠标选中多行代码后&#xff0c;按下Tab键&#xff0c;一次向右缩进四个字符 2、pycharm使多行代码同时左移 鼠标选中多行代码后&#xff0c…

phpstorm常用快捷键

1。phpstorm可以开terminal&#xff0c;然后php -S localhost:8000 -t .\public,还有laravel也要用到很多命令行php artisan 2。phpstorm可以配置git&#xff0c;配好了之后ctrlK&#xff0c;直接就填commit就好了&#xff0c;然后直接点击push 3。phpstorm格式化代码的快捷键是…

C#私有构造函数学习

私有构造函数是一种特殊的实例构造函数。 它通常用在只包含静态成员的类中。 如果类具有一个或多个私有构造函数而没有公共构造函数&#xff0c;则其他类&#xff08;除嵌套类外&#xff09;无法创建该类的实例。 如果类T只声明了私有实例构造函数&#xff0c;则在T的程序文本外…

那时候的漫画【怀旧贴】

ZERO Z:今天的话题是‘那个时候的漫画’L:‘那个时候’?Z:是,那个时候,大家还是正太和罗丽的当年。L:你是正太的时候,还没有漫画吧。Z:不是,我可是看着漫画发展起来的一代。L:真的Z:这个不用怀疑了,言归,既然说的是‘那个时候’,很多东西就只在记忆之中,错误是…

主要视频压缩技术在中国内地市场发展分析

1 主要视频压缩技术在中国内地市场发展分析 --------孟冰 晶门科技 一,视频压缩技术背景及主要压缩技术发展 视频处理技术是伴随着视频从模拟到数字化转变的过程中得到蓬勃发展的. 随着人们对视频图像的清晰度,流畅度,实时度的要求越来越苛刻,使其成为了 一项炙手可热的技…