我正在尝试编写一个 Vim 脚本函数来帮助格式化左大括号在 C 中的位置,例如函数块。
function! FixLeftBraces()
"Set the cursor to the top of the file
call cursor(1,0)
while search(".\+{",'We') > 0
exe "normal i\n\e"
endwhile
endfunction
在此示例中,我的目标是找到与函数位于同一行的左大括号并将其重新定位到下一行。这些We
选项分别防止包装文件并将光标重新定位到搜索选择的末尾。
/
当我使用模式在 Vim中执行搜索时,输入/.\+{
执行搜索并突出显示我希望它在源代码中出现的行。
例如 C 行,例如:
//is highlighted
int main(){
//is not highlighted
void otherFuncion()
{
当我FixLeftBraces()
在采购后使用创建的时,它似乎不起作用。它只是运行,什么也不做。
如果我将搜索更改为search("{",'We')
thenFixLeftBraces()
运行但在每个左大括号后添加一个新行。所以我很困惑为什么FixLeftBraces()
不能与search(".\+{",'We')
.