首页 技术 正文
技术 2022年11月16日
0 收藏 482 点赞 4,003 浏览 1149 个字

\n LF 0A 将当前光标切换到下一行(不一定行首)
\rCROD将当前光标置于行首

在windows与unix系统中,unix将\n代表换行并置于行首,而windows保持原意。
即unix:\n为换行,windows:\r\n为换行.

在ASCII码中,00-1F为不可显示字符。而40为@,41-5A为A-Z.
于是出现了用CTRL+字母键 实现其相应功能键的用法.

比如在linux的bash中,<c-h>退格,<c-j>换行,等等。
同样在VIM中,用^M来显示\r,^J来显示回车,^[显示ESC,
以及将这些键映射到了对应按键( <c-[>ESC,<c-j>回车 ),方便输入。而对于退格BS显示为<80>kb而不是^H,这就不清楚了…

===========================================================================================

当我们用VIM /”\n”搜索时,结果往往匹配不到,说明此时buffer中,并没有\n,亦即 0A,这个编码。
也就是说VIM在load buffer时已经删除了。
而注意到 当我们敲回车输入时,显示的是^J,,那么我推测vim中^J不是OA,

导致这个结论还有一个因素:
INSERT模式下,<c-v>可用于通过编码输入字符,或输入功能键的编码,但是!我按<c-v><c-j>时,
却显示的不是^J,而是^@,^@代表NUL,即插入编码00,而非0A.
发现了什么?vim将我们输入的\n给替换了!!

因而vim中,^J只是代表了一个回车,但他并没有插入编码其OA,
换句话说,当我们按回车时,vim只是插入了一个标记<eol>代表换行。而vim将这个标记<eol>显示为^J!

直至写入文件时才用相应的编码进行替换。且!vim不允许输入\n,哪怕你用substitute替换的\n它都会给
你换成^@,这应该是本身的一种保护机制把

————————————————————————————–
其实上面的这些猜测在’ fileformat ‘里已有说明:

This gives the <EOL> of the current buffer, which is used for
reading/writing the buffer from/to a file:
dos <CR> <NL>
unix <NL>
mac <CR

This option is set automatically when starting to edit a file and
‘fileformats’ is not empty and ‘binary’ is off.

而根据ffs设置ff 的策略 手册上有详细说明

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,960
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,484
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,330
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,113
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,745
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,779