首页 > 系统相关 >Linux-vi/vim编辑器

Linux-vi/vim编辑器

时间:2023-03-02 18:46:25浏览次数:42  
标签:字符 vi 所在 游标 一行 vim Linux 光标

vim

开始是命令模式
1) i,a,o进入输入模式,ESC 回到命令模式
2) :进入底线命令模式,回车结束运行
最后输入 :wq 储存后离开 vi

如建立文件 vim wenyu.txt
直接输入 vi 文件名 就能够进入 vi 的一般模式。vi 后面一定要加文件名,不管该文件存在与否!

1. 一般模式

1.1 移动光标

可以用数字+动作

  • ctrl+f==pagedown 向下翻页
  • ctrl+b==pageup 向上翻页
  • ctrl+d 向下翻半页
  • ctrl+u 向上翻半页
  • + 光标移动到非空格符的下一行
  • - 光标移动到非空格符的上一行
  • H 移动到屏幕的最上方那一行的第一个字符
  • M 移动到屏幕的中央那行的第一个字符
  • L 光标移动到屏幕的最下一行的第一个字符
  • G 移动到这个档案的最后一行
  • nG 移动到这个档案的第 n 行
  • gg 移动到这个档案的第 1 行
  • n后space,先输入数字n再空格键,光标会向右移动这一行的 n 个字符
  • n后enter 光标会向下移动 n 行
  • 0或Home键 移动到这一行的最前面字符处
  • $或End 移动到这一行的最后面字符处
搜索替换
  • /word 向光标之下寻找一个名称为 word 的字符串
  • ?word 向光标之上寻找一个字符串名称为 word 的字符串
  • n 重复前一个搜寻的动作
  • N 与 n 刚好相反,为『反向』进行前一个搜寻动作
  • :n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 并取代为 word2
  • :1,$s/word1/word2/g 或 :%s/word1/word2/g 从第一行到最后一行
  • :1,$s/word1/word2/gc 或 :%s/word1/word2/gc 在取代前显示提示字符给用户确认 (confirm) 是否需要取代
删除 复制 粘贴
  • x =delete向后删除一个字符 ,X =backspace为向前删除一个字符
  • nx 连续向后删除 n 个字符
  • dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。
  • ndd 剪切光标所在的向下 n 行
  • d1G 删除光标所在到第一行的所有数据
  • dG 删除光标所在到最后一行的所有数据
  • d$ 删除游标所在处,到该行的最后一个字符
  • d0 删除游标所在处,到该行的最前面一个字符
  • yy 复制游标所在的那一行
  • nyy 复制光标所在的向下 n 行
  • y1G 复制游标所在行到第一行的所有数据
  • yG 复制游标所在行到最后一行的所有数据
  • y$ 复制光标所在的那个字符到该行行尾的所有数据
  • p,P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行
  • J 将光标所在行与下一行的数据结合成同一行
  • c 重复删除多个数据
  • u 复原前一个动作
  • ctrl+r 重做上一个动作
  • . 重复前一个动作

2. 切换到编辑模式

字符按键+shift 输入字符
回车键换行
del 删除后一个字符
HOME/END 移动光标到行首/行尾
page up/down 上下翻页
insert 切换输入、替换模式
esc退出

  • i,I i为从目前光标所在处输入, I 在目前所在行的第一个非空格符处开始输入
  • a,A a 从目前光标所在的下一个字符处开始输入, A 从光标所在行的最后一个字符处开始输入
  • o,O o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行
  • r,R r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;

3. 切换到指令行模式

:进入底线命令模式,
!常有强制的意思

  • :w 写入
  • :w! 文件只读时强制写入,需要权限
  • :q 离开vi
  • :q! 离开且不保存
  • wq 保存后离开,wq!强制保存离开
  • ZZ 保存退出
  • ZQ 不保存退出
  • :w [filename] 另存为
  • :r [filename] 读入另一个文件,内容加到游标所在行后面
  • :n1,n2 w [filename] 将 n1 到 n2 的内容写入 filename
  • :! command 暂时离开 vi 到指令行模式下执行 command 的显示结果

vim 环境的变更

  • :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
  • :set nonu 与 set nu 相反,为取消行号

标签:字符,vi,所在,游标,一行,vim,Linux,光标
From: https://www.cnblogs.com/dzw9/p/17172297.html

相关文章

  • Code Review在TDSQL-C 的应用实践
    1.1为什么重视CodeReview?结合下面这个例子,我们来谈谈为什么要重视codereview。假设你作为新人刚入职,领导分配了一个需求,于是接下来做了下面这些事:为了完成任务疯狂......
  • XView 架构升级之路
    作者:京东零售胡本奎一背景1是什么XView是一个透明的塑料袋(容器),基于通用的webview框架改造而来,通常用于大促弹窗等营销场景,展现形式如下图:2痛点在实际的开发使用......
  • windows 使用 supervisor
    安装pip包playwright_spider.py生成主conf文件2.1 在对应的python环境的Scripts下,使用echo_supervisord_conf.exe>supervisord.conf,可以指定路径,不指定则生成在该......
  • Linux操作命令(九)1.comm命令 2.diff命令 3.patch命令
    1、comm命令比较文本文件的内容comm命令将逐行比较已经排序的两个文件。显示结果包括3列:第1列为只在第一个文件中找到的行,第2列为只在第二个文件中找到的行,第3......
  • linux服务器不能使用cuda解决方案之一
    现状:使用conda安装pytorch,安装成功后,使用torch.cuda.is_available()返回False解决方法:使用pip安装#CUDA11.3pipinstalltorch==1.12.0+cu113torchvision==0.13.0......
  • 【Linux SPI】RFID RC522 设备驱动
    一、概述MFRC522支持SPI、I2C、UART接口,我在某宝上购买了一个SPI接口的RC522模块。此笔记主要要是通过RC522模块学习linux中的SPI驱动,方便今后写其他SPI驱......
  • linux之cmake
    ##################################     cmake本身不提供任何搜索库的便捷方法,所有搜索库并给变量赋值的操作必须由cmake代码完成include_directories是用来......
  • Viewer.js实现移动端图片预览,旋转
    1、安装npminstallv-viewer--save2、main.js中引入importViewerfrom'v-viewer'import'viewerjs/dist/viewer.css'//如果需要修改viewer的css可以创建一个css......
  • 手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集
    (文章目录)前言今天我们一起来使用LabVIEWAI视觉工具包快速实现图像的读取与颜色空间转换、从摄像头采集图像。工具包的安装与下载方法可见之前的两篇博客。一、工具包......
  • 使用Visual studio 2022 工具的项目生成不同目标平台的总结
    前几天用visualstudio2022开发了一个桌面应用程序 结果出现了如下错误,“未能加载文件或程序集或它的某一个依赖项,试图加载格式不正确的的程序”  事出必有因!!! ......