10:编辑器之神——Vim-步入Linux的现代方法

2023-05-16

目录

    • 附上:vi/vim键盘图
    • 10.1 编辑器简单介绍:vim编辑器之神; emac神之编辑器
    • 10.2 vim的简单使用方式
    • 10.3 移动光标
    • 10.4 翻页
    • 10.5 不同方式编辑文本、跳跃单词操作技巧
    • 10.6 跳跃行首行尾技巧
    • 10.7 大括号跳跃函数段落技巧
    • 10.8 vim复制剪切粘贴
    • 10.9 Visual可视化模式
    • 10.10 视图模式其它技巧
    • 10.11 查找和替换
    • 10.12 vim的基础配置

附上:vi/vim键盘图

在这里插入图片描述

10.1 编辑器简单介绍:vim编辑器之神; emac神之编辑器

  • emacs-神之编辑器
  • vim-编辑器之神
  • Vim是从 vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器
  • vi 编辑器通常被简称为 vi,而 vi 又是 visual editor 的简称 。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的
  • Vim 是 vi 的加强版,比 vi 更容易使用。vi 的命令几乎全部都可以在 vim 上

10.2 vim的简单使用方式

  • 安装vim
  • sudo apt install vim

vim工作模式,国外一般认为两种模式

  • 普通模式(命令操作模式):操作文件
  • 插入模式:编辑
  • 编辑模式到普通模式:ESC

国内一般认为三种模式

  • 一般命令模式:简称一般模式,也是最先进入的工作模式,输入vi +文件名可直接进入一般命令模式,在此模式下可进行文本内容的查看、复制、删除、替换等功 能。当不能输入相关文本内容

  • 编辑模式:在一般模式下,输入 i 或 o 或 a 进入编辑模式,在此模式下可输入文本内 容。当输入 i 时,工作界面如图所示,只有此时状态才可以输入文件内容。输 入完成后,可单击 ESC 键退出编辑状态,进入一般模式

  • 命令行模式:在一般模式下,输入:或/或?进入命令行模式,在此模式下可输入相关命令当输入:wq 此时命令表示保存退出命令,单击回车键,自动保存文件,并退 出 vi 编辑器或者单击 ESC 键,重新返回一般模式

三种工作模式关系如图所示

在这里插入图片描述

vim 编辑器的退出,一般分三种情况

  • :q 表示不保存退出
  • :wq 保存退出
  • :q!强制退出,此时也不保存文件

10.3 移动光标

  • 上:k
  • 下:j
  • 左:h
  • 右:l
  • 下一行:b
  • 上一行:w
  • 查找上一处字符:N
  • 查找下一处字符:n

10.4 翻页

  • 上翻页(BACKWARD):ctrl+B
  • 下翻页(FORWARD):ctrl+F
  • 上滚:ctrl+E
  • 下滚:ctrl+Y
  • 移动到最后一行:G 或者shift+g
  • 移动到第一行:gg

10.5 不同方式编辑文本、跳跃单词操作技巧

  • i光标位置的前面插入
  • a 光标位置后面的插入
  • o 直接enter到下一行
  • x 删除光标所在字符
  • dd 删除整个一行
  • u 撤销
  • dw 移除当前所在光标往后到单词
  • b 跳跃单词首字母
  • e 跳跃单词最后
  • w 跳跃单词 先跳跃到单词首字母,然后跳跃到单词最后
  • shift+w ;shift+b大跳

10.6 跳跃行首行尾技巧

  • shift+6 或者0 跳跃到本行到开头
  • shift+4 跳跃到本行末尾

10.7 大括号跳跃函数段落技巧

  • {}跳跃大括号

10.8 vim复制剪切粘贴

  • p粘贴
  • yw复制一个单词
  • y$ 从当前开始往后复制到行末尾

10.9 Visual可视化模式

  • v 选择文本
  • V 选择行
  • v G 全选
  • ctrl+v矩阵选择
  • o切换文本首尾
  • vaw快速选择单词
  • vab包括括号
  • vaB包括大括号
  • va< 包括尖括号

10.10 视图模式其它技巧

  • v shift+<往左缩进
  • v shift+>往右缩进
  • shift+~或者shift+u shift+U大小写转换

10.11 查找和替换

  • 查找 /
  • 按n查找下一个
  • :s /const/let/g 一行const替换成let
  • :%s /const/let/g 所有const替换成let
  • set number 临时显示行号
  • :9,15s /const/let/g 9-15行const替换成let
  • :%s /const/let/gc 有提示的替换

