zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux Vi和Vim编辑器

2023-02-18 16:40:54 时间

# Linux Vi和Vim编辑器

# vi和vim的基本介绍

  • Linux系统会内置vi文本编辑器
  • Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

# vi和vim常用的三种模式

# 正常模式

以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、粘贴』来处理你的文件数据。

# 插入模式

按下i,I, o,0, a, A, r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可.

# 命令行模式

输入esc 再输入:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!

# 各种模式的相互切换

# Vi基本操作

操作类型

操作键

功能

光标移动方向

↑、↓、←、→

上、下、左、右

翻页

Page Down 或 Ctrl+F

向下翻动一整页内容

Page Up或Ctrl+B

向下翻动一整页内容

行内快速跳转

Home键或"^"、数字"0"

跳转至行尾

End键或"$"键

跳转至行尾

行间快速跳转

1G或者gg

跳转到文件的首行

G

跳转到文件的尾行

#G

跳转至文件的第#行

行号显示

:set nu

在编辑器中显示行号

:set nonu

取消编辑器中的行号显示

删除

x或Del

删除光标处的单个字符

dd

删除当前光标所在行

#dd

删除从光标处开始的#行内容

d^

删除当前光标之前到行首的所有字符

d$

删除当前光标处到行尾的所有字符

复制

yy

复制当前行整行的内容到粘贴板

#yy

复制从光标处开始的#行内容

粘贴

p(小写)

将缓冲区的内容粘到贯标位置之后

P

粘贴到光标位置处之前

保存文件

:w

:w /root/newfile

另存为其他文件

退出vi

:q

未修改退出

:q!

放弃对文件内容的修改,并退出vi

保存文件退出vi

:wq

操作键

功能

/word

从上而下在文件中查找字符串"word"

?word

从下而上在文件中查找字符串"world"

n

定位下一个匹配的被查找字符串

N

定位上一个匹配的被查找字符串

u

按一次取消最近的一次操作,多次重复按u键,恢复已进行的多步操作

U

用于取消对当前行所做

ZZ

保存当前的文件内容并退出vi编辑器

:e ~/install.log

打开新的文件进行编辑

:r /etc/filesystems

在当前文件中读入其他文件内容

:s /old/new

将当前行中查找到的第一个字符"old"串替换为"new"

:s /old/new/g

将当前行中查找到的所有字符串"old"替换为"new"

:#,# s/oldnew/g

在行号"#,#"范围内替换所有的字符串"old"为"new"

:% s/old/new/g

在整个文件范围内替换所有的字符串"old"为"new"

:s /old/new/c

在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

# vi和vim快捷键

# 快捷键使用练习

  1. 拷贝当前行yy ,拷贝当前行向下的5行5yy,并粘贴(输入p)。
  2. 删除当前行 dd,删除当前行向下的5行5dd
  3. 在文件中查找某个单词[命令行下/关键字﹐回车查找﹐输入n就是查找下一个]
  4. 设置文件的行号,取消文件的行号.[命令行下: set nu和:set nonu]
  5. 编辑/etc/profile文件,在一般模式下,使用快捷键到该文档的最末行[G]和最首行[gg]
  6. 在一个文件中输入"hello",在一般模式下,然后又撤销这个动作u
  7. 编辑/etc/profile文件,在一般模式下,并将光标移动到,输入20,再输入shift+g
  8. 快捷键的键盘对应图