vim编辑器教程

更新时间:2018-09-03 10:49:23 点击次数:1389次

本文介绍linux中的编辑器vim操作,以及基本命令操作

Vim具有6种基本模式和5种派生模式,我们这里只简单介绍下6种基本模式:

在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。

Vim强大的编辑能来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。例如普通模式命令dd删除当前行,但是第一个”d”的后面可以跟另外的移动命令来代替第二个d,比如用移动到下一行的”j”键就可以删除当前行和下一行。另外还可以指定命令重复次数,2dd(重复dd两次),和dj的效果是一样的。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效地进行文本编辑。

在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键。

在这个模式中,大多数按键都会向文本缓冲中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。

在插入模式中,可以按ESC键回到普通模式。

可视模式(Visual mode) 
这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的”文本对象”也能和移动命令一样用在这个模式中。

这其中我们常用到就是普通模式、插入模式和命令

vim  文件名 //如果文件名不存在,会自动创建文件并打开
vim nginx.conf //进入普通模式
a 或 i  //进入插入模式
Esc  //退出插入模式,进入普通模式
: //退出普通模式,进入命令行模式
命令行模式下: wq保存退出 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

游标移动

按Esc进入普通模式,在该模式下使用方向键或者h,j,k,l键可以移动游标。

按键 说明
h
l 右(小写L)
j
k
w 移动到下一个单词
b 移动到上一个单词

从普通模式进入插入模式

按Esc进入普通模式,在该模式下使用方向键或者h,j,k,l键可以移动游标。

按键 说明
h
l 右(小写L)
j
k
w 移动到下一个单词
b 移动到上一个单词

保存文件

:w 文件名 //可以将文档另存为其他文件名或存到其它路径下

:w //保存文件
:w test //另存为test文件 
  • 1
  • 2
  • 3
  • 4
  • 5

退出vim

命令行模式下退出vim 
从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑

以下为其它几种退出方式:

命令 说明
:q! 强制退出,不保存
:q 退出
:wq! 强制保存并退出
:w <文件路径> 另存为
:saveas 文件路径 另存为
:x 保存并退出
:wq 保存并退出

普通模式下退出vim 
普通模式下输入Shift+zz即可保存退出vim

普通模式下删除vim文本信息

进入普通模式,使用下列命令可以进行文本快速删除:

命令 说明
x 删除游标所在的字符
X 删除游标所在前一个字符
Delete 同x
dd 删除整行
dw 删除一个单词(不适用中文)
d$或D 删除至行尾
d^ 删除至行首
dG 删除到文档结尾处
d1G 删至文档首部

vim重复命令(普通模式下)

. 表示重复执行上次命令  //向输入x删除第一个字符,再输入.接着删除一个字符
10x 表示删除10连续个字符
3dd 表示删除3行文本
dw或daw 删除一个单词
dNw 删除N个单词 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

游标快速跳转

行间跳转.

命令 说明
nG(n Shift+g) 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)
gg 游标移动到到第一行
G(Shift+g) 到最后一行

行内跳转

命令 说明
w 到下一个单词的开头
e 到当前单词的结尾
b 到前一个单词的开头
ge 到前一个单词的结尾
0或^ 到行头
$ 到行尾
f<字母> 向后搜索<字母>并跳转到第一个匹配的位置(非常实用)
F<字母> 向前搜索<字母>并跳转到第一个匹配的位置
t<字母> 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用)
T<字母> 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用)

复制粘贴和剪切

复制及粘贴

普通模式中使用y复制

普通模式中,yy复制游标所在的整行(3yy表示复制3行)

普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。

普通模式中,y$ 复制至行尾。含光标所在处字符。

普通模式中,yw 复制一个单词。

普通模式中,y2w 复制两个单词。

普通模式中,yG 复制至文本末。

普通模式中,y1G 复制至文本开头。

普通模式中使用 p 粘贴

普通模式中,p(小写)代表粘贴至光标后(下) 
普通模式中,P(大写)代表粘贴至光标前(上)

剪切及粘贴

dd删除命令其实是剪切,每次dd删除文档内容后,使用p来粘贴,这样可以实现—-交换上下行

查找替换

字符的替换及撤销操作

命令 说明
r+<待替换字母> 将游标所在字母替换为指定字母
R 连续替换,直到按下Esc
cc 替换整行,即删除游标所在行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C(大写) 替换游标以后至行末
~ 反转游标所在字母大小写
u{n} 撤销一次或n次操作
U(大写) 撤销当前行的所有修改
Ctrl+r redo,即撤销undo的操作

快速缩进

普通模式下操作

>> 整行向右缩进
<< 整行向左回退 
  • 1
  • 2
  • 3

普通模式下,对shftwidth值进行设置,可以控制缩进和回退e字符数

:set shiftwidth? //查看当前缩进字符数
:set shiftwidth=10 //设置缩进字符数为10 
  • 1
  • 2
  • 3

shiftwidthn可以简写为sw

调整文本位置

命令行模式下,操作光标所在的行

:ce //本行内容剧中
:ri //本行内容靠右
:le //本行内容靠左 
  • 1
  • 2
  • 3
  • 4

查找

普通模式下,输入 /, 然后输入需要查找的字符串,按回车即可进行查找。 功能与 / 功能相同,只不过 ?向下查找。进入查找之后,在字符串之后输入nN 可以继续查找,n表示继续查找,N表示方向查找

高级查找

普通模式下输入*寻找游标所在处的单词 
普通模式下输入#同上,但 # 是向前(上)找,*则是向后(下)找 
普通模式下输入g*同* ,但部分符合该单词即可 
普通模式下输入g#同# ,但部分符合该单词即可

高级功能

多文件编辑

vim编辑多个文件

vim 1.txt 2.txt 
  • 1
  • 2

默认进入1.txt文件的编辑界面

进入vim后打开新文件

恢复文件

如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r进入文档后,输入:ewcover 1.txt来恢复

vim -r 1.txt 
  • 1
  • 2

可视模式

可视模式命令简介

可视模式命令练习

视窗操作

vim 可以在一个界面里打开多个窗口进行编辑,这些编辑窗口称为 vim 的视窗。 打开方法有很多种,例如可以使用在命令行模式下输入 :new 打开一个新的 vim 视窗,并进入视窗编辑一个新文件(普通模式下输入 Ctrl+w也可以),除了 :new 命令,下述列举的多种方法也可以在命令模式或普通模式下打开新的视窗:

**注意:快捷键可能会与浏览器的快捷键冲突,可换为 IE 浏览器进行实验或者在浏览器设置里禁用浏览器快捷键。 
**

创建加密文档

vim -x nginx.conf 
  • 1
  • 2

根据提示输入密码,下次打开文件时,需要输入密码

vim执行外部命令

在命令行模式中输入!可以执行外部的shell命令

vim中查看帮助

功能设定

vim的功能设定

可以在编辑文件的时候进行功能设定,如命令行模式下输入:set nu(显示行数),设定值退出vim后不会保存。要永久保存配置需要修改vim配置文件。 vim的配置文件~/.vimrc(实验楼环境中配置文件在/etc/vim/vimrc),可以打开文件进行修改,不过务必小心不要影响vim正常使用

获取目前的设定

set功能的说明

- 命令行模式下输入: set cindent(cin) 设置C语言风格缩进

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!