Linux-Vim-入门-实用命令

介绍

Vim(表示Vi iMproved)是Linux命令行界面(CLI)上可用的主要文本编辑器,用于创建和编辑文件。它提供了两种主要模式:命令模式和插入模式。

命令模式和插入模式

命令模式

Vim命令模式旨在文本文件中快速移动,并执行诸如复制单词、复制和删除一行或多行、搜索、替换等功能。

插入模式

要开始向文件中添加文本,我们必须切换到插入模式。要做到这一点,只需按下键盘上的字母“i”,然后写下你想要的内容

This is a vim tutorial
~                                                                                                                                                                                                
~                                                                                                                                                                                                
~      
-- INSERT --         

使用ESC退出插入模式,进入命令模式,底部的- INSERT -就消失了

Vim基础命令

当处于命令模式时,命令提示出现在vim窗口的底部

命令 作用
:w 保存文件,但不退出vim
:wq 保存文件,退出vim
:x 保存文件,退出vim
:q! 不保存文件,强制退出vim

示例:

输入:q,提示文件已经更改,但没有保存更改

This is a vim tutorial
~                                                                                                                                                                                                
~                                                                                                                                                                                                
~  
E37: No write since last change (add ! to override)

输入:q!,强制退出成功

This is a vim tutorial
~                                                                                                                                                                                                
~                                                                                                                                                                                                
~
:q!

要在vim中跳转到某一行,请使用:(冒号)后跟行号

示例:使用:3切换到文件的第三行

First line
Second line
Third line
Fourth line
~                                                                                                                                                                                                
~                                                                                                                                                                                                
~                 
:3

在文件中快速移动检索的实用命令

命令 作用
:0 移动到文件开始位置
:$ 移动到文件末尾位置
:n 移动第n行
0 移动到行首位置
^ 移动到行首非空白字符位置
$ 移动到行尾位置
H 移动到屏幕顶部位置
M 移动到屏幕中部位置
L 移动到屏幕底部位置
b 移动到上一个单词位置
w 移动到下一个单词位置

插入、复制、删除行

使用vim插入新行的一种快速方法是在命令模式下按下字母' o '

这样做将自动在当前行下创建一个空行,将光标移动到新空行的开头,并将vim切换到插入模式以允许您写入文本

复制行,只修改其中的一部分

文件内容

auth.endpoint=/api/auth/v1
~                                                                                                                                               
~                                                                                                                                               
~                                                                                                                                               
~     
"vim_tutorial.txt" 1L, 27C

 复制行并粘贴到它的下面

  1.  进入命令模式
  2.  按yy复制行(yank to clipboard)
  3.  按p粘贴到下面一行
auth.endpoint=/api/auth/v1
auth.endpoint=/api/auth/v1
~                                                                                                                                               
~                                                                                                                                               
~                                                                                                                                               
~     
"vim_tutorial.txt" 2L, 54C written

切换到插入模式,更改第二行

auth.endpoint=/api/auth/v1
analytics.endpoint=/api/analytics/v1
~                                                                                                                                               
~                                                                                                                                               
~                                                                                                                                               
~  
"vim_tutorial.txt" 2L, 64C written          

删除行

只需将光标移动到行上的某个位置,然后按dd,行将被删除

复制、粘贴、删除多行

步骤

  1. 将光标移到要复制的行块的第一行
  2. 输入2yy、3yy或4yy,等等,取决于你要复制的行数
  3. 移动到行块的最后一行,按' p '

结果

这将粘贴我们复制的所有行,紧跟在行块之后

在文件中搜索文本

要搜索特定的文本,输入一个正斜杠(/),后跟关键词

#       $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
....
....
[ more lines in the file]
....
....
/AuthorizedKeysFile

当你按下Enter键时,光标将跳转到要搜索的文本的第一个位置

如果文件中出现多次相同的文本,使用字母n(仍然在命令模式下)跳到文件中下一次出现的文本

复制、删除单词

  1. 要做到这一点,请将光标移到要复制的单词的开头,并确保处于命令模式
  2. 然后输入yiw复制你感兴趣的单词,移动到你想粘贴单词的地方,然后按p(仍然在命令模式下)
  3. 类似地,使用diw删除一个单词,将光标移动到要删除的单词的开头。

一些实用Vim技巧

场景 技巧
为Vim添加行号

在命令模式下
输入 :set number,按“Enter”
隐藏行号

输入 :set nonnumber

高亮

在命令模式下

启用语法高亮显示

输入 :syntax on,按“Enter”
要隐藏突出显示语法的颜色,

输入 :syntax off

重做或重复最后一个命令

要重复执行命令,可以在命令模式下使用句点(.)

例如,尝试复制粘贴一行,使用yy和p,然后按下句点(.),就会重复粘贴

撤销更改 在命令模式下按字母' u '来撤销更改
上下移动行

将光标放在要移动的行上。
要将它向下移动,输入 :m +1

要将它向上移动,键入 :m -2

将行转换为大写 输入 gUU
将行转换为小写 输入 guu
计算单词个数

使用vim统计文本文件中的单词数,请键入g,然后按Ctrl-g

示例:

Col 7 of 45; Line 3 of 3; Word 22 of 30; Byte 98 of 137

有30个单词,游标当前在单词22处。

查找、替换

命令格式:

:s/old_text/new_text/

示例:

文本内容

This is a TO_BE_REPLACED tutorial. TO_BE_REPLACED is a Linux text editor.
In this tutorial you will learn TO_BE_REPLACED commands. TO_BE_REPLACED is a very powerful editor.

 输入以下命令,替换 TO_BE_REPLACED 为 'vim'

:s/TO_BE_REPLACED/vim/

执行命令后,文本内容

This is a vim tutorial. TO_BE_REPLACED is a Linux text editor.
In this tutorial you will learn TO_BE_REPLACED commands. TO_BE_REPLACED is a very powerful editor.

可以看到,唯一被替换的文本是第一行中第一次出现的TO_BE_REPLACED

整行替换命令,紧跟/g

:s/TO_BE_REPLACED/vim/g

与前一个命令的区别在于末尾的字母g
这会将replace命令应用于整行,而不仅仅是替换第一个文本

全局替换命令,冒号后面增加1,$

:1,$s/TO_BE_REPLACED/vim/g

打开多个文件

  • 首先,使用以下命令编辑一个名为vim_file1.txt的文件
vim vim_file1.txt
  • 使用命令 :vsplit 将屏幕垂直分成并排的两个部分
  • 使用 Ctrl+w +右箭头 移动到右侧区域
  • 然后在右侧区域打开另一个文件,使用 :e 文件名
e: vim_file2.txt

Linux-Vim-入门-实用命令_第1张图片

你可能感兴趣的:(linux命令,linux,vim,运维)