我的menu.vim文件中有很多函数.
是否可以选择它们(由我)并按功能名称对它们进行排序?
pe
从乐趣中寻找线条!或功能!
排队endfun
找到函数名称并根据函数名称对整个块进行排序(来自az)
有时我在函数名称上面有一行注释.
可以带它吗?
这些是我在.vimrc中的格式选项:
set formatoptions=tqronw
set formatlistpat=^\\([\\-\\*]\\\|[0-9]\\+[.)]\\)\\s*
set textwidth=72
set autoindent
Run Code Online (Sandbox Code Playgroud)
1)
我的文字:
- This is my text this is my text this is my text this is my text this is my text this is my text.
Run Code Online (Sandbox Code Playgroud)
格式化后输出:
- This is my text this is my text this is my text this is my text this is my
text this is my text.
Run Code Online (Sandbox Code Playgroud)
预期产量:
- This is my text this is my text this is my text …Run Code Online (Sandbox Code Playgroud) 有谁知道如何删除:
(突出显示的文本(搜索后的pe)未选择文本)
是否有命令搜索所有突出显示的文本并删除该行?(独立于我用来突出显示文本的搜索命令或功能)
该g/pattern/d命令并不总是删除突出显示的文本
pe /^\(.*\)\(\n\1\)\+$ - >突出显示所有双行
但g/^\(.*\)\(\n\1\)\+$/d - >不删除所有双行
我试图找到所有单个数字(使用vim):
这是正确的
7
word7
7word
7.
0.7
一,7
word7word
字7字
7-7
但不是
7.7
7,7
77
任何人都可以帮我解释正则表达式吗?
编辑:
可能我已经在下面关于原子分组的答案的帮助下找到了它.Vim确实支持它:
\(\d\.\|\d\,\|\d\)\@<!\d\(\.\d\|\,\d\|\d\)\@!
使用sort -s的文本文件
(区分大小写)
Act
Bad
Bag
Card
East
about
across
back
ball
camera
canvas
danger
dark
early
edge
Run Code Online (Sandbox Code Playgroud)
使用sort -f(不区分大小写)
about
across
Act
back
Bad
Bag
ball
camera
canvas
Card
danger
dark
early
East
edge
Run Code Online (Sandbox Code Playgroud)
以大写字母开头的单词在小写单词之间按字母顺序排序.
我想要的是大写的单词是在每个下一个字母的开头(按字母顺序排序的upercase):
预期输出:
Act
about
across
Bad
Bag
back
ball
Card
camera
canvas
danger
dark
East
early
edge
Run Code Online (Sandbox Code Playgroud)
如何使用bash或python sort命令实现这一点?
例:
r="\\%4l\\%(wit.*wit\\)\\|\\%8l\\%(rood.*rood\\)\\|\\%12l\\%(blauw.*blauw\\)\\|\\%13l\\%(wit.*wit\\)\\|\\%14l\\%(blauw.*blauw\\)\\|\\%15l\\%(wit.*wit\\)\\|\\%16l\\%(wit.*wit\\)\\|\\%17l\\%(rood.*rood\\)\\|\\%19l\\%(wit.*wit\\)\\|\\%21l\\%(blauw.*blauw\\)"
Run Code Online (Sandbox Code Playgroud)
我想将字符串拆分为一个列表,但不使用1个参数而是使用2个参数.
l\\%(\\%(和之间捕获文本,\\)\\|或者在\\%(和之间的字符串结尾处捕获文本\\)$输出:
[[4, "wit.*wit"], [8, "rood.*rood"], [12, "blauw.*blauw"], [13, "wit.*wit"], [14, "blauw.*blauw"], [15, "wit.*wit"], [16,"wit.*wit"], [17, "rood.*rood"], [19, "wit.*wit"], [21, "blauw.*blauw"]]
Run Code Online (Sandbox Code Playgroud)
我尝试的是将字符串拆分为,\\|然后用每个不需要的字符替换"".
有没有更好的方法在Python中执行此操作?
我试图在VIM中用"="替换所有多个" - "字符(从行首开始)
pe用"====="替换"-----"
或用"=========="替换"----------"
我创建了这个正则表达式:
%s/^-\{2,}/= ????/g
Run Code Online (Sandbox Code Playgroud)
有谁知道如何复制"="替换?(在"="之后我需要放什么)
我经常测试一个功能,或经常点击键盘上的键.我无法阻止功能的输出...我无法阻止VIM做它要做的事情.
有没有办法停止VIM中的所有进程?
当我打开.vim,.htm,.html,.xml或_vimrc文件时,是否可以更改Vim中的colorscheme?(当我切换到具有上述扩展名的已经打开的文件时,也会更改colorscheme)
这就是我希望我的vim做的事情:
file = txt或新的(未保存的)缓冲区:colorscheme1(默认colorscheme)
file = vimrc,vim,html,htm:colorscheme2
我还注意到我的vim没有检测到所有文件类型.
文本文件无法识别为文本文件.
ps:
如果这不可能,我可以切换到另一个colorscheme并在我重新启动VIM时保留它(不更改vimrc中的内容)?
编辑:
使用autocmd找到解决方案:
augroup filetype_colorscheme
au BufEnter *
\ if !exists('b:colors_name')
\ | if &ft == "vim" || &ft == "html"
\ | let b:colors_name = 'colorscheme 2'
\ | else
\ | let b:colors_name = 'colorscheme 1'
\ | endif
\ | endif
\ | exe 'colorscheme' b:colors_name
augroup END
Run Code Online (Sandbox Code Playgroud)
还有一个问题:
当我点击一个缓冲区时,上面的代码改变了分割窗口中所有文件的colorscheme
有没有办法使用快捷键去激活(和重新激活)autocmd?
我总是遇到让Autohotkey脚本与Vim一起工作的问题.
PE
^g::
Send, ^c
MsgBox hi
return
Run Code Online (Sandbox Code Playgroud)
如果我选择文本并使用快捷方式,在Vim中不起作用.(当我更改快捷方式时同样的问题).
我错了什么?其他人在Autohotkey和Vim之间有相同的兼容性问题?
vim ×8
regex ×3
python ×2
sorting ×2
autohotkey ×1
bash ×1
case ×1
detection ×1
file-type ×1
formatting ×1
function ×1
highlighting ×1
linux ×1
list ×1
numbers ×1
process ×1
python-3.x ×1
scripting ×1
split ×1
substitution ×1
text-width ×1