Linux 学习 --- 编辑 vi 命令

1、vi 基本概念(了解)

  • 基本上 vi 可以分为三种状态,分别是命令模式 (command mode)、插入模式 (Insert mode) 和底行模式 (last line mode),各模式的功能区分如下:

    1. 命令行模式 command mode)

    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode。

    1. 插入模式(Insert mode)

    只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式。

    1. 底行模式(last line mode)

    将文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号...... 等。

2、安装 vim

yum install -y vim-enhanced

  • 输入命令
  • 下载安装包
  • 安装

3、插入

  • 从命令行模式,进入插入模式

  • 按 "ESC" 键,从 "插入模式" 进入 "命令行模式"

    命令 描述
    i 在光标前插入
    shift + i 在光标当前行开始插入
    a 在光标后插入
    shift + a 在光标当前行末尾插入
    o 在光标当前行的下一行插入新行
    shift + o 在光标当前行的上一行插入新行
  • 插入模式下,快捷键

    ctrl+w 撤销一个

    ctrl+u 清空光标前的内容

    ctrl+j 前面插入一个空行

4、复制和粘贴

  • 在命令行模式下 (一般模式)

    命令 描述
    yy 单行复制将光标移动到将要复制的行处
    nyy 多行复制将光标移动到将要复制的首行处
    p 粘贴将光标移动到将要粘贴的行处
    :'a,'b co 'c 拷贝指定行 1)拷贝开始位置:ma2)拷贝结束位置:mb3)需要拷贝到位置:mc: 2,4 co 8 复制第 2--4 行,插入到第 8 行下面
    :'a 'b m 'c 剪切指定行

5、定位

  • 如果命令以冒号开头,进入 "低行模式",其他都是 "命令行模式"

    命令 描述
    :set nu 显示行号
    :set nonu 取消行号
    gg 到文本的第一行
    shift + g 到文本的最后一行
    :n 或 nG --20 shift+g 到文本的第 n 行
    ctrl + b 屏幕往 "后" 移动一页
    ctrl + f 屏幕往 "前" 移动一页

6、删除

  • 一般模式下操作

    命令 描述
    :set nu 显示行号
    :set nonu 取消行号
    gg 到文本的第一行
    shift + g 到文本的最后一行
    :n 或 nG --20 shift+g 到文本的第 n 行
    ctrl + b 屏幕往 "后" 移动一页
    ctrl + f 屏幕往 "前" 移动一页

7、替换和取消命令

  • 一般模式下

    命令 描述
    u undo,取消上一步操作
    Ctrl + r redo,返回到 undo 之前
    r 替换光标所在处的字符
    shift + r 从光标所在处开始替换,按 Esc 键结束

8、退出编辑

  • 进入 "行底模式" 操作

    命令 描述
    :q 退出 vi(没有做任何修改时)
    :q! 强制退出不保存
    :w 保存不退出
    :wq 保存后退出

9、rpm 安装

命令 描述 语法 介绍
rpm 安装 rpm 文件 -i 显示套件的相关信息
-v 显示指令执行过程
-h 套件安装时列出标记
-U 升级指定的套件档
-e 删除指定的套件
--nodeps 不验证套件档的相互关联性
-q 使用询问模式
-a 查询所有套件

10、权限管理

  • 需求:修改 /root/itcast 文件夹的权限

  • 命令

    1)chmod (change mode) 功能:变更文件或目录的权限。

    语法:chmod [参数] [< 权限范围 >< 符号 >< 权限代号 >]

    -R 或 --recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

    • 权限范围的表示法如下:

      u:User,即文件或目录的拥有者。

      g:Group,即文件或目录的所属群组。

      o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。

      a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

    • 符号:

      • 添加权限
      • 取消权限

      = 重写分配权限

    • 有关权限代号的部分,列表于下:

      r:读取权限,数字代号为 "4"。

      w:写入权限,数字代号为 "2"。

      x:执行或切换权限,数字代号为 "1"。

      -:不具任何权限,数字代号为 "0"。

    • linux 权限格式:<类型>< 用户 >< 组 >< 其他用户 >

  • 授权操作结论

    • 没有权限:chmod 000 ./abc

    • 所有权限:chmod 777 ./abc

相关推荐
Ambition_LAO6 分钟前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu722 分钟前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我23 分钟前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、24 分钟前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程25 分钟前
Linux中环境变量
linux
挥剑决浮云 -1 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学2 小时前
CentOS 7文件系统
linux·运维·centos
x晕x3 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器
活跃的煤矿打工人3 小时前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
fasewer4 小时前
第五章 linux实战-挖矿 二
linux·运维·服务器