Linux——vim的基本操作和以及不同模式下的命令集

1.vim 的基本概念

vim 的常见三种模式(其实有好多模式,掌握常见这 3 种即可)的功能如下:

  • 正常 / 普通 / 命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 模式或者 last line mode 模式下。
在这里插入图片描述

  • 插入模式(Insert mode)

只有在 Insert mode 模式下,才可以做文字输入编辑。
在这里插入图片描述

  • 底行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。
在这里插入图片描述

2 vim 的基本操作

刚进入 vim 编辑器时,是处于正常模式下的,需要切换到插入模式才能够输入文字。

  • 正常模式切换至插入模式,有 3 种方式:
    按i进入插入模式后,从当前光标所在位置开始输入文字。
    按a进入插入模式后,从当前光标所在位置的下一个位置开始输入文字。
    按o进入插入模式后,插入新的一行,从行首开始输入文字。
  • 插入模式切换至正常模式
    ESC键。
  • 正常模式切换至末行模式
    按下shift + :,其实就是输入 : 冒号。
    退出 vim 操作,在正常模式中输入 : 冒号进入末行模式,然后输入:
    w(保存当前文件)
    wq(保存当前文件并退出 vim)
    q!(不保存强制退出 vim)

3 vim 在正常模式中的命令集

下面的所有的n代表的是一个数字;+代表+号两边两个键一起按下

移动光标:

vim 可以直接用键盘上的方向键来控制光标上下左右移动,但正规的 vim 是用小写英文字母「h」、「j」、「k」、「l」来分别控制光标向左、下、上、右移一格。

下面是几个移动光标的命令:

  • gg:进入到文本开始
  • shift+g / G:移动到文章的最后
  • $ :移动到光标所在行的 “行尾”
  • ^:移动到光标所在行的 “行首”
  • w:光标跳到下个字的开头(以单词为单位)
  • e:光标跳到下个字的字尾(以单词为单位)
  • b:光标回到上个字的开头(以单词为单位)
  • n+l:光标移到该行的第 n个位置,如:5l、56l
  • n+G:光标移动到第 n 行
  • n+j / k光标向下 / 上移动 n 行

删除文字:

  • x:每按一次,删除光标所在位置的一个字符(常用)
  • n+x:例如,「6x」表示删除光标所在位置的 “后面(包含自己在内)” 的 6 个字符
  • shift+x / X:大写的 X,每按一次,删除光标所在位置的 “前面” 一个字符
  • n+X:例如,「20X」表示删除光标所在位置的 “前面” 20个字符
  • dd:删除光标所在行(常用)
  • n+dd:从光标所在行开始删除 # 行

复制文字:

  • yw:将光标所在之处到字尾的字符复制到缓冲区中。
  • n+yw:复制 n 个字到缓冲区。
  • yy:复制光标所在行到缓冲区。(常用)
  • n+yy:例如,6yy表示拷贝从光标所在的行(包含自己在内) “往下数” 6 行文字。
  • p:将缓冲区内的字符粘贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。(常用)
  • n+p:将缓冲区内的字符粘贴 n 份到光标所在位置。
  • yy + p:复制粘贴
  • dd + p:剪切粘贴

替换操作:

  • r:替换光标所在处的字符(局部文本替换)。(常用)

  • R:替换光标所到之处的字符,直到按下ESC键为止(整体文本替换)。
    字母大小写转换:

  • shift+~:先按下 shift 键,再按下波浪号 ~ 不要停,往后遇到的所有小写字母将被转成大写,所有大写字母将被转成小写。

撤销上一次操作:(常用)

  • u:如果您误执行一个命令,可以马上按下u,回到上一个操作。按多次 “u” 可以执行多次恢复。(撤销)
  • ctrl + r: 撤销的恢复。(重做相当于window下的ctrl+y)

更改操作:

  • c+w:更改光标所在处的字到字尾处。
  • c+n+w:例如,c3w表示更改3个字。

跳至指定的行:

  • ctrl+g列出光标所在行的行号。
  • n+G:例如,15G表示移动光标至文章的第 15 行行首。

4 vim 在末行模式中的命令集

在使用末行模式之前,请记住先按ESC键确定您已经处于正常模式,再输入 : 冒号进入末行模式,然后输入下列指令才会有效。

列出行号:

  • set nu:输入set nu后,会在文件中的每一行前面列出行号。
  • set nonu:取消set nu列出的行号。

跳到文件中的某一行:

  • n:n 表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15,再回车,就会跳到文章的第 15 行。

查找字符命令:

  • /word:向光标之下寻找一个名称为 word 的字符串,如果第一次找的关键字不是您想要的,可以一直按n键向下继续寻找该关键字。(常用)
  • ?word:向光标之上寻找一个字符串名称为 word 的字符串,如果第一次找的关键字不是您想要的,可以一直按n键向上继续寻找该关键字。

批量化替换字符命令:

  • %s/printf/cout/g(把文中所有 printf 替换成 cout,g --global 表示全局的意思)(常用)

查看函数手册命令:

  • !man [选项] [函数名](按 q 退出手册)(常用)

保存文件命令:

  • w: 在冒号输入字母w就可以将文件保存起来。可以跟一个感叹号 w! 强制保存。
    退出 vim 命令:

  • q:按q就是退出,如果无法退出 vim,可以跟一个感叹号 q! 强制退出 vim。

  • wq:一般建议退出时,搭配w一起使用,这样在退出的时候还可以保存文件。(常用)

多文件多屏操作:

比如:如果我们想把 test.c 文件中的 10 行代码复制 test1.c 文件中,该如何操作呢?

  • vs test1.c(在 vim 中打开 test1.c 文件,左右分屏)

  • 按 ctrl + w + w 组合键可以切换到另一个屏幕(w 要按两下)。

在末行模式下跑任何想跑的命令:

格式 !命令(! 表示底行执行 bash 命令),比如:

!ls -l
!gcc -o test test.c

5 如何配置 vim 编辑器

  • 在目录 /etc/ 下面,有个名为 vimrc 的文件,这是系统中公共的 vim 配置文件,对所有用户都有效。
  • 在每个用户的主目录 ~ 下,都可以自己建立私有的配置文件,命名为:.vimrc。
  • 比如 root 用户的 /root 目录下,通常已经存在一个 .vimrc 文件,如果不存在,则需要自己手动创建,切换用成你自己想要配置的用户,执行 su ,执行 cd ~ 进入自己的主工作目录。
  • 最后执行 vim .vimrc 打开自己目录下的 .vimrc 文件。添加配置选项即可。

常见的一些配置选项

设置语法高亮:syntax on
显示行号:set nu
设置 tab 缩进的空格数为 4:set shiftwidth=4

其他配置选项老铁们可以自行搜索这里就不过多赘述。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值