Linux中vim文本编辑器的介绍和使用方法

Stella981
• 阅读 695

vim主要模式介绍,vim命令模式。

确保系统已经安装了VIM工具

[root@panda ~]# rpm -qf `which vim`

[root@panda ~]# rpm -qf `which vi`

扩展:

问:vi和vim是同一个软件包安装的吗?

答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi

5.1.1 vim编辑器模式

首次进入文件 ---- 命令模式

出现 “Insert” ---- 编辑模式

输入: ---- 命令行模式

A:从编辑模式到命令行模式怎样切换?

编辑模式->esc->命令模式->: ->命令行模式

B:字符操作(怎样进入编辑模式?)

进入编辑模式 a i o A I O

说明:

i 当前字符之前插入 (光标前)

I 行首插入 (行首)

a 当前字符之后插入 (光标后)

A 行尾插入(行尾)

o下一行插入 (另起一行)

O上一行插入(上一行插入)

x 向后删除一个字符 等同于delete

X 向前删除一个字符

u 撤销一步 每按一次就撤销一次

r 替换

5.1.2 在命令模式下做的操作:

光标定位

hjkl 左下上右

0 和 home键表示切换到行首, $和end键表示切换到行尾

gg 快速定位到文档的首行 , G定位到未行

3gg 或者 3G 快速定位到第3行

/string(字符串) -----找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vi会对查找到的内容进行高亮显示,取消用 :noh

/^d ----^意思表示以什么开头 ,,查找以字母d开头的内容

/t$ -----$意思表示以什么结尾,,查找以字母t结尾的内容

vim + a.txt 打开文件后,光标会自动位于文件的最后一行

如何对文本进行编辑

删除、复制、粘贴、撤销

y 复制(以字符为单位) :表示对单个字符进行复制,如果要复制整行,用yy(以行为单位)

复制N行: Nyy ,比如: 2yy ,表示复制2行

dd(删除,以行为单位,删除当前光标所在行)

删除N行: Ndd ,比如: 2dd ,表示删除2行

p : P粘贴

剪切: dd

x 删除光标所在位置的字符

D 从光标处删除到行尾

u 撤销操作

ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样

r 替换,或者说用来修改一个字符

总结:vim如何进入其它模式

a A o O i I 都是可以进行插入,编辑模式

: 进入命令行模式

v 进入可视模式

ctrl+v 进入可视块模式

V 进入可视行模式

R 擦除、改写,进入替换模式

你进入以上模式后,想要退出 ,按esc

扩展:插入模式中的操作

ctrl+p可以进行补全操作,所需要的内容必须是在当前打开的文件内存在的,它只针对当前文件

5.1..3 V模式(列)

进入v模式 移动光标选择区域、

编程的时候需要进行多行注释:
1)、ctrl+v 进入列编辑模式

2)、向下或向上移动光标,把需要注释、编辑的行的开头选中起来

4)、然后按大写的I

5)、再插入注释符或者你需要插入的符号,比如"#"

6)、再按Esc,就会全部注释或添加了

删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标 ;选中注释部分,然后按d, 就会删除注释符号。

5.1.4 命令行模式操作

:w 保存 save

:w! 强制保存

:q 没有进行任何修改,退出 quit

:q! 修改了,不保存,强制退出

:wq 保存并退出

:wq! 强制保存并退出

:x 保存退出

例: wq! 强制保存并退出

[root@xxx ~]# ll /etc/shadow

----------. 1 root root 1179 9月 19 12:57 /etc/shadow

[root@xxx ~]# vim /etc/shadow

调用外部文件或命令

假设:我想要写入我的网卡MAC地址,,我要查看一下,当前在vim编辑文档,照着写。这样好麻烦。

在命令行模式下操作:

:!ifconfig 调用系统命令

!+命令

读取其他文件。(把其他文件中的内容追加到当前文档中)

:r /etc/hosts

文本替换

格式 : 范围(其中%所有内容) s分隔符 旧的内容 分隔符 新的内容 (分隔符可以自定义)

