【vim编辑器】文本编辑器vim
在Linux系统中一切皆文件。配置一个服务就是在修改其配置文件的参数
一、Vim编辑器
vim是我们在Linux系统中常用的文件编辑命令,也可以使用其简写vi。其边际模式有三种:命令模式,输入模式,行末模式,。每个模式分别支持不通的操作命令。
命令模式:控制光标移动,可对文本进行复制、粘贴、删除、查找等工作。
输入模式:录入文本。
行末模式:保存或退出文档,及设置编辑环境。

每次进入命令模式,需切换到输入模式才能进行编辑。编辑完之后需要按ESC退回命令模式,从命令模式输入:进入行末模式进行文档的保存或退出操作
二、常用命令
2.1 vim常命令
| 命令 | 作用 |
| dd | 删除(剪切)光标所在整行 |
| ndd | 删除(剪切)从光标处指定n行 |
| yy | 复制光标所在整行 |
| nyy | 复制光标所在n行 |
| p | 将删除dd或复制yy的数据粘贴到光标后面 |
| n | 搜索时,按n健定位到下一个搜索条件的地方 |
| N | 搜索时,按N健定位到上一个搜索条件的地方 |
| u | 撤销上一次的修改 |
2.2 命令模式命令
| 光标移动 | |
| 命令 | 作用 |
| i,I |
i:定位光标所在处输入 I:定位光标所在行的第一个非空格符处开始输入(如果第一行前有空格弧自动定位到没有空格的字符处) |
| a,A |
a:定位光标所在行的第二个字符所在处输入 A:定位光标所在行末尾输入 |
| o,O |
o:定位光标所在行的下一行输入(即光标所在行后面一行) O:定位光标所在行的上一行输入(即光标所在行前面一行) |
| r,R |
r:取代光标所在处的字符一次 R:会一直取代光标所在处的字符。按ESC键退出 |
| h 或 左方向键 |
光标向左移动一个字符(如果想进行多次移动,可以使用nh或n方向键) |
| j 或 下方向键 |
光标向下移动一行 |
| k 或 上方向键 |
光标向上移动一行 |
| l 或 右方向键 |
光标向右移动一个字符 |
| H |
光标移动到屏幕最上行的第一个字符处 |
| M |
光标移动到屏幕中间的第一个字符处 |
| L |
光标移动到屏幕最下行的第一个字符处 |
| [Ctrl] + f |
向下移动一页,相当于PgDown |
| [Ctrl] +b | 向上移动一页,相当于Pgup |
| [Ctrl] +d | 向下移动半页 |
| [Ctrl] +u | 向上移动半页 |
| 0 或 Home键 | 光标移动到该行最前面 |
| shift+$或End键 | 光标移动到该行最后面 |
| n<space> | 光标移动到该行的n个字符处 |
| n<Enter> | 光标向下移动到n行 |
| G | 光标移动到文件最后一行 |
| nG | 光标移动等到文件n行。可配合:set nu 一起使用 |
| gg | 光标移动到第一行。相当于1G |
| 搜索替换 | |
| /keyword | 向光标之下查找名称为keywork的字符串。与n、N连用,向下向上搜索 |
| ?keyword | 向光标之上查找字符串。这时使用n、N,是向上向下搜索 |
| :n1,n2s/word1/word2/g |
匹配n1行到n2行之间的word1全局替换为word2 |
| :1,$s/word1/word2/g或 :%s/word1/word2/g | 匹配第一行到最后一行的word1,并替换为word2 |
| :1,$s/word1/word2/gc或 :%s/word1/word2/gc | 匹配第一行到最后一行的word1,并替换为word2。在替换之前提示字符给用户确认(confirm)是否替换 |
| 删除、复制、粘贴 | |
| x,X | 表示删除一个字符。x向后删除,X向前删除 |
| nx,nX | 表示删除n个字符。nx向后删除n个字符,nX向前删除n个字符 |
| dd | 删除光标所在行 |
| D | 删除光标所在行 |
| ndd | 删除光标所在行的n行 |
| d1G | 删除光标所在行的所有数据。相当于dd |
| dG | 删除光标所在行到最后一行的数据。G定位到最后一行 |
| d$ | 删除光标所在处到最后一个字符。 |
| d0 | 删除光标所在处到最前面的一个字符 |
| yy | 复制光标所在行 |
| nyy | 复制光标所在n行 |
| y1G | 复制光标所在行到第一行所有数据 |
| yG | 复制光标所在行到最后一行所有数据 |
| y0 | 复制光标所在行的字符到行首的所有数据 |
| y$ | 复制光标所在行的字符到行尾的所有数据 |
| p,P | 粘贴。p将复制的内容粘贴到下一行,P将复制的内容粘贴到上一行 |
| J | 将光标所在行与下一行数据结合成一行 |
| c | 重复删除多行。向下删除10行(10cj) |
| u | 撤销前一个动作 |
| ctrl + r | 重做上一个动作 |
| . | 小数点。重复前一个动作。比如复制,按 . 就是重复复制。 |
2.3 行末模式命令
| 命令 | 作用 |
| :w | 保存 |
| :q | 退出 |
| :q! | 强制退出(放弃对文档内容的修改) |
| :wq | 保存退出 |
| :wq! | 强制保存退出 |
| :w [filename] | 将文件保存为另一个文件 |
| :n1,n2 w [filename] |
将n1,n2的内容保存为另一个文件 |
| :r [filename] | 将另一个文件读入到目前编辑的文件中。会在游标下显示 |
| :set nu | 显示行号 |
| :set nonu | 不显示行号 |
| :命令 | 执行命令(搜索,替换等) |
| :整数 | 跳转到该行 |
| :! command |
在编辑器中可以暂时离开vi,执行command显示结果。 如:“:! ls /usr/local”即在vi中能看到ls运行的结果 |
2.4 可视化模式
可以通过v或V进入可视化模式。退出可视化模式按两下ESC即可.
| 命令 | 参数 |
| v | 进入字符可视化模式(即按v之后,上下键选择时是按字符选择)。以字符为单位 |
| V | 进入行可视化模式(及按V之后,上下键选择时是按行选择)。以行为单位 |
| ctrl+v | 进入可视化模式,块选择 |
| :> | 缩进。向后缩进 |
| :< | 缩进。向前缩进 |
| y | 复制 |
| d | 删除 |

