13、Vim编辑器使用详解

Vim编辑器使用详解

  • vim介绍
  • 为什么要学习vim
  • vim三种模式
  • vim工作模式(图解)
  • vim如何打开文件
  • vim关闭文件
  • 命令模式光标跳转
    • 字符间跳转:
    • 单词间跳转:
    • 行首行尾跳转:
    • 行间移动:
  • VIM的命令模式下的命令:
    • 字符编辑:
    • 替换命令(r, replace)
    • 删除命令:
    • 复制命令
    • 粘贴命令(p, paste): :
    • 其他相关的编辑操作:
    • 翻屏操作:
    • 查找操作:
  • VIM末行模式的操作:
    • 地址定界
    • 查找和替换
    • 练习:
  • 多文件模式:
  • 窗口分隔模式:
  • 定制vim的工作特性:

Vim编辑器使用详解

vim介绍

在Linux系统中配置应用服务,实际上就是在修改它的配置文件(配置文件可能有多 
个,其中包含不同的参数),而且日常工作中也一定免不了编写文档的事情吧,这 
些都是要通过文本编辑器来完成的。在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vim是vi编辑器的升级版。

为什么要学习vim

Vim能够得到这么多厂商与用户的认可,原因就是在Vim编辑器中有三种模式——命 
令模式、末行模式和编辑模式,分别又有多种不同的命令快捷键组合,很大的提高 
了工作效率,用习惯后会觉得非常的顺手。要想在文本操作时更加高效率,我们必 
需先搞清Vim编辑器的三种模式的操作不同与切换方法。

vim三种模式

命令模式:控制光标移动,可对文本进行删除、复制、粘贴等工作。 
输入模式:在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

末行模式:在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的!

vim工作模式(图解)

记住每次运行vim编辑器后都默认是“命令模式”,需要先进入到“输入模式”后再进行编写文档的工作,而每次编辑完成需先返回到“命令模式”后再进入“末行模式”对文本的保存或退出操作。

vim如何打开文件

格式:vim [OPTION]… [FILE]…

[root@localhost ~]# vim +2 /etc/passwd //直接打开file, 光标在第二行[root@localhost ~]# cp /etc/passwd passwd[root@localhost ~]# echo "zabbix" >>passwd [root@localhost ~]# vim -d /etc/passwd passwd //比较两个文件

vim关闭文件

末行模式中: 
:q 退出 
:q! 强制退出,丢弃做出的修改 
:wq 保存退出 
:x 保存退出 
命令模式 
ZZ: 保存退出 
ZQ :不保存退出

命令模式光标跳转

字符间跳转:

h: 左 l: 右 j: 下 k: 上

单词间跳转:

w :下一个单词的词首 
e :当前或下一单词的词尾 
b :当前或前一个单词的词首

行首行尾跳转:

^: 跳转至行首的第一个非空白字符; 
0: 跳转至行首 
$: 跳转至行尾

行间移动:

G:最后一行 
1G, gg: 第一行

VIM的命令模式下的命令:

字符编辑:

x: 删除光标处的字符; 
#x: 删除光标处起始的# 个字符 
xp: 交换光标所在处的字符及其后面字符的位置

替换命令(r, replace)

r: 替换光标所在处的字符

:s/root/admin/g 

删除命令:

d:删除命令, 可结合光标跳转命令使用,来实现范围删除 
例如:dw删除一个单词, dG删除当前光标所在行到最后一行 
d$: 删除到行尾 
d0:删除到行首 
dd: 删除光标所在的行 
#dd :多行删除

复制命令

y:复制, 工作命令相似d命令 
例如:yw复制一个单词 
yy:复制整行

粘贴命令(p, paste): :

p:粘贴当前缓存区的内容, 如果缓存区中内容为整行内容,则内容粘贴在当前行的正下方, 否则粘贴至光标的后面 
P:粘贴当前缓存区的内容, 如果缓存区中内容为整行内容,则内容粘贴在当前行的正上方, 否则粘贴至光标的后面

其他相关的编辑操作:

v:按字符选定 
V:按行选定 
选定后结合编辑命令使用 
u:撤销之前的编辑 
Ctrl+r:撤销之前的撤销

翻屏操作:

Ctrl+f:向文件尾部翻一屏 
Ctrl+b:向文件首部翻一屏 
Ctrl+d:向文件尾部翻半屏 
Ctrl+u:向文件首部翻半屏

查找操作:

/PATTERN:在全文搜索指定模式匹配的字符, 从光标的位置至文件尾部的顺序 
?PATTERN:在全文搜索指定模式匹配的字符, 从光标的位置至文件首部的顺序 
n:与当前命令同方向, /PATTERN为往后翻 
N:与当前命令反方向

VIM末行模式的操作:

地址定界

注释:以下命令不加:, 使用前须输入:进入末行模式 
start,end 
#:具体第#行, 例如2表示第2行 
#,#:表示第#行到第#行, 例如2,10表示第2行到第10行

:2,10s/root/admin/g 

#,+#:表示左侧的#表示起始, 加上右边#表示的行数

:2,+9s/admin/root/g  

.:表示当前行 
$:表示最后一行 
.,$-1:表示当前行到倒数第2行 
%:表示全文, 相当于1,$

:%s/admin/root/g

/pat1/,/pat2/:从第一个被匹配的pat1行开始,到第一个被匹配的pat2的行结束

:/admin/,/ftp/s/admin/root/g

使用方法:

后跟一个编辑命令 
d:删除 
y:复制 
w /path/to/somewhere:将范围内的行另存到指定文件 
r /path/to/somewhere:在指定位置插入指定文件的所有内容

查找和替换

