Linux中使用vi编辑器自动缩进4个字符

平常在Linux操作系统下书写shell脚本内容,或是把写好的shell内容直接复制到vi编辑器中,本来缩进好的字符,复制进去之后会自动变乱,这是因为Linux的vi编辑器默认是缩进8个字符造成,可以使用下面2个方法解决该问题的发生。

1、本用户配置

可以在本用户的家目录(如:/root)下创建.vimrc文件(如果有的话,就不需要创建了),把以下内容添加进去即可。

[root@Nginx ~]# vi .vimrc
set tabstop=4
set shiftwidth=4

家目录:是指用户登录后的第一个目录,可以使用pwd来查看,如果进入了别的目录,也可以使用cd ~ 命令直接回到自己的家目录中,此处以root用户为例:

[root@Nginx ~]# cd /app/nginx
[root@Nginx nginx]# pwd
/app/nginx
[root@Nginx nginx]# cd ~
[root@Nginx ~]# pwd
/root

其中cd ~ 是回到该用户的家目录命令。

tabstop:设置 tab 字符的显示宽度。

shiftwidth:用于程序中自动缩进所使用的空白长度指示的。一般来说为了保持程序的美观,和tabstop的参数最好一致。同时它也是符号移位长度的制定者。

注:该方法只能在某一个用户下生效,如果想要全局生效需要把该配置引入到全局配置中。

2、全局配置

打开/etc/vimrc配置文件,把以下内容添加到配配置文件的最下方即可。

[root@Nginx ~]# vi /etc/vimrc
set tabstop=4
set shiftwidth=4

注:如果设置后,大家习惯性的使用vi命令打开,发现没有生效,这是因为vi和vim虽说都流行的文本编辑器,但它们2个还是有区别的,具体区别可以参照:vi和vim有什么不同

此时大家也不需要再创建下.virc文件或是打开/etc/virc添加以上内容,可以用以下方法让vi以vim别名的方式出现使用即可。

打开/etc/bashrc配置文件,把以下内容添加到配配置文件的最下方,使其生效即可。

[root@Nginx ~]# vi /etc/bashrc
alias vi=vim
[root@Nginx ~]# source /etc/bashrc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未来已来, AI将作为超级工具?

人工智能时代已来 1.AI将作为超级工具:AI是推动全产业数字化转型的高效工具,机遇比互联网时代大10倍,但只有1/3的机会留给初创企业。 2.硅谷AI市场分类中,特别看好开源平台,其将为初创企业和大企业提供更多选择。 3.…

C# 字节数组(byte[])拼接的性能对比测试

将C#中的三种字节数组拼接方式的性能做了一个对比测试,DEMO程序代码如下: using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Byte数组拼接测…

使用 DuckDuckGo API 实现多种搜索功能

在日常生活中,我经常使用搜索引擎来查找信息,如谷歌和百度。然而,当我想通过 API 来实现这一功能时,会发现这些搜索引擎并没有提供足够的免费 API 服务。如果有这样的免费 API, 就能定时获取“关注实体”的相关内容,并…

Gbase 国产数据库

参考:参考: 5分钟学会Linux环境GBase 8t安装和部署 - 光洋山 - twt企业IT交流平台 (talkwithtrend.com)https://www.talkwithtrend.com/Article/197237 视频 GBase 8s快速入门-功能简介与演示-大数据教程-腾讯课堂 (qq.com)https://ke.qq.com/course/…

ADB日常使用命令

【ADB全称 Android Debug Bridge】 是Android SDK中的一个命令行工具adb命令可以直接操作管理Android模拟器或真实的Android设备(手机) 建立PC和模拟器连接 # 建立连接 adb connect 127.0.1: 模拟器端口号〈逍遥模拟器21503〉 # 验证是否连接成功 adb d…

整数乘除法练习题

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<time.h> #include<Windows.h>void show1(); .//开始界面 int getchoice(); //选择界面 int dowork(int n); //随机做乘除法 int num(); //用户确定做题的数量 v…

OrangePi AIpro 变身 Android 打包机

主板基本信息介绍 OrangePi AIpro&#xff0c;是香橙派联合华为精心打造&#xff0c;建设人工智能新生态而设计的一款开发板&#xff0c;这次为大家分享下我上手的这款 OrangePi AIpro 8GB&#xff08;算力达8TOPS&#xff09; 的一些小小的经验。 基本参数如下&#xff1a; …

首创十八道工艺,口味王引领槟榔产业高质量发展

说到槟榔&#xff0c;相信大伙都不会陌生&#xff0c;槟榔的历史可以追溯到汉代&#xff0c;不少文献有过记载&#xff0c;如汉代的沈约著的《咏竹槟榔盘》中提到“荐羞虽百品&#xff0c;所贵浮天实”&#xff1b;唐朝“诗仙”李白更是写道“何时黄金盘&#xff0c;一斛荐槟榔…

