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

相关推荐
pk_xz1234561 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面5 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq6 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮7 小时前
Linux 使用中的问题
linux·运维
dsywws8 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零9 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程10 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
程思扬11 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节