我在文件中有以下文字
23456789
Run Code Online (Sandbox Code Playgroud)
当我尝试使用命令替换上面的文本
1,$s/\(\d\)\(\d\d\d\)\(\d\d\)*\>/\3\g
Run Code Online (Sandbox Code Playgroud)
我到了89.不应该6789吗?任何人都可以告诉我它为什么89.
Vim的Scala插件闪烁匹配的支架/支架几秒钟,然后停止突出显示.我可以在我的Vim中启用一个特殊设置来实现所有文件的相同设置,而不仅仅是Scala吗?
我想通过命令在Vim中过滤视觉选择.我知道的方式总是过滤视觉选择扩展的完整线条:
a test在行中选择
this is a test
Run Code Online (Sandbox Code Playgroud)
和打字
:'<,'>!echo "the result"
Run Code Online (Sandbox Code Playgroud)
会导致
the result
Run Code Online (Sandbox Code Playgroud)
但我想要:
this is the result
Run Code Online (Sandbox Code Playgroud) 有没有办法为命令行颜色和vim中的"正常"文本颜色设置不同的颜色.我用的时候
:hi Normal guifg=orange
Run Code Online (Sandbox Code Playgroud)
命令行和普通文本颜色变为橙色.我希望gui底部的命令行是不同的颜色.
对于我的Haskell程序,我知道路径中的可执行文件名与我当前目录的名称相同.现在我想创建一个这样的映射:
:map <leader>rr :!curdir()<cr>
Run Code Online (Sandbox Code Playgroud)
但是,我所知道的唯一命令是getcwd(),它给了我整个路径,而不仅仅是目录的名称.
有没有一种简单的方法来只提取目录的名称?
我\xe2\x80\x99m 开始学习如何创建自己的.vimrc文件,并且我不断注意到默认设置中存在的自定义版本缺少的功能。
我想知道是否可以查看默认设置,以便我可以将它们与我自己的设置进行比较,并查找我不知道的所有标准包含内容以了解更多信息。
\n我在网上搜索了一下,没能\xe2\x80\x99t找到答案,如果没有\xe2\x80\x99t的原因是这个问题的答案是显而易见的,我\xe2\x80\x99m真的很抱歉;我\xe2\x80\x99m 还是有点菜鸟:p
\n我有一个脚本,它读取HTML文件并用~%foo%~Perl设置的值替换出现的内容.像这样的东西:
<span class="~%classname%~">~%hi_mom%~</span>
Run Code Online (Sandbox Code Playgroud)
会在浏览器中产生这样的东西:
<span class="classyclass">Hello World</span>
Run Code Online (Sandbox Code Playgroud)
是的,所以我想使用Vim语法高亮来区分~%foo%~HTML中的出现.默认情况下,HTML语法突出显示将生成HTML元素的属性值Magenta,我希望该~%foo%~部分是DarkMagenta.我在正确的轨道上,因为如果我注释掉tokenQuoted线(或标记线),我会得到所需的结果,但是两个匹配和突出显示未注释,令牌突出显示会覆盖tokenQuoted突出显示.
syntax match token containedin=ALLBUT,htmlString,htmlValue '\~%[^%]\+%\~'
syntax match tokenQuoted containedin=htmlString,htmlValue '\~%[^%]\+%\~'
" tokenQuoted assumes htmlString/htmlValue (:highlight String) is Magenta
highlight token term=none ctermfg=White guifg=White
highlight tokenQuoted term=none ctermfg=DarkMagenta guifg=DarkMagenta
Run Code Online (Sandbox Code Playgroud)
我正在使用的文件是在默认html.vim通过
autocmd *.html ~/.vim/syntax/html.vimin 来源后获取的.vimrc.
使用NERDTree插件,我只想查看*.txt文件.有NERDTreeIgnore变量,但我想要类似的东西NERDTreeWhitelistFilter.
有没有办法将我看到的内容列入白名单?
我有一个非常简单的Vim语法文件用于个人笔记.我想强调一下人们的名字,我选择了类似Twitter的语法@jonathan.
我试过了:
syntax match notesPerson "\<@\S\+"
Run Code Online (Sandbox Code Playgroud)
意思是:@以至少一个非空白字符开头并具有至少一个非空白字符的单词.问题是@在Vim正则表达式中似乎是一个特殊字符.
我试图逃避\@并用方括号括起来[@],通常的技巧,但这不起作用.我可以尝试类似(^|\s)(行或空白的开头),但这正是字边界试图解决的问题.
突出显示适用于简化的正则表达式,因此这更像是找到正确的正则表达式而不是其他任何东西的问题.我错过了什么?
我知道可以阻止Vim突出显示任何搜索,但有没有办法让它在常规搜索中突出显示,但不是,例如,替换?
我经常会突出显示一段文字然后执行以下操作:
:s/^/#/
Run Code Online (Sandbox Code Playgroud)
评论整个街区.但后来我的屏幕左侧有一个丑陋的黄色条,我:noh每次都要清除它.
我希望突出显示继续定期/搜索.这可能吗?