分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法

不废话&#xff0c;直接上正文。_ 方法一 思路&#xff1a;利用 BodyReader 直接读取 HttpContext 的 Request Body&#xff0c;再反序列化 var reqStream context.Request.BodyReader.AsStream(); var jsonObj JsonSerializer.Deserialize<CheckAndParsingMiddlewareM…

掌握正则表达式的力量:全方位解析PCRE的基础与进阶技能

Perl 兼容正则表达式&#xff08;PCRE&#xff09;是 Perl scripting language 中所使用的正则表达式语法标准。这些正则表达式在 Linux 命令行工具&#xff08;如 grep -P&#xff09;及其他编程语言和工具中也有广泛应用。以下是一些基础和进阶特性&#xff0c;帮你掌握和使用…

C++容器之前向链表(std::forward_list)

目录 1 概述2 使用实例3 接口使用3.1 construct3.2 assigns3.3 iterators3.4 capacity3.5 access3.6 assign3.7 emplace_front3.8 push_front3.9 pop_front3.10 emplace_after3.11 insert_after

C++面试题其一

C和C的区别 C和C都是广泛使用的编程语言&#xff0c;但它们有显著的区别&#xff1a; 语言范式&#xff1a; C&#xff1a;是一种过程化编程语言&#xff0c;强调过程和函数的使用。C&#xff1a;是一种多范式编程语言&#xff0c;支持面向对象编程、泛型编程和过程化编程。 …

buuctf的RSA(五)

[RoarCTF2019]RSA 一看到题目&#xff0c;我就有些蒙了&#xff0c;A是代表了什么&#xff0c; 先来分解n 接下来可以暴力破解e了&#xff0c;因为e没有给出来&#xff0c;应该不会太大&#xff0c;猜测是四位数字 import gmpy2 import libnum from Crypto.Util.number import…

网卡配置基础知识

1、网络设置方式 首先科普下Virtual Box虚拟机的几种主流的网络设置方式&#xff0c;官方文档&#xff1a; 2解释 Host-only&#xff1a;仅主机模式 虚拟机和宿主机、虚拟机之间能互通&#xff0c;但是不能访问外网&#xff0c;虚拟机和宿主机同网段的其他主机不能互通这种…

JS实现时间段过滤搜索

你想要实现一个JavaScript函数&#xff0c;用于根据时间段过滤搜索结果吗&#xff1f;可以尝试以下的示例代码&#xff1a; // 假设这是你的数据 const data [{ id: 1, name: Alice, timestamp: 1622382000000 }, // 2021-05-30 12:00:00 UTC{ id: 2, name: Bob, timestamp: …

数据结构---栈队列

栈和队列是我们数据结构中经常使用的数据结构&#xff0c;所以现在来了解一下栈和队列。 栈 特点&#xff1a; 栈是一种特殊的线性表&#xff0c;其中进行数据插入和弹出的部分叫做栈顶&#xff0c;另一端叫做栈底。 只允许数据从栈顶压入&#xff0c;从栈顶弹出即先进后出的…

最佳实践:REST API 的 HTTP 请求参数

HTTP 请求中的请求参数解释 当客户端发起 HTTP 请求 时&#xff0c;它们可以在 URL 末尾添加请求参数&#xff08;也叫查询参数或 URL 参数&#xff09;来传递数据。这些参数以键值对的形式出现在 URL 中&#xff0c;方便浏览和操作。 请求参数示例 以下是一些带有请求参数的…

《mysql轻松学习·一》

SQL:结构化查询语言&#xff0c;用于访问和操作数据库&#xff0c;包括数据定义&#xff0c;数据操纵&#xff0c;数据查询&#xff0c;数据控制。 1、命令行 select version(); //查看当前版本 status; //查看用户信息&#xff0c;端口&#xff0c;版本号等信息 show databas…

C#中用 protobuf Struct 实现弱类型的json 序列化/反序列化

目标 在.net 大力支持使用 gRPC 的背景下&#xff0c;通过 jsontranscoding 可以实现 gRPC/WebAPI 一鱼两吃。有时候不想把json对象的所有属性都在 proto 中定义出来&#xff0c;比如设备对象&#xff0c;不同设备有不同的属性&#xff0c;要都强类型那C#里面的对象属性会很多&…

JS-Lodash工具库

文档&#xff1a;Lodash Documentation orderBy函数&#xff1a;根据条件进行排序 注&#xff1a;第一个是要排序的数组&#xff0c;第二个是根据什么字段进行排序&#xff0c;第三个是排序的方式&#xff08;desc倒序&#xff09; 安装方式&#xff1a;Lodash npm i lodash…