【Linux基础学习】三、vim

文章目录

    • 三、vim
      • 1.vim的三个模式
      • 2.常见命令
        • (1)模式的切换
        • (2)光标的移动
        • (3)字符串查找
        • (4)字符替换
        • (5)去除高亮
        • (6)文本命令
        • (7)撤销与取消撤销
        • (8)文本整体移动
        • (9)文件操作
        • (10)自动补全
        • (11)行号设置
        • (12)全文代码格式化
        • (13)异常处理

三、vim

vim是一个终端的超强编辑器。无需鼠标就可以实现操作。

1.vim的三个模式

vim有三个模式:一般命令模式、编辑模式、命令行模式。

  • 一般命令模式

命令输入方式,按不同的字符实现不同的命令

  • 编辑模式

在命令行模式下按i进入编辑模式,对各种文本、cpp文件、py文件等进行编辑。

  • 命令行模式

在一般命令模式下按:?/中的任意一个进入命令行模式,可以查找、替换、保存、退出编辑器等。

2.常见命令

(1)模式的切换

  • 进入编辑模式:一般命令模式下按:i
  • 进入一般命令模式:其他两种模式下ESC
  • 进入命令行模式:在一般命令模式下:?/

(2)光标的移动

  • h j k l 分别是对光标进行左、下、上、右的移动。

  • n:光标向右移动n个空格

  • 0:移动光标到本行开头

  • $:移动光标到本行末尾

  • G:光标移动到最后一行

  • :nn+G:光标移动到第n行

注意:G=Shift+g

  • gg:光标移动到第一行
  • n:光标向下移动n行

(3)字符串查找

  • /word:从光标位置往下找到第一个"word"

  • ?word:从光标位置往上找到第一个"word"

  • n:重复执行上一个查找操作,即递归操作

  • N:反向重复执行上一个查找操作

(4)字符替换

  • 基本命令为::n1,n2s/word1/word2/g

含义为:n1n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2

当然,也可以全文替换,只需要写为::1,$/s/word1/word2/g即可

$表示最后一行

  • 替换前确认::1,$/s/word1/word2/gc(g改为gc)

(5)去除高亮

  • 命令::noh

(6)文本命令

  • 选中文本:v

  • 取消选中:两次ESC

  • 删除选中的文本:d

  • 删除当前行:dd

删除当前行时已经复制了该行,可实现剪切。

  • 复制选中的文本:y

  • 复制当前行:yy

  • 将复制的数据在光标的下一行/下一个位置粘贴:p

如果复制的是一行,则在光标的下一行粘贴;否则在下一个位置粘贴。

(7)撤销与取消撤销

  • 撤销:u
  • 取消撤销:Ctrl+r

(8)文本整体移动

选中以后:

  • 整体右移:Shift+>
  • 整体左移:Shift+<

移动一个tab的距离。

(9)文件操作

  • 保存::w
  • 强制保存::w!
  • 退出::q
  • 强制退出::q!
  • 保存并退出::wq

(10)自动补全

  • 取消自动补全::set paste
  • 开启自动补全::set nopaste

(11)行号设置

  • 开启行号::set nu
  • 隐藏行号::set nonu

(12)全文代码格式化

  • 命令:gg=G

(13)异常处理

当vim卡死时候:

  • 命令:Ctrl+q可以取消正在执行的命令

[异常处理]
每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件。
如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种:
(1) 找到正在打开该文件的程序,并退出
(2) 直接删掉该swp文件即可

你可能感兴趣的:(Linux,vim,linux,学习)