ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux快速入门(七)效率工具(Vim)

2022-08-30 23:34:29  阅读:218  来源: 互联网

标签:文件 入门 可以 模式 Vim 命令 当前 Linux 光标


Vim编辑器

所有的Linux系统都会内建一个Vi文本编辑器,而Vim是从Vi发展出来的一个高度可配置的文本编辑器,旨在高效的创建和更改任何类型的文本,它还可以根据文件的扩展名判别编程语言。
使用方式:vim 文件名

编辑器模式

Vim有三种编辑模式分别是:
(1) 普通命令模式
用户刚启动Vim时,就处于命令模式,在命令模式下,用户的输入会被识别为命令。在这个模式下可以进行文本的复制、粘贴、剪切等操作。在此模式下命令可以进行组合操作。

(2) 编辑模式
命令模式下按aio中的任意一个按键就可以切换到编辑模式,在编辑模式下按Esc键可以切换到普通命令模式编辑模式主要是对文件的内容进行编辑。

(3) 底线命令模式
命令模式下按:就可以切换到底线命令模式,在底线命令模式下按Esc可以切换到普通命令模式。在底线命令模式下,可以对文件内容进行检索、保存、退出等操作。

这三种模式的关系可以表示为(图像来源:菜鸟教程):

Vim命令汇总(图像来源:菜鸟教程):

常用命令

命令模式

通过Vim打开文件之后处于命令模式,在此模式下可以:

  • 光标移动
    (1)h左箭头键表示光标向左移动一个字符,j下箭头表示光标向下移动一个字符、k上箭头表示光标向上移动一个字符、l右箭头表示光标向右移动一个字符
    (2)gg:可以将光标移动到文件第一行G:可以将光标移动到文件的最后一行。如果要移动到指定的某一行可以使用nGn为一个具体的数字,比如想要移动到第三行可以输入3G,就可以跳转到第三行
    (3)$:将光标移动到当前光标所在行的末尾n<space>:可以将光标从当前位置向后移动n个位置

  • 文本操作
    (1)v:选择模式,在此模式下可以通过上下左右选择需要的文本,然后进行操作。
    (2)d:剪切当前选中的文本;dd:剪切当前行;ndd:剪切包括当前行在内的n行;dG:剪切从光标所在行到最后一行的数据,如果想要删除所有数据,可以将gg命令和dG命令组合使用,输入ggdG,光标会先跳转到第一行,然后删除当前行到最后一行的所有数据。可以将这几个命令当删除使用
    (3)y:复制选中的文本;yy:复制当前行;nyy:复制当前行在内的n行
    (4)p:在当前光标位置粘贴之前剪切或者复制的内容
    (5)u:撤销上一步操作

编辑模式

对文件的内容进行编辑,类似Word操作,在当前模式下可以通过Esc切换到普通命令模式,再通过:/?中的任意一个就可以切换到底线命令模式。

底线命令模式

在底线命令模式下Enter键表示输入完成,在此命令模式下可以:

  • 格式设置
    (1):set nu:显示当前文本的行号;:set nonu:取消行号显示
  • 文本检索、替换
    (1)/word:从光标当前位置向下查找第一个为word的字符串,使用n可以重复前一个查找操作,这样就可以从光标当前位置一直向下查找带有word的字符串,使用N可以反向重复前一个操作,与n相反,这样就可以从光标当前位置向上查找带有word的字符串;?word从光标当前位置向上查找第一个为word的字符串。
    (2) :n1,n2s/w1/w2/g:其中n1n2位数字,g表示全局搜索,该命令表示在第n1行与n2行之间寻找w1这个字符串,并将该字符串替换为w2:1,$s/w1/w2/g:将第一行到最后一行的w1替换为w2:1,$s/w1/w2/gc:将第一行到最后一行的w1替换为w2,且在替换前要求用户确认。
  • 文件操作
    (1):w:保存当前文件
    (2):q:退出当前文件(不保存)
    (3):q!:强制退出当前文件(不保存)
    (4):wq:保存当前文件并退出
    (5):wq!:强制保存当前文件并退出,如果是写入之后强制保存需要确保当前文件有写权限

标签:文件,入门,可以,模式,Vim,命令,当前,Linux,光标
来源: https://www.cnblogs.com/Timesi/p/16637764.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有