自学笔记3

   在windows下写的脚本保存记事本格式上传到linux上是运行不了的
1.

Vim 编辑器底端 [noeol], [dos] 的含义

有时使用 Vim 打开一个文件会在窗口底部发现 [noeol], [dos] 提示信息:

1
"hello-dos.txt" [noeol][dos] 2L, 10C                          1,1           All

这两个符号有何含义? 


直观上理解,'noeol' 就是 'no end-of-line', 即“没有行末结束符”, Linux 下的文本编辑器(如 Vim)会在每一行 (包括最后一行)末尾添加一个换行符。比如我们在 Debian 下新建一个名为 'hello-unix.txt' 的文本文件,内容如下:

1
2
Hello
Unix

那么,使用cat -A hello-unix.txt命令可以看到这些换行符:

1
2
3
4
ts@TS:~/www/document$ cat -A hello-unix.txt
Hello$
Unix$
ts@TS:~/www/document$

从中可以清楚地看到每行末尾的 '$' 字符,这就是 Linux 下的“行末结束符”。 


下面我们再在 Windows 下创建一个名为 'hello-dos.txt' 记事本文件,内容如下:

1
2
Hello
DOS

在 Debian 下查看此文件的换行符信息:

1
2
3
ts@TS:~/www/document$ cat -A hello-dos.txt
Hello^M$
DOSts@TS:~/www/document$

同样是两行,每行一个单词,Windows 和 Linux 下的换行符有两个明显不同:

  1. Windows 下的换行符比 Linux 下的多了个 ^M;

  2. 最后一行行末没有换行符;

这两个不同之处也正是 [dos], [noeol] 两个 Flag 信息出现的原因。 Windows 下文本文件每行的换行符为“回车+换行“(CRLF,^M$), 而 Linux 下则仅为 “换行” (LF, $). Vim 发现文本中含有 ^m$ 换行字符判定为 Windows 下创建的 文件,用 [dos] Flag 提示;Vim 没有在最后一行发现换行符,判定此文件不是在 Linux 下创建/编辑,用 [noeol] Flag 提示用户。

如何消除 [noeol] Flag 信息?

只需在 Debian 下将该文件重新保存即可,还是上面的 hello-dos.txt 文件,打开它, 不做任何修改直接 :wq保存退出,再查看换行符:

1
2
3
4
ts@TS:~/www/document$ cat -A hello-dos.txt
Hello^M$
DOS^M$
ts@TS:~/www/document$

换行符已经追加上去,这里要注意的是追加的是 Windows 下的换行符(回车+换行) ^M$, 而不是 Linux 下的换行符(换行)$, 因为 Vim 已经发现此文件 是在 Windows 下创建的([dos] Flag),尽管是在 Linux 下编辑,Vim 也会按照文件创建 时所在的操作系统下的换行规则添加换行符。

如何消除 [dos] Flag 信息?


有两个简单的方法:

  1. Linux 下提供有两个命令用来进行 Windows 和 Unix 文件的转化:dos2unix 和 unix2dos;

  2. 在 Debian 下使用 touch template.txt 创建一个模板,在 Windows 下创建的任 何文本文件都以此模板为基础



    使用ultraEdit也能转换,不过还是要删除多余的空行


    删除多余的空格

    行末:$ 
    行首:^
    空格:\s

    行末空格:\s\+$
    行首空格:^\+\s


    有些人认为行末的空格是无用,浪费而难看的。要删除这些每行后面多余的空格,可以
    执行如下命令:

    :%s/\s\+$//

    命令前面指明范围是 "%",所以这会作用于整个文件。"substitute" 命令的匹配模式是
    "\s\+$"。这表示行末($)前的一个或者多个(\+)空格(\s)。后面我们会介绍怎样
    写这样的模式。|usr_27.txt|。
    替换命令的 "to" 部分是空的:"//"。这样就会删除那些匹配的空白字符。

    另一种没有用的空格是 Tab 前面的字符。通常这可以删除而不影响格式。但并不是总这
    样!所以,你最好手工删除它。执行如下命令:
    /
    你什么都看不见,其实这是一个空格加一个 TAB 键。相当于 "/"。现在,
    你可以用 "x" 删除多余的空格,并保证格式没有改变。接着你可以用 "n" 找到下一个
    位置并重复这个操作。




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29806506/viewspace-1305182/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29806506/viewspace-1305182/

