今天我正在做一些文字替代工作,但我发现[a-z]似乎不包括像ñ或的西班牙文字符á.但在西班牙语中,它们只是普通字符,而不是特殊符号.
那么,有没有办法将这些字符包含在一个简单的vim正则表达式短语中?
我正在寻找一种在选择中引用单词的快速方法,比如我是从由制表符或空格字符分隔的文本块构建多个插入语句.
可以说我有
STUFF OPEN F 0 0 00:00:00-23:59:59
STUFF OPEN M 0 0 00:00:00-23:59:58
STUFF OPEN R 0 0 00:00:00-23:59:59
STUFF OPEN S 0 0 00:00:00-23:59:59
STUFF OPEN T 0 0 00:00:00-23:59:59
STUFF OPEN U 0 0 00:00:00-23:59:59
STUFF OPEN W 0 0 00:00:00-23:59:59
Run Code Online (Sandbox Code Playgroud)
我想得到
"STUFF" "OPEN" "F" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "M" "0" "0" "00:00:00-23:59:58"
"STUFF" "OPEN" "R" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "S" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "T" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "U" "0" "0" …Run Code Online (Sandbox Code Playgroud) 我可以通过键入来找到命令,即::sc undo,然后它会显示Press u,或类似的东西.
我有这些行的文件:
aaa
aaa
aaa
aaa
aaa
aaa
bbb
bbb
bbb
bbb
bbb
bbb
ccc
ccc
ccc
ccc
ccc
ccc
ddd
ddd
ddd
ddd
ddd
ddd
Run Code Online (Sandbox Code Playgroud)
我想将其转换为:
aaa;100;
aaa
aaa
aaa
aaa
aaa
bbb;100;
bbb
bbb
bbb
bbb
bbb
ccc;100;
ccc
ccc
ccc
ccc
ccc
ddd;100;
ddd
ddd
ddd
ddd
ddd
Run Code Online (Sandbox Code Playgroud)
在一个命令中,这可能在vim中吗?
我的.vimrc配置如下:
set laststatus=2
set statusline +=%1*\ %F
set statusline +=%1*%=%5l%*
set statusline +=%2*/%L%*
set statusline +=%1*%4v\ %*
set statusline +=%2*0x%04B\ %*
Run Code Online (Sandbox Code Playgroud)
每当我在vim中使用不同的名称保存文件时,我希望文件的名称反映新名称而不是显示旧名称.为了获得这种行为,我需要做什么才能改变?
我需要转换
for(int 为了 (int
自动在我的vim编辑器中.
所以我在我的vimrc中写了以下语句
iab for(int for (int
Run Code Online (Sandbox Code Playgroud)
但它给出了以下错误
line 158:
E474: Invalid argument
Run Code Online (Sandbox Code Playgroud)
这个错误的原因是什么?
另外,我如何编写将转换的一般语句
for(int to for (int
for(;; to for (;; etc...
Run Code Online (Sandbox Code Playgroud) 我想要一个正则表达式来匹配双引号中的所有单词.
考虑一下这条线:
the quick "brown fox" jumps
Run Code Online (Sandbox Code Playgroud)
这些话brown和fox应匹配,而不是the,quick或jumps.
以下是我的第一次尝试:
".*\zs\w\+\ze.*"
Run Code Online (Sandbox Code Playgroud)
不幸的是,贪婪.*导致正则表达式消耗超过我想要的,并且只是xin fox匹配.通过使用\{-}而不是*(vim的非贪婪等价物),我们得到修改后的正则表达式:
".\{-}\zs\w\+\ze.*"
Run Code Online (Sandbox Code Playgroud)
但是这只匹配引号(brown)中的第一个单词,而不是我想要的所有单词.
可以用正则表达式完成我想要做的事情吗?
我正在尝试启用vim缩进折叠.从我在网上看到的,设置:set fdm=indent应该正常工作.对我来说,它什么都不做.我可以手动折叠,但我对缩进代码非常严格,所以缩进折叠是理想的.我使用空格缩进(每个级别两个空格)
我的〜/ .vimrc看起来像这样:
set foldmethod=indent
Run Code Online (Sandbox Code Playgroud)
并且肯定被装载(根据:scriptnames)
vim是否以某种方式折叠取决于文件类型?我正在写C CUDA,所以扩展名是.cu.我是否必须为缩进折叠安装某种插件?我知道这是一个广泛的问题,但这似乎是基本的功能,我不知道它为什么不起作用.
给出这样的文字:
This is line one.
This is line two.
Run Code Online (Sandbox Code Playgroud)
我想把它改成这个:
This is line one. This is line two.
Run Code Online (Sandbox Code Playgroud)
如果我的光标位于第一行的末尾,那么无论第二行是什么,vim如何完成?此外,有/不用空格有不同的方法吗?
vim ×10
cygwin ×1
folding ×1
indentation ×1
notepad++ ×1
regex ×1
sql ×1
text ×1
vim-plugin ×1