10.12 vim的基础配置

  • touch .vimrc
  • vim .vimrc

将以下代码写入.vimrc

set syntax=on
set tabstop=4
set softtabstop=4
set number
set enc=utf-8
set showmatch
  • source .vimrc

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

10:编辑器之神——Vim-步入Linux的现代方法 的相关文章

  • c语言枚举类型

    定义 在c语言中 xff0c 枚举类型定义用关键字enum标识 xff0c 形式为 xff1a enum 名字 枚举数据表 xff08 用 xff0c 隔开 xff09 xff1b 注意 xff1a xff08 1 xff09 enum是关
  • 交换机二三层协议及其详细解答

    交换机二三层协议及其详细解答 概述二层协议三层协议以太网协议示例代码 CSMA CD协议示例代码 IP协议示例代码 概述 交换机是网络设备的一种 xff0c 主要用于连接多个网络设备 xff0c 以实现网络通信和数据传输 交换机的协议分为两
  • C++ MVC模式

    概述 C 43 43 是一种流行的编程语言 xff0c 它可以用于构建各种类型的应用程序 xff0c 包括Web应用程序 桌面应用程序和移动应用程序 在这里 xff0c 我将为您介绍C 43 43 中的MVC模式 xff0c 以及如何在C
  • C++ 线程操作

    C 43 43 线程操作 概述 线程是 Linux 操作系统中的一种轻量级进程 xff0c 用于实现并发执行 线程可以共享进程的资源 xff0c 包括内存 文件句柄等 在 C 43 43 中 xff0c 线程操作由标准库提供支持 xff0c
  • QT常用类型字节数组QByteArray及其基本使用

    目录 概述特点常见函数QByteArray append xff1a QByteArray insert xff1a QByteArray replace xff1a QByteArray remove xff1a QByteArray t
  • QT图像处理类QImage常见使用方法

    目录 概述加载和保存图像图像缩放和旋转图像灰度化QImage convertToFormat 图像二值化threshold 函数 loadFromData 从内存加载图像拓展 概述 Qt 是一个跨平台的 C 43 43 库 xff0c 提供
  • pytorch卷积神经网络中间特征层可视化

    前言 在我们使用神经网络的过程中 xff0c 经常会好奇中间的网络到底学到了些什么 xff0c 所以常常想用可视化的方法来输出这些特征层 xff0c 所以惊天带大家用一个简易的网络来输出这些特征层 搭建网络 span class token
  • C++11 lambda表达式在回调函数中的使用

    C 43 43 11 lambda表达式在回调函数中的使用 一 lambda表达式在C 43 43 异步框架中的应用1 一个boost asio的例子2 C 43 43 http框架cutelyst在异步执行PostgreSQL数据库sql
  • MySQL知识点总结(一)

    文章目录 前言最左前缀匹配规则Mysql中sql语句执行太慢 xff0c 是什么原因 xff0c 怎么解决 xff0c 用什么命令查看如何查看是否用到索引为啥加了索引会变快判断是否走联合索引总结 前言 本文来介绍数据库啦 最左前缀匹配规则
  • 基于 NCC/灰度信息 的模板匹配算法(QT + Opencv + C++),10ms内获取匹配结果,部分源码

    文后代码 xff0c 优化效果图结尾处 xff0c 最快3ms得到匹配结果 NCC xff0c 全称为Normalized Cross Correlation xff0c 即归一化互相关系数 xff0c 在模板匹配中使用的非常非常广泛 xf
  • 网络应用基础 ——(2023新星计划文章二)

    一 xff0c TCP报头解析 数据打包与解析直观图 xff1a 1 0报文与报文字段 1 0 1 报文 报文是计算机网络中交换信息的基本单位 xff0c 是一种用于在网络中传递数据的结构化数据格式 在网络通信中 xff0c 数据会被封装成
  • ROS中工作空间和功能包的创建以及发布者Publisher的实现

    最近刚刚开始学习ROS xff0c 对于整个ROS的框架和功能正在一点点的了解 xff0c 跟着B站古月居的 ROS入门21讲 课程 xff0c 在安装好linux和ROS后 xff0c 正式开始ROS的学习 xff0c 动手实践敲代码 x
  • Failed to fetch https://mirrors.tuna.tsinghua.edu.cn/ubuntu//dists/bionic/main/binary-arm64/Packages

    在jeston nano执行 sudo apt update 的时候出现下列错误 xff1a Failed to fetch https mirrors tuna tsinghua edu cn ubuntu dists bionic ma
  • 场景设计法

    目录 一 场景设计法 1 理解 二 场景法的基本设计步骤 三 场景设计法需要掌握的基本知识 1 基本流和备选流 2 测试用例组成 四 优缺点 1 优点 2 缺点 五 使用场景 六 注意 七 实例 1 案例 2 分析需求 xff0c 确定基本
  • 【第一章】计算机网络知识点整理

    文章目录 第一章 概述1 1 计算机网络的定义及其特点1 定义2 计算机网络系统的组成3 功能4 七个典型特点 1 2 互联网概述1 internet 和 Internet 的区别2 互联网基础结构发展的三个阶段 1 3 互联网的组成一 边
  • C# 窗体应用常用基础控件讲解(萌新版)

    C 窗体应用常用基础控件讲解 xff08 适合萌新 xff09 前言 博主这篇文章主要讲解C 窗体应用的几个常用的控件 对新手很友好 xff0c 这几个控件在C 窗体应用中用的频率特别高 xff0c 如果你第一次学C 窗体应用 xff0c
  • 【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏)

    2022 12 20重制 xff0c 精简流程 xff0c 直接去掉网络问题 现成的虚拟机 为方便大家学习 xff0c 如果安装ROS遇到的问题实在太多 xff0c 也可以直接下载我提供给大家的 已经安装好ROS的Ubuntu虚拟机 xff
  • C++和C的区别

    问 xff1a 能说一下C 43 43 和C的区别吗 xff1f 参考 xff1a 可以从设计思想 语法以及内存管理这三方面来说 1 设计思想上 xff1a C 43 43 是面向对象的语言 xff0c 而C是面向过程的结构化编程语言 2
  • 中文分词之最短路径法和N最短路径

    考虑到汉语分词存在切分歧义消除和未登录词识别两个主要问题 xff0c 因此 xff0c 有专家将分词分成两个阶段 xff1a 1 用分词算法进行粗分2 对粗分的最好结果进行歧义消除和未登录词识别 最短路径法是一种自动分词的算法 它将一句话中
  • redis分布式锁的原子保证

    分布式锁的原子保证 背景提出 分布式锁的原子性还能得到保证吗 分布式锁的加锁与解锁命令是什么 所以核心问题到底是什么 客户端的一条命令是如何执行的呢 两个机制是在这个过程的什么阶段发货作用呢 会不会影响命令执行的原子性 IO 多路复用机制多

