嗨:我正在使用vim而且我已经set mouse=a在我的.vimrc中,所以在启动时,vim支持鼠标光标.但有时我需要从终端复制文本,所以我需要在vim中关闭鼠标支持.我试过set mouse=c但鼠标仍在我的mac终端上工作.
有没有办法做到这一点?谢谢!
我正在努力解决有关正则表达式的一个小问题.
我想将特定字符的所有奇数长度子串替换为具有相同长度但具有不同字符的另一个子串.所有指定字符的偶数序列应保持不变.
简化示例:字符串包含字母a,b和y,y的所有奇数长度序列应替换为z:
abyyyab -> abzzzab
Run Code Online (Sandbox Code Playgroud)
另一个可能的例子可能是:
ycyayybybcyyyyycyybyyyyyyy
Run Code Online (Sandbox Code Playgroud)
变
zczayybzbczzzzzcyybzzzzzzz
Run Code Online (Sandbox Code Playgroud)
使用正则表达式匹配奇数长度的所有序列没有问题.
不幸的是,我不知道如何将这些匹配的长度信息合并到替换字符串中.我知道我必须以某种方式使用反向引用/捕获组,但即使在阅读了大量文档和Stack Overflow文章后,我仍然不知道如何正确地解决问题.
关于可能的正则表达式引擎,我主要与Emacs或Vim合作.
如果我忽略了一个更简单的通用解决方案而没有复杂的正则表达式(例如,一小组固定的简单搜索和替换命令),这也会有所帮助.
在vim中,是否有一种更优雅的方式来跳转到光标下的行号
map gn "nyw@nG
Run Code Online (Sandbox Code Playgroud)
"gn"或其他一些关键组合?这需要确保光标位于数字串的开头.此外,根据寄存器"n"中的内容,此宏可能有点危险.
不完全确定甚至为什么这样做:@n意味着执行寄存器n(数字)中的内容,而不是将它与"G"连接起来.
具有类似功能的功能
call cursor(expand("<cword>"),1)
Run Code Online (Sandbox Code Playgroud)
似乎也没有工作.
思考?
一些Vim的命令名称对我来说是钝的,似乎有多个别名.如果我知道它们被使用的原因,我就更容易记住事情......
什么是:wq代表,如果有的话?在哪里ZZ(做同样的事情)来自哪里?有这种疯狂的方法吗?