vi/vim 的使用及 CentOS 静态网络配置并链接 Xshell

news/2025/10/14 14:57:26/文章来源:https://www.cnblogs.com/Jing61/p/19141111

vi/vim 的使用及 CentOS 静态网络配置并链接 Xshell

vi/vim 基础

vi 与 vim 的区别

vi 是 Linux 系统原生的文本编辑工具,可以简单理解为 vim 是 vi 的升级版,两者核心功能一致,主要差异如下:

对比维度 vi vim
颜色显示 无颜色高亮 支持语法颜色高亮,便于区分代码、关键字等
功能扩展 基础编辑功能 新增代码补全、搜索高亮、多级撤销等增强功能
使用场景 适用于简单文本编辑 更适合代码编写、复杂文档编辑

vim 安装(若系统未预装)

若输入 vim 提示“命令未找到”,需通过 yum 安装,命令如下:

yum install -y vim-enhanced
  • 若安装失败,需先配置国内 yum 源。

设置 yum 源(以阿里源为例)

国内 yum 源(如阿里源)可大幅提升软件下载速度,推荐两种配置方式:

方式一:官网手动配置
  1. 访问阿里源官方指南:https://help.aliyun.com/zh/ecs/user-guide/manage-and-use-linux-software-repositories
  2. 按照指南步骤,针对 CentOS 7 系统执行对应配置命令。
方式二:命令行快速配置

依次执行以下命令,覆盖默认 yum 源为阿里源:

  1. 备份原 yum 源配置文件:
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
  2. 下载阿里源的 CentOS 7 配置文件:
    curl -sSO https://mirrors.aliyun.com/repo/Centos-7.repo
    
  3. 将下载的配置文件移动到 yum 源目录:
    mv Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
    
  4. 清理缓存并生成新缓存:
    yum clean all && yum makecache
    

若上述命令显示无操作权限,每条命令前面加上 sudo,第四条的 && 后面也需要加上 sudo。

vi/vim 的三种模式及操作

vi/vim 核心分为 一般模式编辑模式命令模式,三种模式需通过特定按键切换,具体功能如下:

模式介绍与切换

模式名称 进入方式 核心功能 退出/切换方式
一般模式 输入 vim 文件名(如 vim test.txt)直接进入 光标移动、复制、粘贴、删除等基础操作(不可直接编辑文本) i/I/a/A/o/O/r/R 进入编辑模式;输入 :/ 进入命令模式
编辑模式 一般模式下按 i/I/a/A/o/O/r/R 直接修改文本内容 ESC 键返回一般模式
命令模式 一般模式下输入 :/ 保存文件、退出编辑器、搜索替换、显示行号等 执行命令后自动返回一般模式(如 :w 保存后);按 ESC 可取消命令输入

基础操作演示:创建并编辑文件

以创建 test.txt 并写入内容为例,步骤如下:

  1. 新建并打开文件:

    vim test.txt 
    

    若文件不存在,vim 会自动创建
    此时进入 一般模式

  2. 进入编辑模式:按 i 键(左下角会显示 -- INSERT ----插入--,表示可编辑)。

  3. 写入内容:

    This is a test file.
    And this is the first time to using "vim".
    It's easy to use "vim".
    I like to using it, do you like it?
    

    image

  4. 保存并退出:

    • ESC 返回一般模式(左下角 -- INSERT ----插入-- 消失)。
    • 输入 :wq 并回车(w 表示保存,q 表示退出)。
      image
  5. 验证文件内容:

    cat test.txt  
    

    查看文件内容,输出结果如下:

    [root@localhost local]# cat test.txt
    This is a test file.
    And this is the first time to using "vim".
    It's easy to use "vim".
    I like to using it, do you like it?
    

    image

详细按键说明

一般模式:光标移动、搜索替换、删除复制