随机推荐

  • 机器学习 python

    1 用DecisionTreeRegressor 对波士顿房价进行预测 xff1a 1 导入数据 sklearn datasets load boston 2 数据拆分25 作为测试集 sklearn model selection tra
  • MTPuTTY配置ssh连接Gitlab

    目录 一 简介二 生成SSH 密钥三 GitLab添加公钥四 同步本地与原项目 一 简介 远程仓库是指托管在网络上的项目仓库 xff0c 现在互联网上有很多项目托管平台 GitLab是一个利用 Ruby on Rails开发的开源应用程序
  • 优化淘宝商品比价定向爬虫--爬虫的浏览器伪装

    目录 一 原代码问题二 淘宝Robots协议三 User Agent四 查找headers和cookie五 完整代码 一 原代码问题 爬取不到任何内容处理原因 xff1a 由于淘宝的设置 xff0c 虽然可以requests爬取页面内容 x
  • Python数据分析与展示

    目录 一 xff1a Python数据分析基础Anaconda IDE的基本使用方法1 Anaconda是一个集成各类Python工具的集成平台2 包管理和环境管理工具 xff1a conda3 编程工具 Spyder4 交互式编程环境 x
  • Matplotlib.pyplot绘图示例

    目录 一 基础图表函数概述二 饼图的绘制三 直方图的绘制四 极坐标的绘制五 散点图的绘制 一 基础图表函数概述 函数说明plt plot x y fmt 绘制一个坐标图plt boxplot data notch position 绘制一个
  • Visual Studio Code 安装教程附插件推荐

    目录 1 VSCode下载及安装1 1 下载1 2 安装1 3 界面介绍 2 编辑器常用功能2 1 基础编辑 Basic editing2 2 导航 Navigation2 3 搜索和替换 Search and replace2 4 多光标
  • B/S方向

    目录 1 软件架构B SC S 2 开发B S架构软件需要哪些人才 xff1f 3 前端准备4 前端HTMLCSSJavaScriptJS 框架css 框架Web开发 5 后端VMware 虚拟机Linux基础后端语言 xff1a Java
  • VS2019 添加bits/stdc++.h万能头文件库

    目录 一 bits stdc 43 43 h介绍二 为VS添加万能库1 正常情况无法引用stdc 43 43 h2 在安装目录下找到bits文件3 添加stdc 43 43 h源码方式 未安装mingw64情况方式 安装了mignw64情况
  • IDEA SpringBoot SQL连接常见五大异常处理

    项目 xff1a Springboot 43 mybatis 43 MySQL 一 no data sources are configured to run this sql and provide advanced code assis
  • yolo-v3和SSD的一些对比

    初步总结的SSD和yolo v3之间的一些区别 其中的一些概念还有待充分解释 SSDYOLOv3LossSoftmax lossLogistic lossFeature extractorVGG19Darknet 53Bounding Bo
  • git push error: failed to push some refs to异常处理

    目录 一 异常错误二 原因三 解决方法 一 异常错误 使用Github时 xff0c git push命令出现 error failed to push some refs to 39 git 64 github com xxxxx 39
  • 步入Linux的现代方法

    目录 0 xff1a Linux的初步认识 0 0 系统的认识 0 1 Linux操作系统认识 xff0c 以及开源的提出 xff1a Linux的千奇百怪的版本 0 2 开源的含义 0 3 Linux的用途 xff0c 各类发行版本 详见
  • 4:Bash shell命令-步入Linux的现代方法

    目录 4 1 CLI准备4 2 CLI Terminal4 3 搞定Linux命令参数 xff0c 得心应手使用各类命令 授之于渔 先拿ls开张4 4 Linux根目录 xff0c 它们和Windows有什么区别4 5 Linux根目录解析
  • 5:Shell+更上一层系统上的shell-步入Linux的现代方法

    目录 5 1 任务管理器5 2 ps和top命令5 3 kill命令5 4 挂载的含义5 5 mount5 5 挂载的意义 尝试使用U盘 xff1f 自动播放黑客恶意 xff1f 5 6 安卓设备连接挂载5 7 df和du5 8 sort命
  • 6:父子shell-步入Linux的现代方法

    目录 6 1 父子shell的概念6 2 分号在命令里有什么作用6 3 sleep和jobs6 4 后台6 5 coproc协程6 6 外部命令和内建命令6 7 alias别名6 8 章节结束语与经验 6 1 父子shell的概念 bash
  • 7:环境变量-步入Linux的现代方法

    目录 7 1 什么是环境变量 xff1f 到底高清楚 xff0c 彻底高清楚什么究竟是环境变量 xff01 xff01 xff01 xff01 xff01 7 2 全局环境变量和局部环境变量7 3 用户和局部变量的定义7 4 定义全局变量7
  • 8:PMS和软件安装的介绍-步入Linux的现代方法

    目录 8 1 PMS系统和软件安装的介绍8 2 安装 更新 卸载8 3 其他发行版本 xff1f 8 4 安装第三方软件案例 xff1a 例如github开源软件的指导 8 1 PMS系统和软件安装的介绍 PMS Package Manag
  • 9:用户和权限-步入Linux的现代方法

    目录 9 1 用户权限的含义和作用9 2 创建 删除 更改用户9 3 group9 4 文件 文件夹权限9 5 作业 xff1a 自学chmod命令9 6 章节结束语 9 1 用户权限的含义和作用 用户与权限不可能让所有人有所有的权限 不安
  • 11:Server-步入Linux的现代方法

    目录 11 1 Linux Server服务器说明11 2 后话11 3 SSH远程登录11 4 WSL提及 11 1 Linux Server服务器说明 详见 xff1a Ubuntu Server 20 04LTS下载及安装教程 11
  • 10:编辑器之神——Vim-步入Linux的现代方法

    目录 附上 xff1a vi vim键盘图10 1 编辑器简单介绍 xff1a vim编辑器之神 xff1b emac神之编辑器10 2 vim的简单使用方式10 3 移动光标10 4 翻页10 5 不同方式编辑文本 跳跃单词操作技巧10