gpt4 book ai didi

vim - Vim函数清除隐藏字符

转载 作者:行者123 更新时间:2023-12-05 00:27:01 24 4
gpt4 key购买 nike

当前,在我的.vimrc文件中,我有一个函数可以在保存时清除所有尾随空白,同时保留鼠标位置。

fun! <SID>StripTrailingWhitespaces()
let l = line(".")
let c = col(".")
%s/\s\+$//e
call cursor(l, c)
endfun

autocmd BufWritePre *.sql,*.php :call <SID>StripTrailingWhitespaces()


这很好。但我想添加一些其他内容,例如:
*删除回车
*修复缩进SP后跟TAB

我尝试添加


%s / ^ M // e


到我的 StripTailingWhitespaces()函数,但是当我现在保存时,vim告诉我


按ENTER或键入命令以继续


所以我想我做错了什么或忘记了什么。有什么帮助弄清楚吗?谢谢

更新:仍在解决此问题。我尝试在 <CR>函数的搜索末尾以及 StripTrailingWhitespaces命令的末尾添加 BufWritePre。没运气。实际上,添加它会给我带来很多“尾随空格”错误。还有其他建议吗?

如果不是一个解决需要按回车键的问题,那么搜索缩进SP后跟TAB的搜索又如何呢?

最佳答案

我已经测试过

fun! S()
let l = line(".")
let c = col(".")
%s/\s\+$//e
%s/^M//e
call cursor(l, c)
endfun


并与Vim 7.3完美配合(注意:^ M是通过CTRL-V CTRL-M输入的)

因此,看来您没有做错任何事情,也没有忘记任何事情。

现在,这无助于您进一步发展,对吗?

如果您有此消息,请尝试 :messages,也许会给您提示。

另外, :help messages读取

  Press ENTER or type command to continue

This message is given when there is something on the screen for you to read,
and the screen is about to be redrawn:
- After executing an external command (e.g., ":!ls" and "=").
- Something is displayed on the status line that is longer than the width of
the window, or runs into the 'showcmd' or 'ruler' output.


因此,本节可能值得一读(比我粘贴的篇幅还要长)。

关于vim - Vim函数清除隐藏字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com