Linux下VIM编辑器的详细使用

2023-10-26

1、VI编辑器的启动与退出
#vi file1 新建一个文本文件为file1
~
~
:q! 在末行模式下退出

2、文本的操作
~
:e! file1 在当前文件下编辑新的文件
:r /etc/passwd 实现文件的读入功能
:wq 保持并退出
:q! 强行退出

3、光标移动操作
 
3.1、光标移动操作(命令模式下)
h--向左移动光标
l--向右移动光标
k--向上移动光标
j--向下移动光标
 
3.2、翻页移动(命令模式下)
Ctril+F向前翻整页
Ctril+B向后翻整页
Ctril+U向前翻半页
Ctril+D向后翻半页
 
3.3、行内快速跳转(命令模式下)
^ 将光标快速跳转到本行的首行字符
$ 将光标快速跳转到本行的行尾字符
nw 将光标快速跳转到当前光标所在位置的后n个单词的首字母
nb 将光标快速跳转到当前光标所在位置的前n个单词的首字母
nc 将光标快速跳转到当前光标所在位置的后n个单词的尾字母
 
3.4、文件内行间快速跳转
:set nu 显示行号
:set nonu 取消显示行号

4、编辑操作
 
4.1进入输入模式(在命令模式下)
i  在当前光标处进入插入状态
cw 删除当前光标所在单词尾部的字符,并进入插入状态
c$ 删除当期光标到行尾的字符,并进入插入状态
c^ 删除当前光标到行尾的字符,并进入插入状态
 
4.2、输入模式的操作
使用上下左右方向键进行光标移动
Home和End  快速定位光标到行首和行尾
Page Up和Page Down 进行文本的上下翻页
Backspace 删除光标左侧字符
Delect 删除光标位置的字符
 
4.3、删除操作
x 删除光标处的单个字符
dd 删除光标所在的行
dw 删除当前字符到单词尾的所有字符
d$ 删除当前字符到行尾的所有字符
d^ 删除当前字符到行首的所有字符
J 合并当前行和下一行的内容
 
4.4、撤销操作
u 取消最近一次的操作
U 取消当前行进行的所有操作
Ctrl+R 对使用u命令撤销的操作进行恢复
 
4.5、复制操作
yy 复制当前正行内容到VI缓冲区
yw 复制当前光标到单词尾部字符的内容到VI缓冲区
y$ 复制当前光标到行尾的内容到VI缓冲区
y^ 复制当前光标到行首的内容到VI缓冲区
:m,ny 复制第m行到第n行之间的文本到VI缓冲区
 
4.6、粘贴操作
p 读取VI缓冲区到当前光标所在位置

#############

进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)
移动光标上移或者下移,选中多行的开头
选择完毕后,按大写的的I键,此时下方会提示进入“insert”模式,输入你要插入的注释符,例如#,
最后按ESC键,你就会发现多行代码已经被注释了


删除多行注释的方法,同样 Ctrl+v 进入列选择模式,移到光标把注释符选中,按下d,注释就被删除了。
END


使用替换命令
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释

 
5、查找和替换操作
 
5.1、自上而下的查找操作
:/word 查找与word匹配的字符串
n 查找下一个匹配的字符串
N 反向查找下一个匹配的字符串
 
5.2、自下而上的查找操作
?word 查找与word匹配的字符串
n 查找下一个匹配的字符串
N 反向查找下一个匹配的字符串
 
5.3、替换操作
:s/old/new 替换当前行的第一个字符old为字符new
:s/old/new/g 替换当前行的所有字符old为字符new
:m,ns/old/new/g 替换当前行号m到行号n的所有字符old为字符new
:%s/old/new/g 替换整个文本的所有字符old为字符new
 
5.7、使用替换的确认功能
:s/old/new/c 替换当前行的第一个字符old为字符new并提示用户确认操作
:s/old/new/gc 替换当前行的所有字符old为字符new并提示用户确认操作
:m,ns/old/new/gc 替换当前行号m到行号n的所有字符old为字符new并提示用户确认操作
:%s/old/new/gc 替换整个文本的所有字符old为字符new并提示用户确认操作

