我最近切换到 zsh,使用robbyrussell 的oh-my-zsh. 在此之前,我将 bash 与许多自定义内容一起使用,但我只遗漏了一件事,因为 zsh 试图“太聪明”:
如果我输入git commit然后?zsh 会执行所有最近的git命令。不过,我真正想要的是执行所有以git commit(不仅仅是git)开头的命令。
我怎样才能在 (oh-my-)zsh 中实现这种行为?
当我从注释掉的行开始新行时,Vim 会自动插入注释,因为我已经设置了formatoptions=tcroql. 例如(光标为*):
// this is a comment*
Run Code Online (Sandbox Code Playgroud)
在点击<Enter>(插入模式)或o(正常模式)后,我剩下:
// this is a comment
// *
Run Code Online (Sandbox Code Playgroud)
这个功能在写长的多行注释时非常方便,但通常我只想要单行注释。现在,如果我想结束评论系列,我有几个选择:
<Esc>S<BS>三下这两者都提供了三个按键,再加上<Enter>这意味着一个新行需要四个按键,我认为这太多了。理想情况下,我想再打<Enter>一次:
// this is a comment
*
Run Code Online (Sandbox Code Playgroud)
重要的是该解决方案也适用于不同的缩进级别,即
int main(void) {
// this is a comment*
}
Run Code Online (Sandbox Code Playgroud)
打 <Enter>
int main(void) {
// this is a comment
// *
}
Run Code Online (Sandbox Code Playgroud)
打 <Enter>
int main(void) {
// this is a comment
*
}
Run Code Online (Sandbox Code Playgroud)
我想我几年前在一些文本编辑器中看到过这个功能,但我不记得是哪一个了。有没有人知道可以在 Vim 中为我执行此操作的解决方案?关于如何推出我自己的解决方案的正确方向的指针也非常受欢迎。
我copy-pipe在 OS X 上使用 Tmux 1.8 共享系统剪贴板:
unbind -t vi-copy Enter
bind -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
Run Code Online (Sandbox Code Playgroud)
这在进入选择模式和复制文本(选择文本,然后点击Enter)时有效,但在用鼠标选择文本时无效。是否可以设置一个在鼠标选择后运行的命令,就像copy-pipe点击后运行一样Enter?即我需要reattach-to-user-namespace pbcopy在选择时运行。