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

相关推荐
東隅已逝,桑榆非晚3 分钟前
新手入门指南:认识 C 语言文件操作(上)
c语言·开发语言·笔记
cany10005 分钟前
C++ -- 动态内存分配和释放(new/delete)
开发语言·c++
brycegao32115 分钟前
Vue3+Go 全栈项目上线阿里云|从 0 到 1 踩坑全纪录
开发语言·阿里云·golang
ch.ju17 分钟前
Java Programming Chapter 4——cite
java·开发语言
优雅格子衫29 分钟前
uniapp 拍照相册选取后超级好用的裁剪组件,增加水印完全自定义
开发语言·前端·javascript·uni-app·vue
Vallelonga42 分钟前
Rust 中 unsafe 关键字的语义
开发语言·rust
AI砖家1 小时前
前端 JavaScript 异步处理全方案详解:从回调到 Observable
开发语言·前端·javascript
思麟呀1 小时前
C++工业级日志项目(七)日志器核心
linux·开发语言·c++·windows
2401_873479401 小时前
如何用IP离线库批量清洗订单IP,自动标注省市区?
开发语言·网络·python
lcj25111 小时前
vector的基本使用 + 手搓成员变量 size capacity begin end operator[] reserve扩容 拷贝构造 赋值析构
开发语言·c++·笔记·面试