小编ib.*_*ib.的帖子

Vim正则表达式删除除最后两位数字之外的所有数字

我在文件中有以下文字

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.

regex vim

8
推荐指数
1
解决办法
1万
查看次数

哪个设置使Vim闪存匹配的支架/支架?

Vim的Scala插件闪烁匹配的支架/支架几秒钟,然后停止突出显示.我可以在我的Vim中启用一个特殊设置来实现所有文件的相同设置,而不仅仅是Scala吗?

vim

8
推荐指数
1
解决办法
695
查看次数

Vim过滤器只是视觉选择而不是整行

我想通过命令在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

8
推荐指数
1
解决办法
886
查看次数

Vim命令行颜色设置

有没有办法为命令行颜色和vim中的"正常"文本颜色设置不同的颜色.我用的时候

:hi Normal guifg=orange
Run Code Online (Sandbox Code Playgroud)

命令行和普通文本颜色变为橙色.我希望gui底部的命令行是不同的颜色.

vim syntax-highlighting

8
推荐指数
2
解决办法
2300
查看次数

使用Vim命令中的当前目录

对于我的Haskell程序,我知道路径中的可执行文件名与我当前目录的名称相同.现在我想创建一个这样的映射:

:map <leader>rr :!curdir()<cr>
Run Code Online (Sandbox Code Playgroud)

但是,我所知道的唯一命令是getcwd(),它给了我整个路径,而不仅仅是目录的名称.

有没有一种简单的方法来只提取目录的名称?

vim

8
推荐指数
1
解决办法
3235
查看次数

你能查看默认的 Vim 设置吗?

我\xe2\x80\x99m 开始学习如何创建自己的.vimrc文件,并且我不断注意到默认设置中存在的自定义版本缺少的功能。

\n

我想知道是否可以查看默认设置,以便我可以将它们与我自己的设置进行比较,并查找我不知道的所有标准包含内容以了解更多信息。

\n

我在网上搜索了一下,没能\xe2\x80\x99t找到答案,如果没有\xe2\x80\x99t的原因是这个问题的答案是显而易见的,我\xe2\x80\x99m真的很抱歉;我\xe2\x80\x99m 还是有点菜鸟:p

\n

vim

8
推荐指数
2
解决办法
8205
查看次数

自定义Vim HTML语法

我有一个脚本,它读取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.

html vim syntax-highlighting vim-syntax-highlighting

7
推荐指数
1
解决办法
690
查看次数

Vim NERDTree:只显示.txt文件?

使用NERDTree插件,我只想查看*.txt文件.有NERDTreeIgnore变量,但我想要类似的东西NERDTreeWhitelistFilter.

有没有办法将我看到的内容列入白名单?

vim nerdtree

7
推荐指数
2
解决办法
1362
查看次数

如何在Vim语法中突出以@开头的单词?

我有一个非常简单的Vim语法文件用于个人笔记.我想强调一下人们的名字,我选择了类似Twitter的语法@jonathan.

我试过了:

syntax match notesPerson "\<@\S\+"
Run Code Online (Sandbox Code Playgroud)

意思是:@以至少一个非空白字符开头并具有至少一个非空白字符的单词.问题是@在Vim正则表达式中似乎是一个特殊字符.

我试图逃避\@并用方括号括起来[@],通常的技巧,但这不起作用.我可以尝试类似(^|\s)(行或空白的开头),但这正是字边界试图解决的问题.

突出显示适用于简化的正则表达式,因此这更像是找到正确的正则表达式而不是其他任何东西的问题.我错过了什么?

regex syntax vim

7
推荐指数
1
解决办法
1137
查看次数

突出显示Vim中的搜索但不是替换?

我知道可以阻止Vim突出显示任何搜索,但有没有办法让它在常规搜索中突出显示,但不是,例如,替换?

我经常会突出显示一段文字然后执行以下操作:

:s/^/#/
Run Code Online (Sandbox Code Playgroud)

评论整个街区.但后来我的屏幕左侧有一个丑陋的黄色条,我:noh每次都要清除它.

我希望突出显示继续定期/搜索.这可能吗?

vim

7
推荐指数
1
解决办法
617
查看次数