vim编辑器使用详解

  • Vim简介

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。

Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器。

全屏幕的编辑器:VIM,又称,visual interface,是一款文本编辑器,vi, vi iMproved

  • Vim模式:

编辑模式:命令模式

输入模式:

末行模式:

  • 使用Vim:

vim [options] [file ..]

# vim

# vim /PATH/TO/SOMEFILE

+#:#为行号;

+:快速定位至最后一行

+/PATTERN:快速匹配到文档

  • 模式间转换:

编辑模式 --> 输入模式:

i: 当前光标输入,

a:当前光标的下一位输入,

o:新插入一行输入,

I: 行首输入,

A:行尾输入,

O:上方新建行输入,

输入模式 --> 编辑模式

ESC

编辑模式 --> 末行模式

:

末行模式 --> 编辑模式

ESC

  • 关闭vim:

    末行模式:

:q  退出;

:q!  强制退出;

:wq  保存并退出;

:x  保存并退出;

编辑模式:

ZZ:保存退出;

  • 光标跳转:

注:以下操作需在编辑模式完成;

字符间跳转:

k:

h:        l: (k,上)(j,下)(h,左)(l,右)

j:

#COMMAND: #号代表数字,5k(表示5个字符)

单词间跳转:

w:下一个单词的词首;

e:当前或后一个单词的词尾;

b:当前或前一单词的词首;

#COMMAND:

行内跳转:

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

0:跳转至绝对行首;

$:跳转至绝对行尾;

行间移动:

#G: 5G (跳转到第五行)

1G,gg

G:文本的文尾(最后一行)

gg:文本的文首(第一行)

句间移动:

)

(

段落间移动:

}

{

  • 编辑命令和操作:

注:以下操作需在编辑模式完成;

字符编辑:

x: 删除光标所在处的字符

#x: 5x (删除光标所在处后5个字符)

xp: 删除并复制

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

删除命令:

d: 删除命令

d^:删除光标至行首

d$:删除光标至行尾

d0:删除光标至行首的所有字符

dw, de, db

dd:删除当前光标的所在行(整行)

#COMMAND:#代表数字

注:删除的内容会被vim编辑器保存至缓冲区当中;

粘贴命令:p (paste, put)

如果此复制或删除的内容不是一个完整行

p:粘贴至当前光标所在处后面;

P:粘贴至当前光标所在处前面;

如果复制的内容是完整行(可不止一行)

p: 粘贴至当前光标所在行下方;

P:粘贴至当前光标所在行上方;

复制命令:y, yank

y:复制命令

y$, y^, y0

ye, yw, yb

yy:复制行

#COMMAND:5yy(复制5行)

修改命令:c, change

c$, c^, c0

cb, ce, cw

cc: 删除当前行,并移至行首,开启输入模式

#COMMAND:5cc(删除光标以下5行,并开启输入模式)

撤销命令:

u: undo;撤消此前编辑操作;

#u:#代表撤销次数

Ctrl+r:恢复此前的撤消操作(撤销撤销,还原撤销)

.: 重复前一个编辑操作

  • 翻屏操作快捷键:

Ctrl+f: 向后一屏;

Ctrl+b:向前一屏;

Ctrl+d: 向后半屏;

Ctrl+u: 向前半屏;

  • 多文件模式:

打开文件:vim [OPTIN]...[FILE]...

:next  下一个文件

:first  第一个文件

:prev  上一个文件

:last  前一个文件

:wqall  全部保存并退出

:q!all  全部强制退出

  • 多文件窗口分割:

    打开文件:vim -o|-O FILE1 FILE2 ...

Ctrl+w:切换窗口,多文件编辑窗口切换

  • 单文件窗口分割:

    Ctrl+w, s: split, 水平分割

    Ctrl+w, v: vertical, 垂直分割

VIM内建教程:

[[email protected] ~]# vimtutor

VIM末行模式操作和命令:

注:如下如何操作均在末行模式完成

1、地址,定界

:start_pos,end_pos

#:第#行;

#,#

#,+#

.: 当前行

$: 最后一行

%: 全文,相当于1,$

/pat1/:第一次被此模式所匹配到的行;

#,/pat1/

/pat1/,/pat2/

后可跟编辑命令:

d, y

w, r

2、查找

/PATTERN:向尾部进行

?PATTERN:向首部进行

n: 与命令同方向

N:与命令反方向

3、查找替换

s: 在末行模式下,在地址定界的范围内完成查找替换操作;

s/要查找的内容/替换为的内容/修饰符

要查找的内容:可使用模式

替换为的内容:不能使用模式,但可以使用后向引用符号,以引用前面模式中的分组括号所匹配到的内容;

\1, \2, ...

&:引用“要找的内容”匹配到的整个内容;

修饰符:

i: 忽略大小写

g: 全局替换

/:用于分隔符,所以,要查找的内容或替换为的内容中出现此符号,要使用\对其转义,使用格式:\/分隔符可替换为其它字符:例如@,#等;

4、在vi中执行命令和导入文件

在末行模式下:

导入文件:  r FILENAME

执行命令:  !COMMAND

导入执行命令的结果:   r!COMMAND

  • 定制vim的某些工作特性

1、行号

显示:set nu

禁用:set nonu

2、括号匹配

显示:set sm

禁用:set nosm

3、自动缩进:

set ai

set noai

4、高亮搜索

set hlsearch

set nohlsearch

5、语法着色

syntax on

syntax off

6、忽略字符大小写

set ic

set noic

7、:help 获取帮助

  • 特性设定的永久生效方式:

全局配置文件:/etc/vimrc

用户个人的配置文件:~/.vimrc

练习

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

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

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

答:%s/^[[:space:]][[:space:]]/#/g

3、替换/tmp/functions文件中的/etc/sysconfig/init为/var/log;

答:%s/\/etc\/sysconfig\/init/\/var\/log/g

4、删除/tmp/functions文件中所以#开头,且#后面至少跟了一个空白字符的行的行首#;

答::%s/^#[[:space:]]//g

时间: 2024-08-08 17:13:31

vim编辑器使用详解的相关文章

13、Vim编辑器使用详解

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

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 的基本操作还是有好处,让你在各个不同的机器上得心应手.

vim 使用方法详解 (笔记)

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

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

Ubuntu vim 使用方法详解

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

虚拟机下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

Shell 基础 -- 流编辑器 sed 详解

一.流编辑器 sed 与命令 sed Linux 中,常使用流编辑器 sed 进行文本替换工作.与常使用的交互式编辑器(如vim)不同,sed 编辑器以批处理的方式来编辑文件,这比交互式编辑器快得多,可以快速完成对数据的编辑修改. 一般来说,sed 编辑器会执行以下操作: 1)一次从输入中读取一行数据: 2)根据所提供的编辑器命令匹配数据: 3)按照命令修改流中的数据: 4)将新的数据输出到 STDOUT. 在 sed 编辑器匹配完一行数据后,它会读取下一行数据并重复这个过程,直到处理完所有数据