linux操作系统vi文本编辑器_vim编辑器输入内容

(1) 2024-08-23 08:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
linux操作系统vi文本编辑器_vim编辑器输入内容,希望能够帮助你!!!。

往期内容

Linux常用指令合集

Linux文本编辑器

Linux软件包管理

Linux用户管理

Linux权限管理

文章目录

      • Vim常用操作
        • 什么是Vim
        • Vim工作模式
        • 插入命令
        • 定位命令
        • 删除命令
        • 复制和剪切命令
        • 替换和取消命令
        • 搜索和搜索替换命令
        • 保存和退出命令
      • Vim使用技巧
    • 笔记领取

Vim常用操作

什么是Vim

Vim是一个全屏幕文本编辑器,是Linux/UNIX最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。

Vim没有菜单,只有命令。

Vim工作模式

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第1张

如上图,vi+文件名进入文件,默认为命令模式。

[root@iZ2ze0xeiu8g6ub59nsq0bZ test]# vi ceshi 

在命令模式下,所输入的字母都被当成命令,所以如果输入的字母并不是正确的命令,则需要继续输入。

若要进入插入模式,则需要输入命令i、a或o。

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第2张

在命令模式下,若误删内容,可按u撤销删除。

在命令模式下按 可进入编辑模式,然后再输入想要执行的命令即可。

编辑模式的命令执行完后会自动恢复到命令模式。

下面再来详细介绍一下Vim的常用命令(命令模式下输入)

插入命令
a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行行首插入 o 在光标下插入新行 O 在光标上插入新行 
定位命令
:set nu 设置行号 :set nonu 取消行号 gg 到第一行 G 到最后一行 nG 到第n行 :n 到第n行 $ 移至行尾 0 移至行首 
删除命令
x 删除光标所在处字符 nx 删除光标所在处后n个字符 dd 删除光标所在行,ndd删除n行 dG 删除光标所在行到文件末尾内容 D 删除光标所在处到行尾内容 :n1,n2d 删除指定范围的行 

这里说一下最后一个命令

例如我要删除7-10行内容,可进行如下图操作

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第3张

复制和剪切命令
yy 复制当前行 nyy 复制当前行以下n行 dd 剪切当前行 ndd 剪切当前行以下n行 p、P 粘贴在当前光标所在行下或行上 
替换和取消命令
r 取代光标所在处字符 R 从光标所在处开始替换字符,按Esc结束 u 撤销上一步操作 Ctrl+r 取消撤销 
搜索和搜索替换命令
/string 搜索指定字符串 搜索时忽略大小写:set ic 

如下图,若要在文件中搜索关于ftp的内容,则输入/ftp再回车即可,按n切换到下一个含有该关键词的字符串。
linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第4张

搜出来的字符串是区分大小写的,若不区分大小写,则输入命令:set ic

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第5张

全文替换指定字符串

:%s/原来字符串/替换后字符串/g 

例如我要把文件中的ftp替换成study,操作如下图所示:

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第6张

在一定范围内替换指定字符串

:n1,n2s/原来字符串/替换后字符串/g 

例如我要把文件中40-50行的study替换成ftp,操作如下图所示:

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第7张

保存和退出命令
:w 保存修改 :w name 另存为指定文件 :wq 保存修改并退出 ZZ 快捷键,保存修改并退出 :q! 不保存修改退出 :wq! 保存修改并退出(文件所有者及root可用) 

这里说一下最后一个命令的作用

先查看一下,etc文件夹下services的权限

[root@iZ2ze0xeiu8g6ub59 /]# ll /etc/services -rw-r--r--. 1 root root  Jun 7 2013 /etc/services 

可以发现,文件所有者是有写权限的,现在我们把写权限去掉

[root@iZ2ze0xeiu8g6ub59 /]# chmod 444 /etc/services [root@iZ2ze0xeiu8g6ub59 /]# ll /etc/services -r--r--r--. 1 root root  Jun 7 2013 /etc/services 

现在所有者没有写权限,那么如果要保存修改后的文件services,则需要输入:wq!强行保存修改。

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第8张

Vim使用技巧

:r 将某个文件导入到当前文件的光标所在位置 

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第9张

:!命令 可以在不退出Vim的情况下执行相应的系统命令 

例如我在不退出Vim的情况下想知道命令mv的路径,则输入:!which ls即可,如下图。

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第10张

上面两个命令的结合

如果我要将文件编辑结束时的时间导入到到文件中,则可以输入

:r !date 

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第11张

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

来说说这个map如何使用,例如现在我要把光标所在行注释掉

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第12张

一般来说可分为以下几步:

  1. 光标移到该行行首并进入插入模式,使用命令I
  2. 添加#注释
  3. Esc退出插入模式

如果要注释的行比较多,则会变得非常繁琐,下面我们输入命令,将Ctrl+P定义为以上几步的快捷键

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第13张

现在只要在光标所在行输入Ctrl+p就能将该行注释

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第14张

但如果我们定义的快捷键很多,记不住时,我们还可以用到替换,命令格式如下

:ab phone  #在当前编辑文件下,我输入phone再回车就能变成电话号码 

其实上面定义的快捷键或者是ab替换,都没有被系统保存下来,也就是说当我重新登录后就会失效。

那么我们需要将这些快捷键输入到每个用户的home目录下的配置文件里。

以root用户为例,创建一个配置文件.vimrc

[root@iZ2ze0xeiu8g6ub59 /]# vi /root/.vimrc 

然后在配置文件中输入我们使用Vim时的一些常用命令和快捷键,保存即可。

linux操作系统vi文本编辑器_vim编辑器输入内容_https://bianchenghao6.com/blog__第15张

笔记领取

Linux系列文章均已打包成PDF版本的笔记,关注公众号“大拨鼠Code”回复“Linux”领取,持续更新。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复