vi下显示回车换行符等特殊符号 vb回车换行符

  (2011-06-23 16:00:04)转载▼

标签:杂谈

换行方式在早期的打印机时代,开始新的一行要占用两个字符的时间。如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点。解决这个问题的办法就是,用两个字符:一个字符<Return>来移到第一列,另一个字符<Linefeed>来新增一行。计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的意见。UNIX人认为在到达一行的结尾时新增一行<Linefeed>(LF),而Mac人则认同<Return>(CR)的解决办法,MS则坚持古老的<Return><Linefeed>(CRLF)的方法。这就意味着如果你将一个文件从一个系统转移到另一个系统,就面临着回车换行的问题。而Vim编辑器则会自动的认出这种文件格式方面的区别,并做出相应处理。

fileformats选项,用于处理文件格式问题。以下命令,告诉vim将UNIX文件格式做为第一选择,而将MS-DOS的文件格式做为第二选择:

:set fileformats=unix,dos

检测到的文件格式会被存放在fileformat选项中,我们可以用以下命令来查询:

:set fileformat?

我们还可以利用fileformat选项,来转换种文件格式。例如,使用以下命令将名为readme.txt的MS-DOS格式的文件,转换为UNIX格式的文件。

:set fileformat=unix

在默认情况下,Vim认为文件是由行组成的,并且文件最后一行是以<EOL>为结束符的。如果你想设置文件以<EOL>结束符结尾,则可以用以下命令:

:set endofline

如果你想设置文件不以<EOL>结束符来结尾,则可以使用以下命令:

:set noendofline

显示换行

如果你使用以下命令进入<listmode>,那么就可以清楚的看到以“$”表示的换行符和以“^I”表示的制表符。

:set list



你可以使用以下命令退出<list mode>:

:set nolist

删除换行

可以用以下命令删除换行符:

:%s/n//g

可以用以下命令删除DOS文件中的回车符“^M”:

:%s/r//g

可以用以下命令转换DOS回车符“^M”为真正的换行符:

:%s/r/r/g

可以用以下命令删除行尾的空格以及DOS回车符。它没有使用“/”字符作为替换命令各个参数间的分隔符,而是使用了“#”字符。命令还使用了“?”正则表达式,用来匹配它前面出现的字符0次或1次。

:%s#s*r?$##

可以用以下命令删除三行空行:

:%s/^n{3}//

可以用以下命令将连续的两个空行替换成一个空行:

vi下显示回车换行符等特殊符号 vb回车换行符
:%s/nn/r/g

自动换行

在默认情况下,Vim是不会自动换行的,也就是说我们需要自己决定回车的位置。但是我们也可以通过指定textwidth选项,让Vim自动在指定位置换行。例如,使用以下命令指定在30列时自动换行。由于在遇到空格时才会自动换行,所以换行的精确位置可能会小于你指定的列宽。

:set textwidth=29

而以下命令告诉Vim从右面算起当达到10个字符的空格时要换行:

:set wrapmargin=10

在指定了文本宽度的情况下,当我们将一行中的前几个文字删掉时,Vim并不会将后面行中的文本移动上来,而是形成了一些长短不一的段落,这样看起来不是很好。可以有几种方法处理这个问题:

一种方法是,在可视化模式下选中这些文本,然后用gp命令来格式化选中的段落。另一种方法是,使用gqmotion命令来完成格式。例如要格式化5行,就可以用命令:gq4j。这个命令告诉Vim要格式化本行,同时要格式化下面的4行,这样就达到了格式化5行的目的。如果要格式化整个段落,可以将光标放在段落的第一行上,然后执行命令gq}。而使用命令gqip可以格式化当前段落,而且并不必要将光标放在段落的第一行上。



如果要想格式化一行,可以使用命令gqgq,也可以简记为gqq。

注意:选项textwidth优先于wrapmargin。如果要使wrapmargin选项生效,必须将textwidth设置为0(这也是默认值)。

合并行

命令J使两行合并为一行,同时用空格分隔这两行。

通过设置joinspace选项,可以控制合并两行时的分隔符(如果一行是以标点符号来结尾)。如果设置:setnojoinspaces,用J命令合并两行时会用一个空格来分隔;如果设置:setjoinspaces,用J命令合并两行时会用两个空格来分隔。如果不希望用空格来分隔合并的行,可以使用gJ命令。

我们也可以使用:join命令,将几行合并为一行并使用空格来分隔各行。如果不希望加入空格,那么可以使用:join!命令。

命令小结:set fileformat设置文件格式

:set endofline设置文件结束符

:set noendofline取消文件结束符

:set list进入List Mode

:set nolist退出List Mode

:%s/n//g删除换行符

:set textwidth设置行宽

:set textwidth设置行边距

:join合并多行

J合并两行

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/130680.html

更多阅读

WOW 关于旧世界魔古命运符文在哪换 6.0魔古命运符文

WOW 关于旧世界魔古命运符文在哪换——简介 在魔兽世界游戏中,由于版本的不断更新,各大团队FB的好运币也随之更新,而魔古命运符文就属于旧世界的一种好运币,它是魔古山FB额外R装备的必备利器。那么让我们看下关于魔古命运符文在哪换,交换

怎样用批处理隐藏一个盘符 批处理判断系统盘符

1、新建一个文本文档,如:新建文本文档.txt,其中包含如下内容:@echo offset /p p=输入您要隐藏的盘符字母后回车>>显示隐藏的盘符.batset/p="mountvol %p%:">>显示隐藏的盘符.batmountvol %p%: /lmountvol %p%: /d2、将“新建文本

怎样把扫描的文件转换成PDF格式文件 扫描图片转换pdf格式

怎样把扫描的JPG格式的图片或者文件转换为PDF格式PDF(Portable Document Format)文件格式是Adobe公司所开发的一种特殊的文本格式,这种文本格式最大的优点是其尺寸较小、阅读方便,非常适合在网络上传播和使用。现 在,很多产品的说明书都

声明:《vi下显示回车换行符等特殊符号 vb回车换行符》为网友穷追一个梦分享!如侵犯到您的合法权益请联系我们删除