Linux编程 19 编辑器(vim 用法)
一.概述
在开启shell脚本编程之前,必须要知道一款文本编辑器的用法,如文本编辑的查找,剪切,粘贴,定位等, 本篇只讲vim编辑器。vim编辑器全名叫vi improved,是经过对Unix系统vi编辑器的一些改进而来,vi编辑器是Unix系统最初的编辑器。
1.1 检查vim软件包
下面分析vim的路径,vim软件包是哪种,vim别名:

1.2 vim 基础
vim编辑器在内存缓冲区中处理数据,如果指定的文件不存在,vim会开辟一段新的缓冲区域来编辑。如果文件存在,会将文件的整个内容读到一块缓冲区域来准备编辑。下面是指定编辑my.cnf文件,如下所示:
[hsr@xuegod64 ~]$ vim /etc/my.cnf
vim 编辑器有两种模式:一是普通模式,二是插入模式。当找开一个文件,进入后的是普通模式,按下 i 键就进入插入模式,要退回插入模式回到普通模式就按ESC键。
在大文本文件中,vim有些快捷键需要知道。快捷键注意大小写,快捷键定位需在vim普通模式下进行:
按 Ctrl+F 下翻一屏。
按 Ctrl+B 上翻一屏。
按 G 移到文件底部最后一行。
按 gg 移到文件顶部第一行。
按 num G 移动到缓冲区中的第num行,例如按下14G就定位在14行。
退出编辑器也有几种,在普通模式下按下冒号键 :,此时等待输入
按 :q 是未修改缓冲区数据,退出。
按 :q! 取消所有对缓冲区数据的修改并退出。
按 :wq 保存并退出。
1.3 编辑数据
这里介绍在普通模式下,vim编辑器提供了一些命令来编辑缓冲区中的数据,最后使用:wq来保存退出。注意这里编辑不是在插入模式下进行,是一些快捷方法。
|
命令 |
描述 |
|
x |
删除当前光标所在位置的字符 |
|
dd |
删除当前光标所在行 |
|
d$ |
删除当前光标所在位置至行尾的内容 |
|
u |
撤销前一编辑命令 |
|
a |
在当前光标后追加数据 |
|
A |
在当前光标所在行行尾追加数据 |
1.4 复制和粘贴
剪切与粘贴:dd + p。 按dd 是删除一行,实际是将数据保存在单独的一个寄存器中,其实也是剪切一行, 按p 粘贴。
复制与粘贴:y + p 。按y是复制,按$是光标所在位置至行尾的内容。按y$ 复制区域,按p粘贴。
复制多行,可以通过按下v键,进入可视模式,光标选中的内容文本会高亮显示,如下图高亮显示区域文本有4行, 这样按下y$就复制了4行数据。如下图所示:

1.5 查找
在普通模式下,可以使用vim查找命令来轻松查找缓冲区中的数据, 按下斜线(/)键或者(?)键,输入要查找的字符,按(n)键查找下一个。如下图查找server关键词,按回车。在第二张图中高亮显示了二处含有server的关键词。


要继续查找同一个关键词,按下n键。
Linux编程 19 编辑器(vim 用法)的更多相关文章
- Linux文本文件——文本编辑器Vim
Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...
- linux系统编辑神器 -vim用法大全
vim编辑器 文本编辑器,字处理器ASCII nano, sed vi: Visual Interfacevim: VI iMproved 全屏编辑器,模式化编辑器 vim模式:编辑模式(命令模式)输 ...
- Kali Linux的vi编辑器/vim编辑器使用方法
转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...
- 【Linux】文本编辑器Vim常用操作入门
Linux常用文本编辑器:Vi & Eamcs Vim -- Vi的升级版本 Vim 一.3种工作模式 命令行模式 (Command Mode) 插入模式 (Insert Mode) -- 键 ...
- Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法
1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...
- Linux之文本编辑器Vim
一.什么是vim vi是一种模式编辑器.vi 是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix机器都会提供这套软体,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 v ...
- linux的vi编辑器常用用法一览
vi 命令用于编辑文本文件,语法: vi 文件名 vi 是一个比较强大的编辑工具,类似于windows下的notepad,但是功能要强大的多.vi分为三种模式,分别是“一般模式”,“编辑模式”,“命令 ...
- Linux中vi编辑器的用法
实验一: vi编辑器的模式切换 1. 实验目标:熟练掌握vi编辑器的三种模式间切换及其特点 2. 实验操作步骤: 步骤一: 进入vi编辑器即命令模式 进入vi编辑器可以在命令终 ...
- Linux编程里getopt_long_only函数用法详解
在程序中难免需要使用命令行选项,可以选择自己解析命令行选项,但是有现成的,何必再造轮子.下面介绍使用getopt_long_only和getopt_long(两者用法差不多)解析命令行选项. 程序中主 ...
随机推荐
- 获取父窗口的xxx节点的方法
window.parent.document.getElementById("xxx");获取父窗口的xxx节点$("#myEle", window.paren ...
- win10与虚拟机fedora14使用samba文件共享
参考路径:http://blog.sina.com.cn/s/blog_ae9507be01017tyz.html 最近需要配置samba,试了好多次,终于搞定.奉上配置及共享文件的过程,以供参考. ...
- 今天我给你们推荐一本书《Linux就该这么学》!!!
本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...
- Django之发送邮件
Django的发送邮件是基于django的一个组件进行操作的,EmailMessage 基本使用方法: def send_html_mail(subject, html_content, from_a ...
- tp5
tp5.1创建模块 把build.php放在应用目录下面, 然后打开cmd, cd../../ cd phpstudy/www/tp5 php think build tp5.1控制器 return ...
- PLSQL设置细节
1. tnsnames.ora 文件设置中,前面不能包含空格,否则:无法解析连接字符串 2. 当一切配置都正确,但是还是无法连接:“身份证明检索失败” 解决:打开tns_admin配置连接串的目录,修 ...
- JUnit学习笔记-0-JUnit启动类
[说明]:本文基于JUnit4.13版本代码,JDK1.8.0_151环境,使用工具为Eclipse,版本为Oxygen.1a Release (4.7.1a) [图示]: [正文]:JUnit4.1 ...
- Donald Knuth
看了<李开复给计算机系大学生的建议>这篇文章,让我对Donald Knuth这个人产生了兴趣,他是何许人也?于是便有下文. 引用:(1)练内功.不要只花功夫学习各种流行的编程语言和工具,以 ...
- 换PHP7后访问Apache虚拟站点Forbidden的问题解决
Httpd.conf中,注释掉前2行,补上后2行 <Directory /> #AllowOverride none #Require all denied Order deny,allo ...
- 【python-时间戳】时间与时间戳之间的转换
对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的操作有如下的几种: 将时间转换 ...