默认是每一行的第一个符合要求的词 (/g全部)

:1,3 s/bin/xxx 替换第1到3行中出现的第一个bin进行替换为xxx

:1,3 s/bin/xxx/g 替换第1到3行中查找到所有的bin进行替换为xxx

:3 s/xue/aaaaa #只把第3行中内容替换了

:% s/do/xxx/g 将文本中所有的do替换成xuegod

:% s/do/xxx/gi 将文本中所有的do替换成xxx, 并且忽略do的大小写

:% s@a@b@g 将文本中所有的a替换成b

5.1.5 自定义vim使用环境

临时设置

:set nu 设置行号

:set nonu 取消设置行号

:noh 取消高亮显示

永久设置环境

vim /etc/vimrc 设置后会影响到系统所有的用户

~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个

例:

[root@xxx ~]# cat /root/.vimrc

set nu

[root@xxx ~]# vim /root/.vimrc

vim打开多个文件

方法1:以上下形势,打开两个文档

[root@xxx ~]# vim -o /etc/passwd /etc/hosts

方法2:以左右方式打开两个文档

[root@xxx ~]# vim -O /etc/passwd /etc/hosts

注:ctrl+ww 在两文档之间进行切换编辑。大写O左右分屏,小写的o上下分屏

比较两个文件内容

[root@xxx ~]# cp /etc/passwd mima.txt

[root@xxx ~]# echo aaa >> mima.txt

[root@xxx ~]# diff /etc/passwd mima.txt

40a41

> aaa

[root@xxx ~]# vimdiff /etc/passwd mima.txt

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
vim介绍 、 vim颜色显示和移动光标 、vim一般模式下移动光标 、vim一般模式下复制、剪切和粘贴
vim是什么vim是什么?在之前接触Linux,编辑网卡配置文件的时候我们用过了vi,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。如果系统中没有vim,需要安装一下:yuminstallyvimenhanced安装完了之后就可以正常使用了。我们使用vi和vim打开/e
Stella981 Stella981
3年前
Linux中vim编辑器常用命令、文件查找、磁盘挂载、用户管理
Vim介绍Vim是全屏幕纯文本编辑器,是vi编辑器的升级版。vim不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在UNIX和Linux中,而vim可以跨平台运行在Windows,MACOS中。vim号称“编辑器之神”,具有无可匹敌的可扩展性。大部分Linux系统中,默认都会安装vim,在L
Stella981 Stella981
3年前
Python 语法检查工具
1\.在vim中检查开始查到的是使用flakesvim(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.vim.org%2Fscripts%2Fscript.php%3Fscript_id%3D2441)这个vim插件,进入其githuab主页
Wesley13 Wesley13
3年前
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴 5.5 进入编辑模式 5.6 vim命令
vim命令vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。vim有三个模式:一般模式,编辑模式,命令模式。系统最小化安装时没有安装vim命令,需要自己使用yum进行安装:root@cham2~yuminstallyvimenhanced
Stella981 Stella981
3年前
CentOS安装vim及基本配置
新装的CentOS系统,默认只安装了vi,没有安装vim,vim以来下面三个包vimenhancedvimminimalvimcommon1.查看本机已存在的包rpm qa|grep vim2.根据上面命令,安装缺失的包
Stella981 Stella981
3年前
Linux
初识vi/vim文本编辑器1.vi和vim相同,都是文本编辑器,在vi模式下可以查看文本,编辑文本,是Linux最常用的命令,vi模式下分为三部分,第一部分一般模式,在一般模式中可以进行搜索字符等按键操作,按下i,o,a任意一个字符就可以进入编辑模式,按ESC回到一般模式,编辑模式下可以对
芝士年糕 芝士年糕
2年前
vi与vim的区别以及常用命令
最近在使用3A服务器,经常修改配置文件,但是在网上看教程的时候,发现有人使用vi,也有人使用vim,但这两者到底有什么区别呢,下面为大家介绍,如果有需要服务器的,可以后台私信我一、vi与vim的区别1、多级撤消在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这