PS:光标所在位置会反选白
1)字符模式 v
字符模式可以高亮显示段落中的一个句子或句子中的一个短语,然后,可以使用任何 Vim 编辑命令删除、复制、更改/修改可视化模式识别的文本。
实例:
移动句子
首先按v进入可视化字符模式,使用箭头选中需要移动的行,可以使用w或$高亮显示。然后按d删除。如果箱撤销操作按u。将光标移动到新的位置,按p粘贴。

改变一个短语
首先将光标定位到修改的字符处,选中要修改的字符,按c键进入插入模式,输入要替换的字符,按ESC,保存即可



2)行模式 V
使用可视化行模式将 Ansible 任务移动到该剧本文件中的其他位置。
实例:
操作多行文本
首先按V或shift+v进入行模式。使用方向键选择文本。按d删除,移动到新的位置。按p粘贴。如果要复制,按y即可

多行缩进
进入行模式,选中需要缩进的行,在底部输入">"缩进所有选中的行;"<"减少所有选中行的缩进。


可视化模式参考网址:https://linux.cn/article-10589-1.html
2.5 批量添加或删除多行注释
添加:
1)进入vi编辑器,按ctrl+v进入块可视化模式(VISUAL BLOCK)

2)移动光标向上移或下移,选中多行的开头。

