第10章vim程序编辑器

且听风吟-wuchao 且听风吟-wuchao     2022-07-30     632

关键词:

vi和vim

vim是vi的升级版,支持vi的所有指令

vi的使用

vi分为三种模式:一般模式、编辑模式、命令行模式

一般模式

以vi打开一个文件就直接进入一般模式了,这个模式下可以使用上下左右按键来移动光标,可以删除字符、删除整行、复制和粘贴

编辑模式

一般模式下,不能编辑文件内容。按下“i,l,o,O,a,A,r,R”等任一字母后就会进入编辑模式,按下Esc可退出编辑模式

命令行模式

在一般模式中输入“:、/,?”这三个字符的任意一个,就可以将光标移动到最下面那一行。该模式下,可以进行读取、保存、大量替换符、退出vi、显示行号等操作

 

按键说明

移动光标的方法

Ctr+f 屏幕下移一页(Page Down)
Ctr+b 屏幕上移一页(Page Up)
0或home 移动到这一行的最前面
$或end 移动到这一行的最后面
G 移动到文件的最后
gg 移动到文件的第一行
N[Enter] 光标下移n行
/word 向下查找
?word 向上查找
n 重复前一个查找
N 反向查找

:n1,n2s/word1/word2/g

在第n1行和n2行之间查找word1并用word2替换
:n1,n2s/word1/word2/gc 同上,替换前给用户确认
:1,$s/word1/word2/g 第一行到最后一行,查找替换
x,X 在一行中,x为向后删除一个字符,X为向前删除一个字符
dd 删除光标所在一行
ndd n为数字,删除光标所在的向下n行(包括本行)
yy 复制光标所在的一行
nyy n为数字,复制光标所在的n行
p,P p复制在光标的下一行,P复制在光标的上一行
u 复原前一个操作
Ctrl+r 重做上一个操作
.

小数点,重复前一个操作

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一般模式切换到编辑模式的可用按钮说明

i,l i为从目前光标处插入,l为在目前光标所在行的第一个非空字符处开始插入
a,A a为从光标所在的下一个字符插入,A为从光标所在行的最后 一个字符处插入
o,O o为在光标的下一行插入,O为在光标的上一行插入
r,R 进入替换模式,r只会替换一次光标所在的那个字符,R会一直替换下去

 

一般模式切换到命令行模式

:w 保存
:w! 强制保存
:q 离开vi
:q! 强制离开不保存
:wq 保存后离开
:w [filename] 另存为filename
:r [filename] 编辑数据时,读入另一个文件数据,数据放在光标所在的下一行
:n1,n2 w [filename]

保存n1到n2行的数据到文件filename

:set nu 显示行号
:set nonu 取消行号

vim的保存文件、恢复与打开时的警告信息

vim在编辑文件时,会创建一个.filename.swap文件保存操作记录。

当vim编辑文件过程遭到意外时,该暂存文件不会消失。此时打开原文件可能显示如下:

E325: ATTENTION
Found a swap file by the name ".test2.txt.swp"
          owned by: root   dated: Thu Jun 30 19:32:14 2016
         file name: /tmp/wuchao_test/test2.txt
          modified: YES
         user name: root   host name: localhost.localdomain
        process ID: 12201
While opening file "test2.txt"
             dated: Mon Jun 27 13:25:27 2016

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r test2.txt"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".test2.txt.swp"
    to avoid this message.

Swap file ".test2.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

当vim一个文件时,如果检测到文件对应的暂存文件,就会显示以上信息,这时可以进行以下操作:

[O]:打开此文件为只读

[E]:以正常方式打开文件

[R]:加载暂存文件内容,救回之前未保存的内容

[D]:删除暂存文件

[Q]:退出

[A]:退出

 

vim的功能

vim除了具有以上vi的功能以外,还有自己的一些指令。

块选择

v 字符选择
V 行选择
Ctr+v 块选择
y 将选择部分复制
d 将选择部分删除

 多文件编辑

:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个vim的打开文件

 举例:

  /tmp/wuchao_test/下有两个文件,分别为inittab和hosts,现要将hosts文本的部分内容复制到inittab文件内去,操作如下:

[[email protected] wuchao_test]# vim ./inittab ./hosts

#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses targets instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
                                                                                       
~                                                                                          
~                                                                                          
:files
  1 %a   "./inittab"                    line 1
  2      "./hosts"                      line 0
Press ENTER or type command to continue

在vim内输入“:file”可以查看目前编辑的文件,输入“:n”可以在多个文件内切换。

多窗口功能

设想我们需要编辑一个很大的文件时,我们想在一个文件内前后对照,或者多个文件对照时,如果通过上下翻页或者不停切换vim打开的文件,那也太麻烦了。vim提供了一个多窗口功能。

vim打开一个文件后,可以使用:sp [filename] 开启一个窗口打开另一个文件,如果打开本文件,直接输入:sp,可以使用Ctr+w+上下箭头 来切换窗口,Ctr+w+q退出当前窗口,:q也可以。

