如何在vi中设置tab键为4,显示行号?

如何在vi中设置tab键为4,显示行号?,第1张

1、vi的配置文件".vimrc"。

2、settabstop=4设置tab键为4个空格。

3、setnu显示行号

4、setnonu不显示行号。

VI全称VisualIdentity,即企业VI视觉设计,通译为视觉识别系统。是将CI的非可视内容转化为静态的视觉识别符号。设计到位、实施科学的视觉识别系统,是传播企业经营理念、建立企业知名度、塑造企业形象的快速便捷之途。企业通过VI设计,对内可以征得员工的认同感,归属感,加强企业凝聚力,对外可以树立企业的整体形象,资源整合,有控制的将企业的信息传达给受众,通过视觉符码,不断的强化受众的意识,从而获得认同。VI为企业CIS中的一部分,企业CI包含三个方面。分别为BI、MI、VI,三方面为行为识别,企业理念识别和视觉识别。

1. 如果你只是看别人写的代码,而别人设置的缩进非常宽,那么设置

:set tabstop=4

可以让文件里的 tab 看上去占 4 个空格的宽度。这条命令只是修改 vim 的显示样式,不改变文本内容本身。(但通常你不应该修改这个选项的值)

2. (不喜欢看长文的,可以直接跳到底下看总结。)如果你是想编辑文本的时候按 4 个空格的幅度缩进代码,设置

:set shiftwidth=4

可以让代码的缩进量为 4。这个设置影响 vim 的自动缩进,但手动输入 tab 还是会插入一个 tab 字符(看上去是 'tabstop' 指定的长度)。

设置

:set softtabstop=4

可以使手动输入 tab 时看上去缩进量是 4 个空格。基于你 tabstop 和 shiftwidth 的设置,vim 会混合地插入空格或 tab 字符。这三个设置联合使用,可以使 vim 编辑出来的文件体积尽可能小,因为连续出现的 8 个空格(tabstop 指定)会被替换为一个 tab 字符。只要别人也设置 tabstop=8,文件看上去就不会变乱。设置此值也自然地影响退格键删除空格或 tab 字符的行为。传统的程序员会比较喜欢这样的搭配。

设置 softtabstop 的值为 -1,即是按 shiftwidth 的值取值。这是正确的,因为如果此两个值不同,会有很多麻烦。

设置

:set expandtab

vim 将按 shiftwidth 的指定量插入空格,而不再真正插入 tab 字符。 当你的 tabstop 不为 8 时,通常要加上这个设置,否则你编辑的文本别人打开看上去就是乱缩进的。

设置

:set smarttab

会让 vim 在行首根据 tabstop 和 shiftwidth 的值来插入缩进,而在其它地方按 tabstop 和 softtabstop 指定的行为来插入。根据 expandtab 设置与否,插入的内容可能是空格或 tab 字符的混合,也可能只是空格。

3. 之前说的是你看别人代码,和自己写代码时的设置情景。但有时也可能你要修改别人的代码。执行:

:retab

会按你当下 vim 对缩进的设置重新缩进一次代码。这会修改文本的内容,所以你必须确定你确实需要这么做。修改前记得另存一个备份是个不错的习惯。

4. 总结:缩进代码本身是个挺复杂的主题,因此 vim 的配置也比较丰富,以满足各种需求。个人的建议是设置 tabstop=8, shiftwidth=4(或者其它你喜欢的值), softtabstop=-1。如果你根本不喜欢用 tab 字符缩进,就再加上 expandtab 的设置。

调整好之后,要把这些设置写到 vimrc 里,以便让 vim 每次启动都生效。

纯文本文件 :由ASCII, Unicode 或其它编码的纯文字的文件

文本文件编辑工具:

vi ——Visual editor,文本编辑器

vim ——VIsual editor iMproved ,和vi 使用方法一致, 但功能更为强大

vim分很多种工作模式, *** 作之前 首先明确当前处于哪个模式

首要快捷键:模式之间相互切换

说明:

打开vim默认进入命令模式,所有按键 *** 作在屏幕上不可见!!!

命令模式功能强大,只是 按键时看不到输入内容 ,所以需要大量的记忆才能更好的使用

ZZ 保存并退出

ZQ 不保存退出

字符间跳转:

单词间跳转:

句间移动:

段落间移动:

行间移动:

行首行尾跳转:

当前页跳转:

命令模式翻屏 *** 作:

在命令模式下也能进行部分编辑 *** 作

y 复制,行为相似于d剪切

同理也可以结合光标跳转字符,实现范围 *** 作

!!!应注意:单独按 d 或 y 是不起作用的

与 d 的功能完全一致,但是 完成 *** 作后自动切换到插入模式

比如:

cc :即为删除本行并进入插入模式,cc=S

C:删除当前光标到行尾,并切换成插入模式,相当于c$

特别地: 范围 *** 作

按“ : ”进入Ex模式 ,创建一个命令提示符: 处于底部的屏幕左侧

以行为基本单位

地址定界后跟一个编辑命令,即可进行批量范围 *** 作

特别地,s///也可以换为s@@@...等其他字符

以上所有设置的关闭方式相同:set noCMD

永久保存设置,保存在配置目录