3)选择完毕按大写 I ,进入”INSERT”模式。输入要插入的注释符,然后按两下ESC即可
PS:上面这个方法在我服务器上没有尝试出来。我使用的是替换语句
:起始行号,结束行号s/^/注释符/g(注意冒号)
删除:
同样ctrl+v,将光标移动到到删除的行,然后按d即可
或
:起始行号,结束行号s/^注释符//g(注意冒号)
编辑jar或zip文件:
# 打开jar
[root@localhost lib]# vim test.jar
# 搜索需要编辑的文件
/filename
# 搜索到之后会定位到刚刚搜索的文件名,回车,就会进入文件
# 按i即可编辑,编辑之后保存退出即可
【vim编辑器】文本编辑器vim的更多相关文章
- 3.23 vi/vim:纯文本编辑器
vi/vim 是Linux命令行界面下的文字编辑器,几乎所有的Linux系统都安装了vi,只要学会了vi这个编辑工具,就可以在任何Linux系统上使用它.而vim是vi命令的增强版(Vi IMprov ...
- 富文本编辑器 CKeditor 配置使用 (带附件)
Ckeditor下载地址:http://ckeditor.com/download 1.CKeditor的基本配置 var textval=CKEDITOR.instances.TextArea1.g ...
- linux 文本编辑器
文本编辑器 文本编辑器是Linux操作系统中的重要工具.其中,VI是使用最广泛的文本编辑器,其可以在任何shell中使用.此外,Red Hat Enterprise Linux6 还提供了gedit工 ...
- Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...
- 第4章 文本编辑器vim
1. vim常用操作 1.1 vim简介 (1)vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. (2)vim没有菜单,只有命令 ...
- 文本编辑器VIM/VI
vim/vi 功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org 构建shell脚本 :set number 使文件出现行号 a 光标后附件文件 i在光标前插入文 ...
- 只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs
只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditP ...
- Linux学习笔记(10)文本编辑器vim
vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix最常用的文本编辑器,其作用是建立.编辑.显示文本文件.vim的特点是没有菜单,只有命令. vim主要有三种工作模式,分别为命令模式.插入模 ...
- Linux 学习手记(5):使用Vim文本编辑器
Vim是从vi发展而来的文本编辑器.vi是Linux及类Unix系统中主流的命令行文本编辑器,Vim 除了对vi功能上进行了加强,还加入了对GUI的支持.绝大多数的Linux系统上均安装了vim,vi ...
- 文本编辑器vim
Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最大的文本编辑器,它的作用是建立.编辑.显示文本文件. Vim没有菜单,只有命令.
随机推荐
- 你真的理解Java 注解吗?
你真的理解Java 注解吗? 1.什么是注解? 官方解释: Java 注解用于为 Java 代码提供元数据.作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的.Java ...
- 记录自己的一次pjax性能优化
什么是pjax? pjax = ajax + pushState 通过ajax让页面进行局部刷新,然后通过pushstate让url发生改变,再让pushState,让页面产生一个回退的记录,从而让页 ...
- Idea2019激活码
此教程仅用作个人学习,请勿用于商业获利,造成后果自负!!! 此教程已支持最新2019.2版本 此教程实时更新,请放心使用:如果有新版本出现猪哥都会第一时间尝试激活: idea官网下载地址:http:/ ...
- VUE Base64编码图片展示与转换图片
图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址,使用 base64 传输图片文件可以节省一个 http 请求,图片的 base64 编码可以算是前端优化的一 ...
- [Spring cloud 一步步实现广告系统] 4. 通用代码模块设计
一个大的系统,在代码的复用肯定是必不可少的,它能解决: 统一的响应处理(可以对外提供统一的响应对象包装) 统一的异常处理(可以将业务异常统一收集处理) 通用代码定义.配置定义(通用的配置信息放在统一的 ...
- 【HTML】---常用标签(1)
Html常用标签(1) 重新整理学习下前端知识从Html标签开始.我们先看HTML 骨架格式: <!DOCTYPE html> <!--这句话就是告诉我们使用哪个html版本--&g ...
- 使用PrintWriter完成写操作 ,实现简易记事本工具
package seday07; import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.IOExce ...
- 使用dom4j类操作xml文档
dom4j操作xml数据 1.Document对象相关 ①读取XML文件,获得document对象. SAXReader reader = new SAXReader(); Document docu ...
- MyBatis的事物管理和缓存
MyBatis的事物 事物的概念 在Java语言数据库框架中,数据库的事务管理都是非常重要的. 每个业务逻辑都是由一系列数据库访问完成的,这些访问可能修改多条数据记录,这一系列修改应该是一个整体,绝对 ...
- C#控制内插字符串的格式
C#6.0推出了内插字符串 结果展示: 内插表达式字段宽度和对齐方式: 结果展示:(+/-代表右对齐.左对齐,数字表示显示宽度)
