天天看点

Linux学习笔记——vi/vim编辑器命令快速入门

1.前言

    vi/vim是linux中很重要的文本编辑器。我第一次使用这个编辑器时,很不习惯,甚至都不知道如何移动光标和插入字符。慢慢地经过学习,才知道如何使用vi/vim。

    vi/vim的作用是建立、编辑和显示文本文件,在vi/vim中,没有菜单,只有命令。下面先说说vi和vim的区别:

    简单来说,他们都是多模式编辑器,不同的是vim是vi的升级版本,vim不仅兼容vi的所有指令,还引入了一些新的特性

①方向键

在vi中是不支持方向键的

②多级撤销

在vi里,按u只能撤销上次命令,而在vim里可以无限制的撤销。

③易用性

vi只能运行于unix中,而vim不仅可以运行于unix,还可以运行在windows,mac等多操作平台。

④语法高亮

vim可以用不同的颜色来加亮你的代码。

⑤可视化操作

vim不仅可以再终端运行,也可以运行于windows、mac os中。

⑥对vi的完全兼容

在某些情况下,可以把vim当做vi来使用。

2.常用命令

    vi有三种工作模式:命令模式、插入模式和编辑模式。一进入vi,默认的是命令模式,即输入的内容,系统全部当成是命令。当编辑模式执行完以后,自动回到命令模式。下面给出一张图,说明这三种模式的切换:

Linux学习笔记——vi/vim编辑器命令快速入门

2.1插入模式

命令 作用
a 在光标后附加文本
A 在本行行末附加文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入新行
O 在光标上插入新行

2.2定位命令

命令 作用
h、方向左键 左移一个字符
j、方向下键 下移一行
k、方向上键 上移一行
l、方向右键 右移一个字符
$ 移至行尾
移至行首
H 移至屏幕上端
M 移至屏幕中央
L 移至屏幕下端
:set nu 设置行号
:set nonu 取消行号

gg

G

到第一行

到最后一行

nG 到第n行
:n 到第n行

2.3删除命令

命令 作用
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到文件末尾的内容
D 删除从光标所在处到行尾的内容
:n1,n2d 删除指定范围的行

2.4复制和剪切命令

命令 作用
yy、Y 复制当前行
nyy、nY 复制当前行一下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下或行上

注:在vi中,剪切就是删除之后再粘贴

2.5替换和取消命令

命令 作用
r 取代光标所在处字符
R 从光标所在处开始替换字符,按Esc结束
u 取消上一步操作

注:比如改变单个字符,先输入r,再输入需要更改的字符。比如将字符a改成b。这适合用于少量修改时使用

2.6搜索和替换命令

命令 作用
/string

向前搜索指定字符串

搜索时忽略大小写 :set ic

n 搜索指定字符串的下一个出现位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串

注:n是从前往后,N是从后往前找

set noic是设置大小写敏感

:n1,n2s/old/new/c    替换时进行询问是否真的替换

ZZ与:wq的作用一样,都是保存退出

对于readonly文件,如果是root或者改文件所有者,即使该文件没有写权限,使用:wq!也能保存该修改之后的文件。

仅仅保存但不退出 :w

另存为  :w /root/file.bak

2.7其它命令

导入文件 :r 文件名

在vi中执行命令 :! 命令

定义快捷键 :map 快捷键  触发命令

范例:  :map  ^P  I#<ESC>         注:^p是这样输入的 ctrl+v+v  --> ^p

     :map  ^B  0x

连续行注释 :n1,n2s/^/#/g              注:^表示行首

    :n1,n2s/^#//g

    :n1,n2s/^/\/\//g

替换  :ab huhuimail    [email protected]         取消ab命令    :unan huhuimail

:r !date   在vi中加入命令执行的结果

快捷键插入邮箱  :map ^e [email protected]

2.8修改用户vim设置

修改用户vim设置,比如能永久保存快捷键

vi ~/.vimrc

缺省这个文件是空的,然后可以写入一些快捷键

Linux学习笔记——vi/vim编辑器命令快速入门

附:vi/vim操作键盘图

Linux学习笔记——vi/vim编辑器命令快速入门

继续阅读