vim编辑器基础使用教程

vim定义

vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方面编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为Unix系统用户最喜欢的编辑器。最初的简称是VI Imitation,随着功能的不断增加,正式名称改为了Vi Improved。现在是在开放源代码方式下发行的自由软件。

为什么要学习使用vim编辑器?

(1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则一定不会存在。

(2)很多软件的编辑接口都会主动调用vi。

(3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。

(4)程序简单,编辑速度快。

vim的三个模式:插入模式、命令模式、低行模式。

插入模式(insert mode):在此模式下可以输入字符,按ESC将回到命令模式。

命令模式(command mode):可以控制屏幕光标的移动、字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode 。

低行模式(last line mode):可以保存文件、退出vim、设置编辑环境,如寻找字符串、列出行号等。

vim的基本操作

1. 进入vim

打开终端,输入vim,按回车键,就进入了vim。

vim编辑器基础使用教程_第1张图片
此为默认的命令模式

2. 切换至插入模式(insert mode),编辑文件

在命令模式(command mode)下按一下字母[i]就可以进入插入模式(Insert mode),这时候就可以开始输入文字了。

vim编辑器基础使用教程_第2张图片
可以输入文字啦

3. Insert的切换

当处于插入模式(Insert mode),你就只能一直输入文字,如果你发现输入错了文字,想用光标键往回移动,将该字删除,就要先按一下ESC键转到命令模式(command mode)再删除文字。

vim编辑器基础使用教程_第3张图片
可以运用命令模式下功能键删除错误文字

4. 切换至低行模式可以退出vim及保存文件

在命令行模式(command mode)下,按一下[:]冒号键进入低行模式(Last line mode)

:w filename(输入[w filename]将文章以指定的文件名filename保存)

:wq(输入[wq], 表示保存并推出vim)

:q!(输入[q!], 表示不保存强制退出vim)

vim编辑器基础使用教程_第4张图片
低行模式

命令模式(command mode)常用功能键

a)插入模式

1. 按[i]切换进入插入模式(insert mode), 按“i”进入插入模式后是从光标当前位置开始输入文件;

2. 按[a]进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

3. 按[o]进入插入模式后,是插入新的一行,从新的一行的行首开始输入文字。

b)从插入模式切换为命令模式

按【ESC】键。

c)打开文件、保存、关闭文件(vim命令模式下使用)

1. vim filename //打开filename文件

2. :w //保存文件

3. :w vpser.net //保存至vpser.net文件

4. :q //退出编辑器,如果文件已修改请使用下面的命令

5. :q! //退出且不保存文件

6. :wq //退出编辑器且保存文件

d) 插入文本或行(命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

a //在当前光标位置的右边添加文本

i //在当前光标位置的左边添加文本

A //在当前行的末为位置添加文本

I //在当前行的开始处添加文本(非空字符的行首)

O //在当前行的上面新建一行

o //在当前行的下面新建一行

R //替换(覆盖)当前光标位置及后面的若干文本

J //合并光标所在行及下一行为一行(依然在命令模式)

e) 移动光标(vim命令模式下使用)

使用上下左右方向键:命令模式h(向左)、j(向下)、k(向上)、l(向右)。(空格键向右、Backspace向左、Enter移动到下一行首、-移动到上一行首)。

0(数字0)是让光标移动到当前行的行头,$是让光标移动到当前行的行尾。

f)删除、恢复字符或行(vim命令模式下使用)

x //删除当前字符

nx //删除从光标开始的n个字符

dd //删除当前行

ndd //向下删除当前行在内的n行

u //撤销上一步操作

U //撤销对当前行的所有操作

g)搜索(vim命令模式下使用)

/vpser //像光标下搜索vpser字符串

?vpser //像光标上搜索vpser字符串

n //像下搜索前一个搜索动作

N //像上搜索前一个搜索动作

h)跳至指定行及上下翻页(vim命令模式下使用)

n+ //像下跳n行

n- //像上跳n行

gg让光标移动到第一行行头

nG //跳到行号为n的行

G //跳至文件的底部(让光标移动到最后一行行头)

{让光标移动到当前段落的kai开头, }让光标移动到当前段落的结尾

i)设置行号(vim命令模式下使用)

:set nu //显示行号

:set nonu //取消显示行号

j)复制、粘贴、删除(vim命令模式下使用)

复制或删除一段内容,先按v键然后移动光标(用方向键向h左i右k上j下),可以看见被选中的字符,选中要复制或删除的内容,然后输出y(复制)、d(删除)、p(粘贴)。

yy //将当前行复制到缓存区, 也可以用“ayy”复制, a 为缓存区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

nyy //将当前行向下n行复制到缓存区,也可以用“anyy”复制,a为缓存区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

y^ //复制从光标到行首的内容

y$ // 复制从光标到行尾的内容

p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用“ap”进行粘贴

P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用“aP”进行粘贴

k)替换(vim命令模式下使用)

:s/old/new //用new替换行中首次出现的old

:s/old/new/g //用new替换行中所有的old

:n,m s/old/new/g //用new替换从n到m行里所有的old

:%s/old/new/g //用new替换当前文件里所有的old

o)编辑其他文件

:e otherfilename //编辑文件名为otherfilename的文件。

p)修改文件格式

:set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。


文章著作权归饥人谷_sunny和饥人谷所有,转载须说明来源

你可能感兴趣的:(vim编辑器基础使用教程)