我想知道如何将一个段落变成 vim中的子弹句.

之前:

sentence1. sentence2.  sentence3.  sentence4.  sentence5.  sentence6. 
sentence7.

后:

sentence1.

sentence2.

sentence3

sentence4.

sentence5.

由于到目前为止所有其他答案都显示了如何使用各种编程语言,并且您已经使用Vim标记了问题,以下是如何在Vim中执行此操作:
:%s/\.\(\s\+\|$\)/.\r\r/g

我使用了两个回车符来匹配您在问题中显示的输出格式.您可以使用许多替代正则表达式表单:

" Using a look-behind
:%s/\.\@<=\( \|$\)/\r\r/g
" Using 'very magic' to reduce the number of backslashes
:%s/\v\.( |$)/.\r\r/g
" Slightly different formation: this will also break if there
" are no spaces after the full-stop (period).
:%s/\.\s*$\?/.\r\r/g

可能还有很多其他人.

这种非正则表达方式是:

:let s = getline('.')
:let lineparts = split(s,'\.\@<=\s*')
:call append('.',lineparts)
:delete

看到:

:help pattern.txt
:help change.txt
:help \@<=
:help :substitute
:help getline()
:help append()
:help split()
:help :d

正则表达式:使用vim为每个句子添加换行符的更多相关文章

  1. Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE的详细步骤

    这篇文章主要介绍了Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE,首先是安装配置vim-plug及安装coc.nvim插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 在(neo)vim中,我如何快速移动到文本对象的开头或结尾?

    我熟悉如何在各种文本对象内部或周围更改、删除、拖动等。我想跳到当前句子的开头或结尾。有命令这样做吗?

  3. Vim:仅当光标位于非空白字符之前时,才将制表符映射到ctrl空格

    我正在使用jedivim扩展,真的不喜欢按ctrl空格来启动自动完成。我想使用制表符,但在编码时也很明显,我也需要制表符进行缩进。我知道,当光标前的字符不是空白字符时,我绝不会为了缩进而按下tab键。在此设置中,如何将制表符映射到ctrl空格。我只希望它应用于python文件,并且只应用于当前缓冲区我意识到autocmd可能起了作用。我只是不知道如何检查前一个字母是否为空白。

  4. Windows上的Python和vim?

    我几天前开始学习vim,令人惊讶的是我感觉很自然,我也想回到学习python.我想,为什么不把两者结合起来?所以现在我正在寻找如何建立一个合适的python开发环境,所有我的搜索都出现了其他操作系统的指南有些感觉就像他们是为以前版本的vim做的(他们认为它根本没有python支持……)那么如何为python开发设置vim?我如何设置调试?如何设置错误突出显示?或者其他我可能需要的东西?我看到一些指南设置了“gotosource”链接,是否需要新版本?

  5. 不能在windows下使用gvim与病原体

    我在Linux下有病原体设置和工作正常,但是当我尝试在Windows下使用gvim73的一些配置,它根本不起作用.我没有任何错误,但它什么都不做.这是我的dotfiles存储库在git.我已经检查了/vimfiles,并将以下内容添加到_vimrc中:我已经尝试了所有的东西,包括将autoload/pathogen.vim和bundles/文件夹放在/vim73目录下的程序文件中.没有.有没有人有

  6. windows – 如何在vim中键入某些命令,如CTRL-] ^ Wc等在德语键盘上

    我坐在这里感觉很傻–vim的帮助告诉我按CTRL]我无法得到它!?与^Wc相同的问题我有一个德国键盘,尤其是CTRL]似乎对我不起作用.我该怎么办?感谢您的帮助到目前为止,似乎工作除了CTRL]!

  7. windows – VIM:如何根据缓冲区映射命令?

    我知道我的标题不是描述性/清晰的,所以让我解释一下.昨天我可以跨Vimgrep和copen,所以我添加了以下行.vimrc它所做的是为vim中搜索(突出显示)的单词打开一个quickfix列表.现在当您按回车在quickfix列表中,您将转到主Vim窗口中的相应行.现在我遇到的问题是我已经映射了我的

  8. windows – 如何从PuTTY粘贴到Vim 8.0?

    脚本从Windows10周年更新客户端…

  9. windows-7 – powershell as gvim(vim):shell

    我在Windows7机器上,我安装了Gvim,我写的是我的_vimrc现在当我输入:shell命令时,它必须打开一个带有powershell的新缓冲区,但它会在新窗口中打开powershell.问题:有没有办法设置Gvim在缓冲区中打开PowerShell?

  10. ubuntu – 如何告诉Vim将背景颜色扩展到整个屏幕?

    我只对Ubuntu10.10有这个问题.echo$TERM输出xterm-color.[更新]:为了消除错误源,我的最小/.vimrc看起来像这样:/etc/vim/vimrc包含Ubuntu的未更改的默认值Asexplainedhere,通过清除t_ut端子选项禁用背景颜色消除,以便Vim将颜色方案的背景颜色扩展到整个终端屏幕.如果在tmux或GNU屏幕中使用Vim,这也适用.

随机推荐

  1. 法国电话号码的正则表达式

    我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

  2. 正则表达式 – perl分裂奇怪的行为

    PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

  3. 正则表达式 – 正则表达式大于和小于

    我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

  4. 如何使用正则表达式用空格替换字符之间的短划线

    我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

  5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

    有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

  6. 正则表达式 – 在Scala中验证电子邮件一行

    在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

  7. 正则表达式对小字符串的暴力

    在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

  8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

    isthedelimiter,thenthematch-only-onceruleof?PATTERN?

  9. 正则表达式 – 替换..与.在R

    我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

  10. 正则表达式 – 如何在字符串中的特定位置添加字符?

    我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

返回
顶部