在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的更多相关文章

  1. 3.23 vi/vim:纯文本编辑器

    vi/vim 是Linux命令行界面下的文字编辑器,几乎所有的Linux系统都安装了vi,只要学会了vi这个编辑工具,就可以在任何Linux系统上使用它.而vim是vi命令的增强版(Vi IMprov ...

  2. 富文本编辑器 CKeditor 配置使用 (带附件)

    Ckeditor下载地址:http://ckeditor.com/download 1.CKeditor的基本配置 var textval=CKEDITOR.instances.TextArea1.g ...

  3. linux 文本编辑器

    文本编辑器 文本编辑器是Linux操作系统中的重要工具.其中,VI是使用最广泛的文本编辑器,其可以在任何shell中使用.此外,Red Hat Enterprise Linux6 还提供了gedit工 ...

  4. Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)

    Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...

  5. 第4章 文本编辑器vim

    1. vim常用操作 1.1 vim简介 (1)vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. (2)vim没有菜单,只有命令 ...

  6. 文本编辑器VIM/VI

    vim/vi  功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org  构建shell脚本 :set number 使文件出现行号 a 光标后附件文件     i在光标前插入文 ...

  7. 只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs

    只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditP ...

  8. Linux学习笔记(10)文本编辑器vim

    vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix最常用的文本编辑器,其作用是建立.编辑.显示文本文件.vim的特点是没有菜单,只有命令. vim主要有三种工作模式,分别为命令模式.插入模 ...

  9. Linux 学习手记(5):使用Vim文本编辑器

    Vim是从vi发展而来的文本编辑器.vi是Linux及类Unix系统中主流的命令行文本编辑器,Vim 除了对vi功能上进行了加强,还加入了对GUI的支持.绝大多数的Linux系统上均安装了vim,vi ...

  10. 文本编辑器vim

    Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最大的文本编辑器,它的作用是建立.编辑.显示文本文件. Vim没有菜单,只有命令.

随机推荐

  1. django admin显示多对多字段ManyToManyField

    参考文档https://jingyan.baidu.com/article/4e5b3e190f55c591901e24b3.html admin.py from .models import *cl ...

  2. Tornado—添加请求头允许跨域请求访问

    跨域请求访问 如果是前后端分离,那就肯定会遇到cros跨域请求难题,可以设置一个BaseHandler,然后继承即可. class BaseHandler(tornado.web.RequestHan ...

  3. 【Spring JDBC】NamedParameterJdbcTemplate(四)

    一.什么是具名参数 在经典的 JDBC 用法中, SQL 参数是用占位符 ? 表示,并且受到位置的限制.定位参数的问题在于, 一旦参数的顺序发生变化, 就必须改变参数绑定.在 Spring JDBC ...

  4. yii2 提示

    控制器中: Yii::$app->getSession()->setFlash('success', "描述!"); Yii::$app->getSession( ...

  5. 【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔(2019-11-04)

    说明: 1.本教程重在BSP驱动包设计方法和HAL库的框架学习,并将HAL库里面的各种弯弯绕捋顺,从而方便我们的程序设计. 2.本次工程延续以往的代码风格,从底层BSP驱动包到应用代码,变量命名,文件 ...

  6. Java之通过接口获取数据并用JDBC存储到数据库中

    最近做数据同步功能,从接口获取数据然后存到数据库中以便后续对数据进行相关操作,下面就贴一下相关代码. import com.alibaba.fastjson.JSON; import com.alib ...

  7. mybatis的mapper.xml中使用java类中的全局变量

    select * from demo where status = '${@cn.jichi.Global@zz}'

  8. 【CF908D】New Year and Arbitrary Arrangement

    Problem Description 给定三个数 \(k,pa,pb\) ,每次有 \(\frac{pa}{pa+pb}\) 的概率往后面添加一个 a,有 \(\frac{pb}{pa+pb}\) ...

  9. Flask 教程 第八章:粉丝

    本文翻译自The Flask Mega-Tutorial Part VIII: Followers 这是Flask Mega-Tutorial系列的第八部分,我将告诉你如何实现类似于Twitter和其 ...

  10. golang-方法和接口

    1.方法 方法类似函数 ,多了一个接收者 ,接收者是指针指向结构体(也可以是值) ,方法与结构体绑定 (可以理解为模板定义方法) ,方法位于结构体内部 方法集可以理解就是多个方法 可以组合其他结构体方 ...