### 回答1: 《STM32自学笔记第3版》是一本关于STM32微控制器的自学教程。该书深入介绍了STM32微控制器的原理、应用和编程方法。 本书第3版增加了最新的STM32系列微控制器的内容,包括了更多实际应用的案例和项目。读者通过该书可以学习到如何使用STM32微控制器进行各种应用开发,如控制系统、嵌入式系统、通讯系统等。 本书首先对STM32微控制器的硬件结构进行了详细的介绍,包括了芯片的内部结构、引脚的功能和特性。然后,通过具体的实验项目,教授了STM32的基本编程方法和技巧。读者可以通过这些实验,了解STM32的各种功能模块的使用方法,如ADC、USART、SPI等。同时,还介绍了如何使用STM32CubeMX和Keil MDK等常用的开发工具进行项目开发。 此外,本书还对STM32的外设扩展进行了介绍,如通过I2C总线连接外部设备,通过CAN总线实现通讯等。读者可以学习到如何通过外设扩展,实现更复杂的应用系统。 总的来说,《STM32自学笔记第3版》是一本系统、全面的STM32自学教程。通过学习该书,读者可以深入了解STM32微控制器,并掌握其在各种应用领域的开发方法。无论是初学者还是有一定STM32开发经验的人都可以从中获益。 ### 回答2: 《STM32自学笔记 第3版》是一本适合自学STM32开发板的参考书籍。本书以STM32微控制器为基础,详细介绍了STM32的硬件结构和软件开发环境。作者结合自身经验和实际案例,将复杂的知识点以简洁明了的方式呈现,使读者能够快速入门。 第3版的内容相比前两版有所扩充和更新。首先,在硬件方面,本书详细介绍了STM32的引脚布局和外设接口,包括GPIO、USART、I2C、SPI等,使读者能够充分了解STM32的基本硬件结构和功能。 其次,在软件方面,本书提供了详细的开发环境配置和编程指南。包括了Keil MDK开发环境的安装和使用、编译、调试和下载等操作步骤,并且给出了一些常见问题的解决方法。同时,作者还介绍了如何使用STM32的标准外设库进行编程,包括GPIO控制、中断处理、定时器、串口通信等。 除此之外,本书还介绍了一些实际应用案例,以帮助读者更好地理解和应用所学知识。例如,如何使用STM32控制LED灯、驱动液晶显示屏、读取温度传感器数据等。 总体而言,本书是一本系统全面的STM32自学教程。通过学习本书,读者可以了解STM32的基本原理和应用,掌握STM32的硬件配置和软件开发,从而能够独立完成STM32的项目开发。无论是初学者还是有一定基础的开发者都可以从本书中获得很大的收益。 ### 回答3: 《STM32自学笔记第3版》是一本专门介绍如何自学STM32开发的书籍。本书主要针对初学者,通过详细的讲解和实践项目的演示,帮助读者快速上手STM32开发。 书中首先介绍了STM32系列微控制器的基本知识,包括硬件架构、外设功能和寄存器的使用等。对于没有接触过STM32的读者来说,这一部分对于理解后面的内容非常重要。 接着,书中从简单的LED控制开始,逐步引导读者学习各种外设的使用,如GPIO、定时器、UART等。同时,每个外设的使用都配有具体的实例代码和详细的注解,方便读者理解和实践。 书中还介绍了STM32开发中常用的开发工具和环境配置方法。从芯片选择、开发板选购到软件安装和项目配置,都有详细的指导。同时,书中还提供了一些调试技巧和常见问题的解答,帮助读者避开一些容易遇到的坑。 最后,书中还介绍了一些常用的外设应用案例,如按键控制、LCD显示、温湿度传感器等。通过这些案例,读者可以更好地理解STM32的应用场景和开发思路,提升自己的技能水平。 总的来说,《STM32自学笔记第3版》是一本适合学习STM32开发的入门书籍。通过系统完整的内容和实例演示,读者可以快速掌握STM32的基本知识和开发技巧。无论是初学者还是有一定经验的开发者,都可以从中获得实际的帮助和启示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值