shell/bash 让vi/vim显示空格,及tab字符

Vim 可以用高亮显示空格和TAB。

文件中有 TAB 键的时候,你是看不见的。要把它显示出来:
:set list
TAB 键显示为 ^I, $ 显示在每行的结尾,表示换行空格仍然显示为空格。

:set list 进入List Mode
:set nolist 退出List Mode


linux 行尾 ^M 是什么

这和Linux与Windows断行/换行格式有关。DOS (Windows 系统)使用的断行/换行字符为 ^M$ ,我们称为 CR 与 LF 两个符号。

而在 Linux 下,则是仅有LF ($) 这个断行/换行符号。

在 Linux 下打开Windows的文件时,由于 DOS 的断行符号是 CRLF ,就会多了一个 ^M 的符号出来。

在这样的情况下,如果是一个 shell script 的程序文件,将可能造成"程序无法执行"的状态。 因为会误判程序所下达的指令内容。

可以使用dos2unix来转换:
dos2unix file

LF($, ^J) \n 10

CR(^M) \r 13

相关推荐
_OP_CHEN21 小时前
C++基础:(十二)list类的基础使用
开发语言·数据结构·c++·stl·list类·list核心接口·list底层原理
ONE_PUNCH_Ge1 天前
Go 语言变量
开发语言
幼稚园的山代王1 天前
go语言了解
开发语言·后端·golang
晚风残1 天前
【C++ Primer】第六章:函数
开发语言·c++·算法·c++ primer
满天星83035771 天前
【C++】AVL树的模拟实现
开发语言·c++·算法·stl
weixin_456904271 天前
基于.NET Framework 4.0的串口通信
开发语言·c#·.net
ss2731 天前
手写MyBatis第107弹:@MapperScan原理与SqlSessionTemplate线程安全机制
java·开发语言·后端·mybatis
麦麦鸡腿堡1 天前
Java的动态绑定机制(重要)
java·开发语言·算法
时间之里1 天前
【c++】:Lambda 表达式介绍和使用
开发语言·c++
Tiger_shl1 天前
C# 预处理指令 (# 指令) 详解
开发语言·c#