码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux——vi编辑器


    目录

    一、基本简介

    二、命令模式下的常用按键

    1、光标跳转按键

    2、复制、粘贴、删除

    三、编辑模式

    四、末行模式

    1、查找关键字并替换

    2、保存退出

    3、其他操作

    五、模式切换


    一、基本简介

    1、最早可追随到1991年,全称为“Vi IMproved”

    2、模式

            ——命令模式

            ——末行模式

            ——编辑模式

    3、使用vi/vim命令编辑文件

            ——在每次运行vim编辑器时,默认进入命令模式

            格式:vim 文件

    二、命令模式下的常用按键

    1、光标跳转按键

    功能按键
    光标按单个字符移动↑、↓、←、→
    光标按照单词向后跳转w
    光标按照单词向前跳转b
    光标跳转至行首^
    光标跳转至行尾$
    文档首行第一个字符gg
    文档最后一行第一个字符G
    跳转至指定行行号gg 或者 行号G

    2、复制、粘贴、删除

    功能按键
    删除光标所在行dd
    删除从光标处开始的n行ndd
    删除光标前至行首字符d^
    删除光标及之后的所有字符d$
    复制光标所在行yy
    复制从光标处开始的n行nyy
    将缓冲区的内容粘贴到光标所在行的下一行p
    将缓冲区的内容粘贴到光标所在行的上一行P
    撤销操作u

    三、编辑模式

    功能按键
    在光标前插入i
    在光标所在行行首第一个非空字符前插入I
    在光标后插入a
    在光标所在行末尾插入A
    在光标所在行上一行插入O
    在光标所在行下一行插入o
    删除光标所在字符并进入插入模式s
    删除当前行并进入插入模式S

    四、末行模式

    ——按:或者 / 可从命令模式切换到末行模式

    ——按esc键可从末行模式切换到命令模式

    1、查找关键字并替换

    功能按键
    从上而下在文件中查找字符串“word”(可按n键定位到下一个匹配的被查找 字符串)/word
    将当前行中查找到的第一个字符“old”替换为“new”:s /old/new
    将当前行中查找到的所有字符“old”替换为“new”:s /old/new/g
    在行号“n1,n2”范围内替换所有的字符串“old”为“new”:n1,n2 s/old/new/g
    将整个文件内的字符串“old”替换为“new”:% s/old/new/g

    2、保存退出

    功能按键
    退出vi/vim编辑器,未对文件做任何编译操作才可退出:q
    不保存文档内容,强制退出vi/vim编辑器:q!
    保存文件:w
    将文件另存为/dir/file:w /dir/file
    保存文件内容并退出vi/vim编辑器:wq 或者 zz
    强制保存并退出:wq!

    3、其他操作

    功能按键
    在当前文件中读入其他文件内容:r /dir/file
    查找含有“word”的行并删除:g/word/d
    显示行号:set nu
    关闭行号显示:set nonu
    删除n1-n2行内容:n1,n2 d
    复制n1-n2行到第n行后面:n1,n2 co n

    五、模式切换

  • 相关阅读:
    【Rust 笔记】17-并发(下)
    ubuntu20.04配置vscode
    opengl 源码分析常见问题
    大模型时代的科研人员的思考
    Greenplum高可用-从失效segment恢复
    PostgreSQL 时区问题
    【牛客 - 剑指offer】JZ50 第一个只出现一次的字符 Java实现
    程序化交易接口有哪些类型策略?
    2、Redis中简单动态字符串的简介,也就是Redis中的键和值的字符串底层表达
    瑞吉外卖实战项目全攻略——第二天
  • 原文地址:https://blog.csdn.net/weixin_68256171/article/details/132948779
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号