6、VI编辑器的在线帮助
:help 查看VI帮助信息

本文出自 “www.kisspuppet.com” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/159336
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下VIM编辑器的详细使用 的相关文章

  • Linux-VI和VIM

    目录 VI的使用 VI的三种模式 进入VI 切换至插入模式 Insert mode 编辑文件 Insert 的切换 退出VI及保存文件 搜索 快捷删除 光标定位到最后一行 VIM查找字符串 全匹配 模糊匹配 正则表达式 快速查找 VI的使用
  • 如何在 Vim 中保存并退出

    VIM 是 Vi 改进版的缩写形式 它是一个免费的开源文本编辑器 可以安装在任何操作系统上 无论是 Windows 还是 Linux 操作系统 它可以在 CMD 命令行 模式以及 GUI 图形用户界面 模式下使用 它使用起来非常灵活和可靠
  • linux常见面试题

    1 连接linux服务器工具有哪些 SecureCRSecureFX 最好 RealVNC SSHClient putty 比较 SecureCRSecureFX 可以文件传输 可使用命令行 设置字符编码 可开启多个 SSH Client
  • 在可视模式下将数据粘贴到行首

    我可以使用选择行SHIFT V 然后使用上下左右键选择行 然后使用复制它们y 猛拉它们 并使用粘贴它们p put 我可以类似地使用选择数据块CTRL V 然后使用上下左右键选择行 然后使用复制它们y 猛拉它们 并使用粘贴它们p put 但是
  • Vim 中 Tab 键 == 4 个空格并在大括号后自动缩进

    我该如何制作vi Vim永远不要使用制表符 将空格转换为制表符 不好 使制表符键 4 个空格 并在大括号块后自动缩进代码 例如Emacs does 另外 如何保存这些设置 这样我就不必再次输入它们 我见过与此相关的其他问题 但它似乎总是与我
  • 在 R 上时 vi 模式到 emacs 模式

    有时 在 R 控制台上 我不小心输入了未知的键盘快捷键 该快捷键将编辑模式从 emacs 更改为 vi 有谁知道从一个键更改为另一个键的组合键通常是什么 我在 Fedora 16 机器上 我查了这方面的信息question https st
  • 在 vi 中重复导航命令

    如何在 vi 中重复导航命令 例如我执行命令20j它将光标向下移动 20 行 我尝试点击 重复该命令 但它说 没有可重复的命令 附 另外 什么命令会转到文档的下一页 没有重复上一个导航命令的快捷方式 您必须重新输入它 或者设置您自己的某种快
  • 如何在vim中编辑_wimrc以使用firefox打开html文件?

    I am learning html want to edit a html file in vim when i finished the html file press F4 to run it with firefox or chro
  • 如何将vi中的代码复制到剪贴板

    我知道如何在VI中复制 但我未能将其复制到其他应用程序中 这意味着我未能将它们复制到剪贴板中 我怎样才能做到这一点 附 以便更加倾斜 我还想问如何将剪贴板中的内容复制到vi 编辑 我正在使用 MacO 运行 Vim 看来 yy 在这里不起作
  • 强制 Vi/Vim 仅在重新制表时使用前导制表符!

    有没有办法强制vim使用制表符进行初始缩进 但是在运行重新制表符时 命令不使用制表符替换内部字间距 根据我的经验 最好的方法是使用自定义函数 Retab spaced file but only indentation command Re
  • 如何在 vi 编辑器中向左移动一个单词

    I use the shortcut w to move the cursor one word right Is there a shortcut to move a word left Use b to move back one wo
  • zsh vi 模式状态行

    zsh 或 bash 有没有办法获得状态行 例如在 VI 中 它会让您知道您处于插入模式 插入 是否有等效的命令行 这已经在以下位置得到了回答超级用户 https superuser com questions 151803 how do
  • 如何在 VI 中整理 HTML 文件的缩进?

    我该如何修复他巨大的html文件的缩进 这些文件都乱七八糟的 我尝试了平常的 gg G command https stackoverflow com questions 506075 how do i fix the indentatio
  • Vim 中是否可以实现所谓的“无干扰模式”?

    只是好奇 有点像编辑的 无干扰模式 崇高的文字 http www sublimetext com blog articles distraction free editing 是否可以将所有文本质心到视场的中间 使用宽屏显示器在全屏模式下盯
  • 使用 Vim 最高效的快捷方式是什么?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我听说过很多关于Vim http www vim org 有利有弊 看来你 作为开发人员 使用
  • bash / cli 中的视觉选择

    有没有办法制作bash use 视觉选择 for 文本替换 标准文本输入约定不起作用 如果按 Shift 向左箭头 则应在视觉上选择左侧的字符 如果按 Ctrl 向左箭头 光标应移动到上一个单词的开头 如果按 Shift Ctrl 向左箭头
  • 在 shell 脚本中执行 Vim 命令

    我正在编写一个 Bash 脚本 该脚本运行命令行程序 Gromacs 保存结果 修改输入文件 然后再次循环该过程 我正在尝试使用 Vim 修改输入文本文件 但在打开输入文件后 我无法找到从 sh 文件执行内部 Vim 命令的方法 例如 12
  • Vim - 删除多行中的直到(包括)字符

    我有这个代码 def foo c Char c match case a B 我的光标位于后面的空格上 我想删除所有内容 直到 包括 我怎样才能做到这一点 我可以在光标位于第一行任意位置时执行相同操作吗 块中的任何位置 并将光标放在 d e
  • 文件保存期间语法突出显示随机消失

    我正在使用 vim 编辑一些 python 文件 最近偶尔会出现在 vim 中保存缓冲区后语法高亮消失的情况 我尝试重置syntax on and set filetype python但无济于事 我根本不知道是什么原因导致了这个问题 所以
  • adb shell:无法使用 ESCAPE 键

    I want to use vi when running adb shell Starting vi is easy However I found that the ESC key doesn t seem to get through

