sh -c "`curl -fsSL https://raw.githubusercontent.com/skwp/dotfiles/master/install.sh `"
始终确保rake update
在拉取后运行以确保插件更新
YADR 是一个固执的 dotfile 存储库,它会让你的心在歌唱
不支持 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 相同。本机空间导航无缘无故地减慢了一切。
确保在终端中安装 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 视为更棒的 bash,而无需学习任何新知识。命令的自动拼写更正、语法突出显示等。我们还提供了许多增强功能:
Ctrl-R
用于反向历史查找器的Vim 模式和 bash 样式Ctrl-x,Ctrl-l
插入最后一个命令的输出z
最近使用的目录的命中和部分匹配。选项卡完成已启用。我们每天做的很多事情都是用两三个字符的助记符别名来完成的。请随意编辑它们:
ae # alias edit
ar # alias reload
YADR 将接管您的~/.gitconfig
,因此如果您想存储您的用户名,请将它们放入~/.gitconfig.user
建议使用此文件来设置您的用户信息。或者,您可以在~/.secrets
.
git l
或者gl
- 一个更有用的 git loggit b
或gb
- 带有上次提交摘要的分支列表git r
- 带有信息的遥控器列表git t
或gt
- 带有信息的标签列表git nb
或gnb
- a (n)ew (b)ranch - 像结帐 -bgit cp
或gcp
- 樱桃挑选 -x (显示樱桃挑选的内容)git simple
- 用于创建变更日志的干净格式git recent-branches
- 如果你忘记了你一直在做的事情git unstage
/ guns
(从索引中删除)和git uncommit
/ gunc
(恢复到上次提交之前的时间 - 如果已经推送则很危险)别名gdmb
(g)it (d)elete (m)erged (b)ranches - 删除当前分支上已经合并的所有分支包含一个 .gemrc。永远不要再输入gem install whatever --no-ri --no-rdoc
。--no-ri --no-rdoc
是默认完成的。
tmux.conf
为 Mac OS 上的 tmux 提供了一些合理的默认值,例如强大的状态栏和 vim 键绑定。您可以在~/.tmux.conf.user
.
提供的 inputrc 和 editrc 会将您的各种命令行工具(如 mysql 和 irb)转换为 vim 提示。editrc 中还包含一个 Ctrl-R 反向历史搜索功能,在 irb、postgres 命令行等中非常有用。
我们包括ghi
命令。尝试ghi list
并享受从命令行管理问题的乐趣!
下面列出了 YADR 在 vim 中提供的一些最有用的命令。这不是一个全面的清单。要获得更深入的知识,请每天练习其中的一些,然后开始查看上面的插件列表以了解更多信息。
导航
,z
- 转到上一个缓冲区 (:bp),x
- 转到下一个缓冲区 (:bn)Cmd-j
并按Cmd-k
功能大致上下移动(Alt
在 Linux 中)Ctrl-o
- 旧光标位置 - 这是一个标准映射但非常有用,因此包含在此处Ctrl-i
- 与 Ctrl-O 相反(同样,这是标准的)搜索/代码导航
,f
- 立即找到类的定义(必须安装 exuberant ctags),F
- 与,f
垂直分割相同,gf
或Ctrl-f
- 与 vim normal gf 相同(转到文件),但在垂直拆分中(也适用于 file.rb:123 行号)gF
- 标准 vim 映射,这里是为了完整性(转到行号处的文件),k
- 搜索光标下的当前单词并在quickfix窗口中显示结果,K
- Grep 当前单词到下一个感叹号(对 ruby foo! 方法很有用)Cmd-*
- 突出显示当前单词的所有出现(类似于常规,*
除了不移动),hl
- 打开和关闭搜索突出显示,gg
或,ag
- Grep 命令行,在引号之间键入。使用银银搜索器。,gg
您可以使用Ctrl-x
和Ctrl-z
(或标准 vim:cn
和:cp
)导航结果,gd
- 当光标位于函数名称上时,grep def(greps for 'def [function name]'),gcf
- Grep 当前文件以查找对当前文件的引用//
- 清除搜索,,w
(alias ,
) 或,,b
(alias ,
) - EasyMotion,一种 vimperator 风格的工具,可突出显示屏幕上的跳转点,并让您键入以到达那里。,mc
- 将此词标记为 MultiCursor(如 sublime)。使用Ctrl-n
(next), Ctrl-p
(prev), Ctrl-x
(skip) 添加更多光标,然后执行正常的 vim 操作,例如编辑单词。gK
- 打开光标下单词的文档。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缓存更好的常用编辑命令击键
,#
,"
,'
,]
,)
,}
用这些常见的包装器包围一个词。# 执行 #{ruby 插值}。在视觉模式下工作(感谢@cj)。通常这些是用类似的东西完成的ysw#
Cmd-'
、Cmd-"
、Cmd-]
、Cmd-)
等来更改周围标记内的内容。你不必在他们里面(Alt
在 Linux 中),.
转到最后一个编辑位置(与 相同'.
),因为小指上的撇号很难,ci
在任何一组引号/括号/等内更改选项卡、窗口、拆分
Cmd-1
thruCmd-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
以循环浏览以前的复制命令crs
, crc
,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(必须已安装了春天的宝石),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 文件我们可以使用 Docker 来测试Linux容器中的一些更改。
假设你的主机系统正确安装了 Docker 和 Docker Compose,运行:
docker-compose run dotfiles
如果之前从未构建过它,这将构建容器镜像(这可能需要一段时间——未来会更快),然后zsh
在该容器内为您运行一个会话。在那里你可以玩,测试命令,别名等。
警告:此 repo 主要面向 macOS。所以对 Linux 的任何支持都只能在社区的帮助下完成。
macOS 文件是一个 bash 脚本,可为 macOS 下的开发人员和高级用户设置合理的默认值。在运行它之前通读它。使用:
bin/macos
这些 hack 以 Lion 为中心。可能不适用于其他操作系统。我最喜欢的模组包括:
brew uninstall macvim
brew remove macvim
brew cleanup
brew install macvim --custom-icons --with-override-system-vim --with-lua --with-luajit
使用 RVM 管理的 Ruby 安装终端 vim(使用 lua)可能会导致 neocomplete 插件出现段错误。尝试卸载 vim,然后使用系统 ruby 安装:
brew uninstall vim
rvm system do brew install vim --with-lua
Pry 通过颜色、选项卡完成和许多其他技巧提供了更好的开箱即用的 IRB 体验。您还可以通过安装pry-nav将其用作实际的调试器。
了解有关 YADR 的撬定制以及如何安装的更多信息