功能分类 按键 操作说明
光标移动 h 或 ← 光标向左移动 1 字符
j 或 ↓ 光标向下移动 1 字符
k 或 ↑ 光标向上移动 1 字符
l 或 → 光标向右移动 1 字符
Ctrl + f 屏幕向下滚动 1 页(等同于 Page Down)
Ctrl + b 屏幕向上滚动 1 页(等同于 Page Up)
Ctrl + d 屏幕向下滚动半页
Ctrl + u 屏幕向上滚动半页
+ 光标移动到下一行非空格符开头处
- 光标移动到上一行非空格符开头处
n<space> n 为数字,光标向右移动 n 字符(如 20<space> 向右移 20 字符)
0 或 Home 光标移动到当前行开头
$ 或 End 光标移动到当前行结尾
H 光标移动到屏幕最上方一行开头
M 光标移动到屏幕中间一行开头
L 光标移动到屏幕最下方一行开头
G 光标移动到文件最后一行
nG n 为数字,光标移动到文件第 n 行(如 20G 到第 20 行)
gg 光标移动到文件第一行(等同于 1G
n<Enter> n 为数字,光标向下移动 n
搜索替换 /word 从光标处向下搜索字符串 word(如 /vim 搜索 “vim”)
?word 从光标处向上搜索字符串 word
n 重复上一次搜索动作(向下继续搜索)
N 反向重复上一次搜索动作(向上继续搜索)
:n1,n2s/word1/word2/g 在第 n1n2 行中,将 word1 替换为 word2(如 :10,20s/vim/VIM/g 替换 10-20 行的 “vim” 为 “VIM”)
:1,$s/word1/word2/g:%s/word1/word2/g 全文件将 word1 替换为 word2
:1,$s/word1/word2/gc:%s/word1/word2/gc 全文件替换,替换前提示确认(c 表示 confirm)
删除复制 x 向后删除 1 字符(等同于 Del 键)
X 向前删除 1 字符(等同于 Backspace 键)
nx n 为数字,向后删除 n 字符(如 10x 删除 10 字符)
dd 删除光标所在行
ndd n 为数字,删除光标所在行及向下共 n 行(如 5dd 删除 5 行)
d1G 删除光标所在行到文件第一行的所有内容
dG 删除光标所在行到文件最后一行的所有内容
d$ 删除光标处到当前行结尾的内容
d0 删除光标处到当前行开头的内容
yy 复制光标所在行
nyy n 为数字,复制光标所在行及向下共 n 行(如 3yy 复制 3 行)
y1G 复制光标所在行到文件第一行的所有内容
yG 复制光标所在行到文件最后一行的所有内容
y0 复制光标处到当前行开头的内容
y$ 复制光标处到当前行结尾的内容
p 将复制的内容粘贴到光标下一行
P 将复制的内容粘贴到光标上一行
J 将光标所在行与下一行合并为一行
u 撤销上一次操作(常用)
Ctrl + r 重做上一次操作(常用)
. 重复上一次操作(如删除后按 . 可再次删除,常用)

一般模式 → 编辑模式:进入编辑的按键

按键 进入方式说明
i 从光标当前位置开始输入文本
I 从光标所在行的第一个非空格符位置开始输入
a 从光标下一个字符位置开始输入
A 从光标所在行的最后一个字符位置开始输入
o 在光标所在行的下方新建一行,从该行开始输入
O 在光标所在行的上方新建一行,从该行开始输入
r 仅替换光标所在的 1 个字符(替换后自动返回一般模式)
R 持续替换光标所在字符,直到按 ESC 返回一般模式(替换模式)
ESC 退出编辑模式,返回一般模式(所有编辑模式通用)

一般模式 → 命令模式:常用命令

命令 功能说明
:w 保存当前编辑的内容到硬盘(常用)
:w! 强制保存(当文件为只读时,若有文件权限则可强制保存)
:q 退出 vi/vim(未修改文件时可用,常用)
:q! 强制退出,不保存修改的内容(常用)
:wq 保存内容并退出(常用)
:wq! 强制保存并退出
ZZ 大写 Z,若文件已修改则保存并退出(等同于 :wq
ZQ 大写 Z+Q,不保存并强制退出(等同于 :q!
:w [filename] 将当前内容另存为 filename(如 :w test_backup.txt 另存为备份文件)
:r [filename] filename 文件的内容读取到光标所在行的下方
:n1,n2 w [filename] 将第 n1n2 行的内容保存为 filename(如 :5,10 w part.txt 保存 5-10 行为 part.txt)
:! command 暂时退出 vi/vim,执行 Linux 命令并查看结果(如 :! ls /home 查看 /home 目录下的文件)
:set nu 显示行号(常用)
:set nonu 取消行号显示

CentOS 静态网络配置

静态网络配置可让 CentOS 虚拟机拥有固定 IP,便于远程连接,步骤如下:

查看 VMware 虚拟网络信息

  1. 打开 VMware Workstation,点击顶部菜单栏「编辑」→「虚拟网络编辑器」。
    image
  2. 选择「VMnet8(NAT 模式)」,记录以下 3 个关键信息(后续配置需用到):
    • 子网 IP:如 192.168.10.0
    • 子网掩码:如 255.255.255.0
    • 网关 IP:点击「NAT 设置」查看,如 192.168.10.2
      image
      image

修改 CentOS 网络配置文件

  1. 进入网络配置文件目录:

    cd /etc/sysconfig/network-scripts
    

    image

  2. 编辑网卡配置文件(文件名通常为 ifcfg-ens33,若不同可通过 ls 查看以 ifcfg- 开头的文件):

    vim ifcfg-ens33
    

    image

  3. i 进入编辑模式,修改或添加以下配置(根据上面步骤记录的信息调整):

    TYPE=Ethernet
    BOOTPROTO=static  # 设为静态 IP(默认 dhcp 为动态)
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=ens33
    UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  # 保留原 UUID,无需修改
    DEVICE=ens33
    ONBOOT=yes  # 开机自动启用网卡
    IPADDR=192.168.10.158  # 自定义固定 IP(需在子网段内,如 192.168.10.xxx,xxx 范围 3-254)
    NETMASK=255.255.255.0  # 子网掩码(上面步骤记录的值)
    GATEWAY=192.168.10.2  # 网关 IP(上面步骤记录的值)
    DNS1=114.114.114.114  # 国内 DNS 服务器(可选,也可填 8.8.8.8)
    DNS2=8.8.8.8  # 备用 DNS 服务器
    

    image

  4. ESC 返回一般模式,输入 :wq 保存并退出。

配置 DNS(可选,若上面步骤已添加 DNS 则可跳过)

  1. 编辑 DNS 配置文件:

    vim /etc/resolv.conf
    
  2. 添加 DNS 服务器地址:

    nameserver 114.114.114.114
    nameserver 8.8.8.8
    

    image

  3. ESC,输入 :wq 保存退出。

重启网络并验证

  1. 重启网络服务(CentOS 7 命令):
    systemctl restart network
    
  2. 验证网络连通性:
    • ping 外网(如百度):
      ping www.baidu.com
      
      若出现类似以下输出,说明网络正常(按 Ctrl + C 终止 ping):
      [root@localhost ~]# ping www.baidu.com
      PING www.a.shifen.com (110.242.70.57) 56(84) bytes of data.
      64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=1 ttl=128 time=45.1 ms
      64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=2 ttl=128 time=43.2 ms
      
      image
    • 本地 Windows ping 虚拟机(验证局域网连通):
      1. Win + R,输入 cmd 打开命令提示符。
      2. 输入 ping 192.168.10.158(虚拟机的固定 IP),若出现以下输出,说明本地与虚拟机连通:
        C:\Users\Lenovo>ping 192.168.10.158
        正在 Ping 192.168.10.158 具有 32 字节的数据:
        来自 192.168.10.158 的回复: 字节=32 时间<1ms TTL=64
        来自 192.168.10.158 的回复: 字节=32 时间<1ms TTL=64
        
        image

Xshell 下载与连接虚拟机

Xshell 下载(免费版)

  1. 访问 Xshell 免费下载页:https://www.xshell.com/zh/free-for-home-school/
  2. 安装 Xshell:双击安装包,默认“下一步”即可(可自定义安装目录)。
    image

Xshell 连接 CentOS 虚拟机

  1. 启动 Xshell,点击顶部菜单栏「文件」→「新建」(或按 Alt + N),打开“新建会话属性”窗口。
    image

  2. 配置连接信息:

    • 「名称」:自定义(如“CentOS”)
    • 「协议」:选择“SSH”
    • 「主机」:输入虚拟机的固定 IP(如 192.168.10.158
    • 「端口号」:默认 22(SSH 协议默认端口)
    • 点击「确定」保存会话。
      image
  3. 连接会话:

    • 在 Xshell 会话列表中,双击新建的会话(如“CentOS”)。
    • 首次连接会弹出“主机密钥确认”对话框,点击「接受并保持」。
    • 输入用户名(如 root,CentOS 超级用户),点击「确定」。
    • 输入 root 密码(虚拟机安装时设置的密码),点击「确定」。
      image
      image
      image
      image
  4. 验证连接:若出现类似以下命令行提示符,说明连接成功:

    [root@localhost ~]#
    
  5. (可选)查看 DNS 配置:输入 cat /etc/resolv.conf

    [root@localhost ~]# cat /etc/resolv.conf
    nameserver 114.114.114.114
    nameserver 8.8.8.8
    

    image

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

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

相关文章

102500410 杜惟真 10月14日作业

下载完成:代码截图: (记得在每行代码后加入分号!)运行界面:这份作业属于的课程:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/13558 这份作业的要求:https://edu.cnblogs.com/campus/fzu/gjyycx/homew…

alpline 构建lnmp

alpline 构建lnmp default.conf map $http_upgrade $connection_upgrade {default upgrade; close; }server {listen 80;root "/app/public";index index.php;charset utf-8;location / {try_files $ur…

2025 年最新推荐操作台厂家排行榜:覆盖指挥中心 / 控制室 / 中控室 / 监控室 / 调度室场景,为用户选购优质产品提供专业参考

当前,操作台作为指挥中心、监控室等核心场景的关键设备,其品质、功能性与适配性直接关系到工作效率与运行稳定性。然而,市场上操作台品牌数量繁多,产品质量参差不齐,部分产品存在工艺粗糙、不符合人体工学、定制服…

Ubuntu tightenVNC安装及配置

Ubuntu tightenVNC安装及配置安装tighenVNC sudo apt install xfce4-session xfce4-panel xfwm4 xfdesktop4配置xstartup vncserver -geomtery 1920x1080 #此命令生成vnc session chmod 755 ~/.vnc/xstartup执行完成后…

NVR设备ONVIF接入平台EasyCVR智慧小区视频监控系统建设方案

NVR设备ONVIF接入平台EasyCVR智慧小区视频监控系统建设方案一、方案背景 智慧小区构成了“平安城市”建设的基石。随着社会的进步,社区安全问题逐渐成为公众关注的热点。诸如高空抛物、乱丢垃圾、破坏车辆、入室盗窃等…

FPGA开发流程

Fpga开发流程可以分为编译,仿真验证,综合,实现,生成比特流文件。记忆这个流程,编译,仿真验证可以看做综合前。 编译这个阶段是将输入的.v文件编译生成中间文件供后续使用,这个阶段你可以验真写的verilog代码是否…

毕业论文技巧:Word中使用Mathtype对公式自动编号(带章节号)

参考:毕业论文技巧:Word中使用Mathtype对公式自动编号(带章节号)_mathtype自动编号按章节-CSDN博客 在毕业论文或者其他类似的长篇论著写作中,常需要根据章节号对公式进行依次编号,使用Mathtype即可做到。需要说…

试验2

试验1 源代码1 #include <stdio.h>2 #include <stdlib.h>3 #include <time.h>4 #define N 55 #define N1 806 #define N2 357 int main() {8 int cnt;9 int random_major, random_no; 10 sran…

浩辰CAD 2025 SP2安装包下载与安装教程

软件介绍 浩辰CAD 2025 SP2作为国产CAD软件的升级版本,延续了自主内核技术优势,在性能、功能及生态适配层面实现全面突破。该版本采用多核并行运算技术,开图速度提升30%,存图性能翻倍,复杂图纸操作流畅度较前代提…

高级程序语言设计第一次作业

这个作业属于 https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求 https://edu.cnblogs.com/campus/fzu/gjyycx/homework 学号:102500319 姓名:刘江涵 1.安装过程及安装成功截图2.运行程序的代码和结果过程中未…

Java word文档中的图片抽离方法

Java word文档中的图片抽离方法Java word文档中的图片抽离方法package com.example.core.mydemo.aspose;import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFPictureData;…

Kerberos认证(Elasticsearch)

一、Elasticsearch集成Kerberos认证效果图:可参考:elasticsearch添加kerberos认证完整操作流程

2025 年聚氨酯砂浆厂家最新推荐排行榜:聚焦欧洲技术与一站式服务的国内优质企业甄选指南水性聚氨酯砂浆/聚氨酯砂浆自流平厂家推荐

当前工业、食品、医药等领域对地坪材料的性能要求日益严苛,聚氨酯砂浆因耐磨、防腐、耐高低温等优势,成为众多企业的首选。但市场上厂家数量繁杂,产品质量与服务水平差异显著,部分厂家缺乏核心技术,产品难以满足行…

在Anolis OS 8.10 GA上安装和配置VNC系统

在Anolis OS 8.10 GA上安装和配置VNC系统 1、安装yum install tigervnc-server tigervnc-server-module -y 2、vncpasswd 设置VNC密码,回车后,Password为录入你要设置的密码,Verify为确认密码,Would you like to …

钩子(HOOK):改变系统行为的 “隐形抓手”

在编程的世界里,我们常常希望在不修改核心代码的情况下,为现有程序增加新功能、监控特定事件或改变其默认行为。这时,一个强大而精巧的概念——“HOOK”(钩子)便闪亮登场。它就像在软件执行的流水线上预设的“挂钩…

新装 CentOS 7 切换 yum 源完整指南 - 详解

新装 CentOS 7 切换 yum 源完整指南 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

浅谈InheritableThreadLocal---可继承的小书包

在前文中我们讲过ThreadLocal,相当于是每个线程有一个小书包,线程之间的小书包是隔离的,只存放了属于当前线程自己的变量,因此不会发生数据安全的问题。 (前文博客浅谈ThreadLocal----每个线程一个小书包 https:…

如何理解面向对象?

“深刻理解 C++ 的面向对象思想”其实是从 程序设计思想 层面上,真正掌握 C++ 精髓的标志。很多人学 C++ 只停留在“语法层面”(class、public、private、继承、多态),但真正的理解在于为什么这样设计、要解决什么…

2025 年湖南单招培训学校最新推荐榜单:口碑实力机构排行榜,聚焦高升学率与优质服务的精准选校指南单招无忧题库/单招培训学校推荐

2025 年湖南省单招报考热度持续攀升,部分高校专业报录比已达 470%,但培训行业却陷入 “选择困境”:新机构扎堆涌现却缺乏成熟教学体系,部分机构课程与考纲脱节,依赖兼职教师导致服务断层,更有甚者虚构升学率误导…

2025-10-14 el.style.backGroundColor = #ccc !important样式不生效??==》改为添加类

业务中常见有js操作样式,当我想给元素加个背景颜色时是能生效的,但如果加上了权重!important反而不生效了, 原因是这不是有效的颜色值,你可以把el.style.backGroundColor = #ccc !important改为el.classList.add(h…