鉴于此 vim 会话:
% vim test-file.txt
iHello there!C-x C-s
Run Code Online (Sandbox Code Playgroud)
如何再次返回插入/命令模式?(Cx Cs 的意思是 Control-x Control-s,不知道是不是普通的 vi 键盘快捷键术语)
我知道有一些方法可以摆脱这种情况并再次进入插入/命令模式,但我不记得如何搜索 Google 或超级用户并没有给我任何结果。
发生这种情况是因为我主要使用 emacs,但我在没有安装 emacs 的远程主机上使用 vim。有时我会这样做,我想我应该学习如何离开而不是每次都重新启动终端。
我已经通过我的网络主机使用 Vim 几个月了(他们允许腻子访问)。突然间,escape钥匙变得没有反应了。我不能通过简单地点击转义来存在插入或任何其他模式。我必须点击F1它在 vim 中显示帮助并将我踢到命令模式。
我很确定我键盘上的转义键工作正常,因为我所有使用转义键的 Windows 快捷方式都正常运行。
我知道这是一个荒谬的问题,我确信关于解决方案还有很多需要研究。我真正需要的是关于从哪里开始寻找的可靠线索。
可能有帮助的事情:
在 Vim 中,如果我在代码文件中输入注释,然后点击Enter,它也会自动使换行符成为注释。
例如,在一个 Ruby 文件中:
# I manually typed the pound at the start of this line and hit enter.
# This line formatted itself this way automatically.
Run Code Online (Sandbox Code Playgroud)
一般来说,这就是我想要的,但并非总是如此。如何暂时关闭此自动评论行为?
我brew update && brew upgrade好久没跑了。
我刚刚做了一个大规模的升级,结果破坏了我的 Vim。
这是我运行后得到的vim:
Run Code Online (Sandbox Code Playgroud)dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.dylib Referenced from: /usr/local/bin/vim Reason: image not found Trace/BPT trap: 5
我遇到过一些网站,但没有一个真正有用。
他们说这可能与rvm但brew uninstall vim; rvm system; brew install vim没有帮助。我也尝试重新安装 MacVim,但没有解决问题。
添加export PATH="/usr/local/bin:$PATH"到我的.bash_profile也没有帮助。
以下是供将来参考的列表:
我的 …
我知道我可以使用/后跟正则表达式来搜索某些内容。我可以?用来向后搜索。我可以使用n和N向前和向后重复搜索。
还有两个不错的快捷方式:*or#将搜索光标下的单词(向前/向后)。这非常有用!(也有g*和g#变体)
但是...一旦我使用可视模式 ( v)选择了文本,我如何让 Vim 准确地搜索该文本?快速浏览:help并没有...呵呵...帮帮我。
如果我在 vim 中有此文本,并且我的光标位于第一个字符处:
www.foo.com
Run Code Online (Sandbox Code Playgroud)
我知道我可以做到:
cw更改到第一个句点,因为 a word(小写 w)以任何标点符号或空格结尾cW更改整个地址,因为 a Word(大写 w)仅以空格结尾现在,如果我有这个怎么办:
stupid_method_name
Run Code Online (Sandbox Code Playgroud)
想改成这个?
awesome_method_name
Run Code Online (Sandbox Code Playgroud)
双方cw并cW改变了整个事情,但我只是想下划线前更改片段。
我的后备技术是c/_,意思是“更改直到您在搜索中找到下一个下划线”,但对我来说,这也会导致所有下划线都突出显示为搜索词,这有点烦人。
是否有类似w或W不包含下划线的说明符?
当我在 VIM 中打开一个与前一个文件路径不同的新选项卡时,NERDTree 仍将保持与前一个文件相同的目录层次结构。
是否有同步快捷方式将当前根目录更改为新打开的文件目录?
由于我使用了 tmux,因此在 Vim 中切换插入模式和从插入模式切换不再是即时的。Esc在插入模式下按下后,需要很长时间才能真正退出插入模式。按下Esc和之后的任何其他键后立即切换,并Esc执行之后按下的键的命令。知道什么可能导致这种情况吗?
Vim 配置不是问题,因为当我在 tmux 之外运行 Vim 时不会发生延迟,所以这可能与 tmux 有某种关系。顺便说一句,我使用 gnome-terminal。
同样值得注意的是,似乎我无法在 tmux for 中定义键绑定Esc,我的计划是绑定Esc到:
bind Escape send-keys ^[
Run Code Online (Sandbox Code Playgroud)
唉,似乎Esc为 tmux绑定任何东西都不起作用。同样的问题也出现在屏幕上。
当我在 vim 中“剪切”时,我相信有一些寄存器可以保存我最近剪切的所有内容的历史记录。我如何访问这些寄存器?
例如,假设我连续剪切这些单词中的每一个
请注意,我实际上并没有将这些编辑保存到特定的寄存器中,我只是连续使用了四次 'd'。
Vim 以一种有趣的方式突出显示我的文件的语法,我想知道哪个语法文件负责这种行为。如何找出 vim 加载了哪些语法文件?