用方向键和其他字符跳跃快捷键模拟鼠标选中 *** 作

被选中的文字可被删除,复制,变更,过滤,搜索,替换等

进入此模式的快捷键:

单个文件切割后 相当于两个窗口同时显示同一个文件

寄存器即为 多个剪贴板

有26个 字母命名 寄存器和1个 无命 名寄存器,常存放不同的剪贴版内容, 可以不同会话间共享

未指定,将使用无命名寄存器, 即为普通的复制粘贴 *** 作

还有10个 数字寄存器 ,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容

当新的文本变更和删除时,1转存到2,2转存到3,以此类推

数字寄存器不能在不同会话间共享

作用是标记书签

输入ma :将当前位置标记为a

输入 'a 跳转到a标记的位置

26个字母均可做标记, mb 、 mc 等等

qa 录制宏 a,a为宏的名称

q停止录制宏

@a 执行宏 a

@@ 重新执行上次执行的宏

录制宏 是录制位置还是录制一系列 *** 作???

涉及 xxd 命令

1、在vim中设置tab缩进为4个字符

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

3、删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行 的行首的#号

cat 可以查看文本内容

特别地,若无指定文件 或文件名为 - ,表示从标准输入接收信息

Windows中的文本文件与Linux中格式有所不同

对于一些类似换行、Tab...等不可见字符,可使用 -A 选项进行显示

两种逆向显示:

文本 篇幅较大 时,用cat查看不太方便,此时应使用more命令

使用more命令查看, 移动到最后一行时自动退出

为了反复查看文件,可使用less命令 (less终端内 不显示进度百分比

与管道配合使用

若已知输出结果会是大篇幅内容,可提前用管道连接more或less

大篇幅文件,若 只需要查看前几行 ,可使用head命令

不指定行数,head默认输出前10行

特别地,行数为负数时,如head -n -5 表示 去除最后5行

与之相反,tail命令则表示 显示文件指定的最后几行

不指定默认输出最后10行 ,同样也支持 -c 字节数

特别地, tail命令行数前使用 + 号 ,如 -n +3 表示 从第3行往后全部输出

@@tail实用功能( -f 选项):持续监测文件是否有追加内容

cut 命令 以指定分隔符 对文本文件或STDIN数据的 每行内容进行切割

默认分隔符为TAB

三种类似功能:指定 字节b/字符c/字段f 序号或范围

不常用功能:-b 、 -c

-nb的作用:防止切割多字节字符(可认为等效于-c)

#已知每个汉字大小为3byte!!!

常用功能:-f(需要先用-d指定分隔符,不指定则为tab)

其他功能: 在输出结果中指定需要显示的分隔符

其他功能: 取反 complement

默认以行为单位 ,合并多个文件同行号的列到一行

合并文件的 拼接处默认以TAB分隔

对指定文本文件或STDIN的 各项指标进行统计

包括:文件的行总数、单词总数、字节总数和字符总数

不加选项时默认统计前三项

应用举例:

对文件的所有 行进行排序

默认:数字在字母之前、字母排序不分大小写

以行为单位去除重复内容(只去除连续重复行)

对比分析两个普通文件的不同之处 (命令cmp比较两个 二进制文件 的区别)

选项 -y可以并排对比 -W指定并排的间距

选项 -u 用来输出统一的(unified)diif格式文件 (适合用于补丁文件)

patch命令 :利用diff比较结果输出的内容进行 还原

cmp命令 :比较二进制程序的源码不同之处

排除过滤 - v

grep默认只显示符合条件的行,- v 选项 只显示不符合条件的内容

**忽略大小写- i **:gerp默认大小写敏感,- i 选项忽略大小写

显示行号 -n :文本过多时,显示行号方便查看

(显示 匹配结果在原文中的行号)

**显示行数量 - c **, 只显示有多少行符合条件

- o 只显示keywords :- o 只显示所有匹配的内容,可知 keywords数量

静默模式:- q 选项 执行命令但不输出结果,常用于脚本条件判断

ABC匹配结果附带前后行一起输出

选项 - e 多个条件满足其一 几个条件就有几次 - e

特别地, - E 表示使用扩展正则表达式

选项 - w 匹配单个单词

单词判断依据——字母数字下划线连续组合都视为单词

单词判断依据——字母数字下划线连续组合都视为单词

单词判断依据——字母数字下划线连续组合都视为单词

正则表达式把字符和次数分开表达

正则表达式把字符和次数分开表达

正则表达式把字符和次数分开表达

正则表达式把字符和次数分开表达

基本格式为 引号 括起来:

正则表达式的 元字符按功能分四类 ,下面分别介绍

指定某个内容出现的具体次数(keyword写在前)

只匹配前一个紧挨着的字符!!!!! !!!!!!!!!!!!!

在指定位置搜索 字符串

分组:将多个字符 作为整体 来进行处理

普通分组用法:

后向引用: 使用分组之后,后续再次引用只需要 使用 、 等表示第一个、第二个分组

最适合用于vim搜索替换(形如 r..t 替换成 r..ter 的情况)

逻辑 或

除了使用选项 - e 还有符号 \| (其中\用来转义)

为了在复杂规则中更加直观, 省略了转义符 \


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11144741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存