首页 > 编程知识 正文

如何使用linux系统,linux vim命令详解

时间:2023-05-05 01:54:14 阅读:25925 作者:735

我刚接触Linux,不久前申请了免费体验的Alibaba云(AlibabaCloud )服务器。 您选择的是Ubuntu系统,在设置jdk环境变量时必须编辑文件。

vi下令编辑文件,进行了百度调查,但很多回答都不够,所以编辑文件花了时间。

我在这里整理了博客,分享给大家。

另一方面,需要知道vi编辑器有三种基本的操作模式,首先vi编辑器有三种基本的操作模式:命令模式、文本输入模式和最后一行模式。

第一,命令行模式。 此模式是进入vi编辑器后的默认模式。 无论何时用户处于何种模式,按ESC键都将进入命令模式。 在此模式下,用户可以输入vi命令,用户可以管理自己的文档。 此时,通过键盘输入的文字全部解释为编辑命令。 如果输入的字符是有效的vi命令,则vi在接受用户命令后完成相应的操作。 但是,请注意,输入的命令不会显示在屏幕上。 如果输入的字符不是vi命令,则vi会发出警报。

第二种模式是文本输入模式。 无论是在命令模式下输入命令I、添加命令a、打开命令o、修改命令c、替换命令r还是替换命令s,都可以进入文本输入模式。 在此模式下,用户输入的所有字符都将被vi保护为文件内容,并显示在屏幕上。 输入文本时,如果想返回命令模式,只需按ESC键。

第三,最后一行模式:最后一行模式也称为ex转义模式。 在命令模式下,用户按“:”键进入最后一行模式。 在这种情况下,vi会在显示窗口的最后一行(通常是屏幕的最后一行)中将“:”显示为最后一行模式的说明符,然后等待用户输入命令。 大多数文件管理命令都在此模式下运行。 例如,将编辑缓冲区的内容写入文件。 执行最后一行命令后,vi自动返回命令模式。 要从命令模式切换到编辑模式,请输入a或I。 如果需要从文本模式返回,只需按ESC键。 在命令模式下输入“:”将切换到最后一行模式,然后输入命令。

综上所述,一般来说,我们使用命令打开文件时,会进入命令模式。 在命令模式下,可以在文本输入模式和最后一行模式之间切换,但不能在文本输入模式和最后一行模式之间直接相互切换。 因此,要从文本输入模式切换到最后一行模式,必须返回到命令模式,然后进行切换。 反之亦然。

此外,若要编辑文本,请在文本输入模式下通过键盘输入来编辑文章,或者在命令模式下使用vi命令可以获得编辑效果。

在实例演示中,首先使用命令vi filename打开文件。 此时进入命令模式,然后按I键,用键盘自由输入写入。 然后按ESC返回命令模式。 命令模式时,按:进入最后一行模式。 我们输入wq! 返回车上,强制保存并退出。 下次打开相应的文件时,可以使用less filename命令打开。 可以看到内容发生了变化。

追述(1)在最终行模式下) q! 【强制退出也不保存】q【退出也不保存】wq【退出保存也可以以后添加! 】2 )如果要退出而不保存,可以在命令模式下使用“ctrl z”快捷键,或在按住shift键的同时输入两个z退出。

更多命令进入vi的命令打开或创建vi文件名:文件。 将光标置于第一个vi n filename上,将光标置于第一个vi filename上,将光标置于最后一个vi /pattern filename上,然后打开文件。 将光标置于与pattern第一个匹配的字符串上,vi -r filename :上次在vi中编辑时发生系统崩溃,filename vi filename….filename :打开多个文件,依次进行编辑

画面滚动类命令Ctrl u :向文件开头半画面Ctrl d :向文件末尾半画面Ctrl f :向文件末尾1画面Ctrl b; 向文件开头滚动nz :将第n行滚动到屏幕顶部,如果未指定n,则将当前行滚动到屏幕顶部。

插入文本命令I :在光标之前I :在当前行开头a :在光标之后a :在当前行末尾o :在当前行下方创建新行o :在当前行上方创建新行r :替换当前字符r :替换当前字符和后续字符。 ESC键s :从当前光标位置开始,替换输入文本中指定数量的字符s :删除指定数量的行,用输入的文本替换nCC

命令删除ndw或ndw :删除光标位置的开头和后面的n-1个字符do :行首删除d$ :行尾删除ndd :删除当前行及其后面的n-1行x或x:1个字符,用x光标后、x光标前的Ctrl u :输入法输入

和替换命令/pattern :是否要从光标开头在文件末尾查找pattern? pattern :从光标开头向文件开头搜索pattern :将上次搜索命令向同一方向重复n :将上次搜索命令反向重复: s/p1/p2/g :将当前行中的所有p1替换为p2 :

选项设置(all )列出所有选项设置(term )终端类型(设置ignorance )在搜索中忽略大小写(list )制表位(Ctrl I )和行尾符号($ ) number )显示行号

允许在搜索模式中,使用前面不带“”的特殊字符 nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始 mesg:允许vi显示其他用户用write写到自己终端上的信息

末行模式命令 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d :将n1行到n2行之间的内容删除 :w :保存当前文件 :e filename:打开文件filename进行编辑 :x:保存当前文件并退出 :q:退出vi :q!:不保存文件并退出vi :!command:执行shell命令command :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 :r!command:将命令command的输出结果放到当前行

寄存器操作 “?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 “?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 “?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 “?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。 以上就是良许教程网为各位朋友分享的Linux相关知识。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。