随机推荐

  • 修改覆铜形状

    作者还拥有个人公众号 会写一些感悟文章 知圈 二维码如下 欢迎扫描关注 关注后有作者微信 欢迎添加交流 先选中需要修改的内电层 一般是GND或者Power 然后选择shape里面的选择 如下图 然后选要修改的形状 会在边角出现小方框 拖动就
  • Linux操作系统——文件I/O相关函数

    文章目录 前言 一 文件I O的相关函数 1 open函数 创建或打开文件 2 close函数 关闭被打开的文件 3 read函数 从文件中读取数据存放到缓存区中 4 write函数 将数据写入文件中 5 lseek函数 更改文件读写位置
  • java:错误: 无法从静态上下文中引用非静态 变量 XXX。

    我们平时编译的时候可能会遇到这样的错误 我们写的是这样一个代码 class Person String name public static void show System out println name haha class a pu
  • Hive调用python脚本实现数据清洗、统计过程

    Hive的 TRANSFORM 关键字提供了在SQL中调用自写脚本的功能 本实例通过python脚本对电影数据进行清洗 帮助读者了解hive调用python脚本的整个流程 操作步骤 1 创建基表 CREATE TABLE u data us
  • 异步GET请求方法

    同步请求的用户体验不是很好 因此很多情况下我们会采用异步调用 iOS SDK也提供了异步请求的方法 而异步请求会 使用NSURLConnection委托协议NSURLConnectionDelegate 在请求的不同阶段 会回调委托 对象的
  • CVE-2021-35464: ForgeRock AM远程代码执行漏洞通告

    报告编号 B6 2021 063002 报告来源 360CERT 报告作者 360CERT 更新日期 2021 06 30 0x01 漏洞简述 2021年06月30日 360CERT监测发现portswigger发布了ForgeRock A
  • python中一些写法实例和小练习

    1 用户输入一个数字 并计算这个数字的平方根 关键 使用指数运算符 来计算该数的平方根 该程序只适用于正数 负数和复数可以使用以下的方式 说明 在使用print函数输出时 也可以对字符串内容进行格式化处理 上面print函数中的字符串 1
  • 深度卷积神经网络在目标检测中的进展

    作者 travelsea 链接 https zhuanlan zhihu com p 22045213 来源 知乎 近些年来 深度卷积神经网络 DCNN 在图像分类和识别上取得了很显著的提高 回顾从2014到2016这两年多的时间 先后涌现
  • 【无标题】

    1 直达软件 由直达国际的子公司上海直达软件有限公司出品 提供期货交易全套解决方案的专业软件 全球化交易平台 结算系统 风险管理平台及程序化交易等产品 为公司客户提供稳定 快速的交易系统 2 易盛极星 易盛极星 是由郑州商品交易所的全资子公
  • BigDecimal 如何在一个区间的比较

    BigDecimal 如何在一个区间的比较 背景 由于BigDecimal 的精度比较高 在计算的时候有时候存入数据库的时候会进行四舍五入 会对后面的结果判断存在误差 所以比较的结果会在一个区间的 public static boolean
  • vim编辑文件使用案例

    1 前置知识点了解 操作流程 编辑文件指令 vim 文件名 点击键盘 i 键 模式由默认的 命令模式 变成 插入模式 编辑文件内容 完成后点击键盘 Esc 键 模式由 插入模式 变成 命令模式 同时点击键盘 shift 键 模式由 命令模式
  • python接口自动化(四)--接口测试工具介绍(详解)

    简介 工欲善其事必先利其器 通过前边几篇文章的介绍 大家大致对接口有了进一步的认识 那么接下来让我们看看接口测试的工具有哪些 目前 市场上有很多支持接口测试的工具 利用工具进行接口测试 能够提供测试效率 例如 假 入让你一天完成100个接口
  • docker-compose常见问题

    一 新版本网络桥接 问题 docker errors InvalidArgument host network mode is incompatible with port 1 24 0以前可以network mode host和ports
  • Python List 按照多个关键字排序

    最近刷刷题遇到的 发现还没有一模一样的答案 自己做个解答 以列表有两列为例 我们需要按照两列排序 可以利用sorted和lambda组合 l a 2 c 1 d 4 b 2 sorted l key lambda x x 1 x 0 rev
  • 小程序实现h5页面的微信支付php,微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析...

    前言 小程序支持webview以后 我们开发的好多h5页面 就可以直接在小程序里使用了 比如我们开发的微信商城 文章详情页 商品详情页 就可以开发一套 多处使用了 我们今天来讲一讲 在小程序的webview里实现微信支付功能 因为微信不允许
  • 面向对象、面向过程的思考

    把问题和答案记下来 过段时间再自己回答 几 次 2014年04月30号 师傅 思考一个问题 面向对象编程 和 面向过程编程 两类型的语言又什么区别 我 面向对象编程 最大的感觉就是分工的明确 从小的方面来说 就是把程序里面的一个个对象 类
  • 解剖上海交大女生无耻言论:只嫁外国人?

    上海交大MM的不嫁中国男人自白书原文 我是上海交大的一名女大学生 我第一次发帖子 写的不好 请大家表笑偶 每个人都有人生理想 有的人想成为英雄 有人的想成为富翁 有的人渴望成为领袖 我呢 人生最大的愿望就是嫁给一个西方男人 有人会说我很庸俗
  • 重定向与请求转发,以及它们之间的区别

    重定向 在某些情况下 针对客户端的请求 一个Servlet类可能无法完成全部工作 这时 可以使用请求重定向来完成 所谓请求重定向 是指Web服务器接收到客户端的请求后 可能由于某些条件限制 不能访问当前请求URL所指向的Web资源 而是指定
  • 高效管理之团队梯度建设

    经常听人讲 我们要建设高效的团队 如何提高团队的执行效率等等 空谈效率没有意义 这篇文章结合作者自身的经历 谈谈梯度团队是什么样子的 为什么一个有梯度的团队是高效的 以及在管理中如何建设这样的团队 梯度团队介绍 下图是我经历的一家中型互联网
  • Linux下VIM编辑器的详细使用

    1 VI编辑器的启动与退出 vi file1 新建一个文本文件为file1 q 在末行模式下退出 2 文本的操作 e file1 在当前文件下编辑新的文件 r etc passwd 实现文件的读入功能 wq 保持并退出 q 强行退出 3 光