地址定界s/要查找的内容/替换的内容/修饰符 
例如:替换全文的abc为123 %s/abc/123/gi 
要查找的内容:可使用模式匹配 
替换为的内容:不可使用模式, 但可以使用\1,\2等后向引用, 还可以使用&符号引用在前面找到的内容

修饰符: 
i:忽略大小写 
g:全局替换 
查找替换的分隔符可替换为其他字符

例如::s/abc/123/g可替换成 :[email protected]@[email protected]

练习:

1、复制/etc/grub2.cfg 至/tmp目录, 用查找替换命令删除/tmp/grub2.cfg文件中的行首的空白字符

%s/^[[:space:]]//

2、复制 /etc/rc.d/init.d/functions文件至/tmp目录, 用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号

%s/^[[:space:]]/#&/

多文件模式:

vim FILE1 FILE2 FILE3...

在末行模式下输入以下命令: 
:n 切换到下一个文件 
:N 切换到上一个文件 
wall保存所有文件 
qall 退出所有

窗口分隔模式:

vim -o|-O FILE1 FILE2...

-o:水平分隔 
-O:垂直分隔 
在窗口间切换:Ctrl+w+上下左右 
单文件窗口分隔: 
Ctrl+w,s split 水平分隔 
Ctrl+w,v vertical 垂直分隔 
如下垂直分隔

定制vim的工作特性:

配置文件:

全局 /etc/vimrc 
个人 ~/.vimrc 
末行模式下的配置只对当前vim进程有效

(1) 行号

显示:set number, 简写为set nu 
取消显示:set nonumber, 简写为set nonu

(2) 括号匹配

匹配:set showmatch, 简写为set sm 
取消:set nosm

(3) 自动缩进

启用:set ai 
禁用:set noai

(4) 高亮显示

启用:set hlsearch 
禁用:set nohlsearch 简写 set noh

(5) 语法高亮

启用:syntax on 
禁用:syntax off

(6) 忽略字符大小写

启用:set ic 
禁用:set noic

(7) 获取帮助:

:help 
:help subject

时间: 2024-08-03 09:53:47

13、Vim编辑器使用详解的相关文章

vim编辑器使用详解

Vim简介: Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体.1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二.但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器. 全屏幕的

Linux vim编辑器使用详解

在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [[email protected] ~]# rpm -qf `which vi` vim-minimal-7.2.411-1.8.el6.x86_64 [[email protected] ~]# rpm -qf `which vim` vim-enhanced-7.2.411-1.8.el6.x86_64 vim 编辑器模式切换: 命令模式 .命令行模式.编辑模

vim编辑器--使用详解

vim编辑器 1.基本模式: 编辑模式,命令模式 输入模式: 末行模式: 2.打开文件,模式间转换 #vim [OPTION]... FILE... +#:打开文件后,直接让光标处于第#行的行首 -/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首: 模式转换: 编辑模式 --> 输入模式 i:insert,在当前光标所在处输入 a:append,在当前光标所在处的后边输入 o:open,在当前光标的下面新开一行输入 I:在当前光标所在行的行首输入 A:在当前光标

Unix Linux vi vim 使用手册|vi vim 常用命令 详解

Unix Linux vi vim 使用手册 Vi 简介 Vi 是 Unix 世界里极为普遍的全萤幕文书编辑器,几乎可以说任何一台 Unix 机器都 会提供这套软体.Linux 当然也有,它的 vi 其实是 elvis(版权问题),不过它们都 差不多.熟悉 DOS 下的文书处理後,也许会感到 vi 并不好用:Unix 上也已经发展出 许多更新.更好用的文书编辑器,但是并不一定每一台 Unix 机器上都会安装这些额外 的软体.所以,学习 vi 的基本操作还是有好处,让你在各个不同的机器上得心应手.

13种排序算法详解

0.前言 从这一部分开始直接切入我们计算机互联网笔试面试中的重头戏算法了,初始的想法是找一条主线,比如数据结构或者解题思路方法,将博主见过做过整理过的算法题逐个分析一遍(博主当年自己学算法就是用这种比较笨的刷题学的,囧),不过又想了想,算法这东西,博主自己学的过程中一直深感,基础还是非常重要的,很多难题是基础类数据结构和题目的思想综合发散而来.比如说作为最基本的排序算法就种类很多,而事实上笔试面试过程中发现掌握的程度很一般,有很多题目,包括很多算法难题,其母题或者基本思想就是基于这些经典算法的,

vim 使用方法详解 (笔记)

VIM 编辑器的使用 VI Visual Interface  可视化接口 VI编辑器 VIM VI Improved VI编辑器的增强版 VIM 全屏编辑器,模式化编辑器 vim模式 编辑模式(命令模式) 输入模式 末行模式 vim打开文件默认为编辑模式,他们之间可以互相转换 输入模式和末行模式两者之间不能直接转换,都需要经过编辑模式来转换 模式转换 编辑-->输入 i 在当前光标所在字符的前面,转为输入模式 a 在当前光标所在字符的后面,转为输入模式 o 在当前光标所在行的下方,新建一行,并

vi / vim文档编辑器画图详解

虚拟机下ubuntu13.04一些关于安装vim的问题详解

1.问题来源 今天闲来无事,想尝试下linux环境下的python开发,于是在win7上安装了VMware 11.0,然后在虚拟机上安装了ubuntu13.04.要进行python编码,于是选择一款好的编辑工具尤为重,而且一直听说vim是一款不错的编辑器,所以我了准备选择vim来作为我的python编码工具.于是我输入命令vim:效果如下图所示: 看来ubuntu13.04本身自带了vi,而没有vim,于是乎便准备自己下载vim工具:那么所以然后问题就来了,,,当我敲下命令 sudo apt-g

Ubuntu vim 使用方法详解

vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它.Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻. 1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行