第6章实操篇vi和vim编辑器

第6章实操篇vi和vim编辑器6.1vi和vim的基本介绍所有的Linux系统都会内建vi文本编辑器。Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方... 查看详情

鸟哥的linux私房菜哪些内容要看

...压缩与打包第三部分 学习shell与shellscript第10章 vim程序编辑器第11章 认识与学习bash第12章 正则表达式与文件格式化处理第13章 学习shellscript第四部分 Linux使用者管理第14章 Linux账号管理与ACL权限设置第15章 磁盘配额(Quo... 查看详情

第十章vim程序编辑器

第十章、vim程序编辑器 1.vi与vim  1.1为何要学vim2.vi的使用  2.1简易执行范例  2.2按键说明  2.3一个案例的练习  2.4vim的暂存档、救援回复与开启时的警告讯息3.vim的额外功能  3.1区块选择(VisualBlock)  3.2多档案... 查看详情

第10章,程序包管理学习笔记

...80/2095439笔记整理开始时间:2018年4月20日14:07:22第10章 程序包管理本章内容       软件运行环境   查看详情

软件开发工具(第10章:调试程序)

...点位置时自动暂停并且显示程序当前的状态。用户可以在编辑器或者断点视图中添加或删除断点,而断点视图会清楚地显示每个断点的状态,激活状态的断点会以蓝色的圆圈显示,非激活状态的断点则是以白色透明圆圈显示。添... 查看详情

vim程序编辑器

0.助记图1.vim的使用第一部份:一般模式可用的按钮说明,光标移动、复制贴上、搜寻取代等 第二部份:一般模式切换到编辑模式的可用的按钮说明 第三部份:一般模式切换到指令列模式的可用的按钮说明  2.vim的... 查看详情

java语言程序设计(第3版)沈泽刚主编第10,11,12章课后习题答案(代码片段)

Java语言程序设计(第3版)沈泽刚主编第10,11,12章课后习题答案第10章接口和Lambda表达式10.1定义Duck类实现Swimmable接口和flyable接口。interfaceSwimmablepublicvoidswim();interfaceflyablepublicvoidfly();publicclassDuckimplementsSwi 查看详情

vim实用技巧pdf

下载地址:网盘下载vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。vim能够大大提高程序员的工作效率。对于vim高手来说,vim能以与思考同步... 查看详情

第10章文件和异常

...sp;  至此,我们掌握了编写组织有序而易于使用的程序所需的基本技能,该考虑让程序目标更明确,用途更大了。在本章中,我们将学习处理文件,让程序能够快速地分析大量的数据;我们将学习错误处理,避免程序在面... 查看详情

四周第二次课(代码片段)

5.1vim介绍什么是vim?Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地... 查看详情

《linux就该这么学》--linux初体验

...的Linux命令。第3章管道符、重定向与环境变量。第4章Vim编辑器与S 查看详情

《javascript高级程序设计》笔记目录

第1章什么是JavaScript第2章HTML中的JavaScript第3章语言基础第4章变量、作用域与内存第5章基本引用类型第6章集合引用类型第7章迭代器与生成器第8章对象、类与面向对象编程第9章代理与反射第10章 查看详情

rhel7--第4章

vim文本编辑器 三种模式:命令模式:运行vim时,默认进入命令模式;可对文本进行复制、粘贴、删除和查找;编辑模式:文本录入末行模式:保存退出等,运行命令; 三种模式之间的切换:从上图可知,“输入模式&r... 查看详情

liunx常用操作-vim中删除命令

...Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999年Emacs被选为Linuxworld文... 查看详情

20189208《移动平台开发实践》第10周学习总结

...第39章偏好调用SharedPreference接口管理键/值对类型的应用程序设计,通过getDefaultSharePreferences静态方法传入Context来获取SharedPreferences的默认实例。使用AndroidPreferenceAPI创建编辑设置的界面第40章第41章第42章教材学习中的问题和解决... 查看详情

深入理解计算机系统(第二版)----之一

第一部分:程序结构和执行  第1章:计算机系统漫游  第2章:信息的表示和处理  第3章:程序的机器级表示  第4章:处理器体系结构  第5章:优化程序性能  第6章:存储器层次结构第二部分:在系统上运行程序... 查看详情

学习总结快速上手linux玩转典型应用-第6章-linux常用命令讲解

...x常用命令2.服务器硬件资源信息3.文件操作命令4.Linux文本编辑神器vim5.系统用户操作命令6.防火墙的设置7.提权和文件上传下载的操作==============================================================1.Linux常用命令2.服务器硬件资源信息3.文件操作... 查看详情

vim常用操作

vi编辑器,全称是visualinterface,可以执行输出、删除、查找、替换等众多的文本操作。vi并不是一个排版程序,不可以对字体、格式、段落等其他的属性进行编排。vi是全屏文本编辑程序,没有菜单,只有命令。语法:vifilename打... 查看详情