Linux编辑器-vim使用

vim的基本概念

这路讲解vim的三种模式(其实有好多模式,目前简单掌握这3种即可),分别是**命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),**各模式的功能区分如下:

vim的基本操作

  • 正常模式\]切换至\[插入模式

    • 输入a
    • 输入i
    • 输入o
  • 插入模式\]切换至\[正常模式

目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

  • 正常模式\]切换至\[末行模式

    • 「shift + ;」, 其实就是输入「:」
  • 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」
    例如:
    • :w (保存当前文件)
    • :wq (输入「wq」,存盘并退出vim)
    • :q! (输入q!,不存盘强制退出vim)

命令模式

光标移动:

  • gg: 快速回归光标,定位第一行第一个位置;
  • Shift + g (也就是G):快速移动光标,定位最好行第一个位置;
  • Shif + 4(也就是$):移动到光标所在行的"行尾"
  • Shif + 6(也就是^):移动到光标所在行的"行首"
  • w:光标跳到下个字的开头
  • e:光标跳到下个字的字尾(若在一个字符内,会跳到这个字符尾)
  • b:光标回到上个字的开头
  • ctrl + b(B):屏幕往"后"移动一页
  • ctrl + f(F ):屏幕往"前"移动一页
  • ctrl + u(U):屏幕往"后"移动半页
  • ctrl + d(D):屏幕往"前"移动半页
  • 一般命令都可以加数字n 表示,运行几个,几遍,几倍这个命令;

例如:

  • n + w 表示跳转第n给字开头的位置
  • n + shif + g 表示光标移动到第几行开头

删除文字:

# 也就是上面数字 n + 指令的用法

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

复制:

  • 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
  • 「#yw」:复制#个字到缓冲区
  • 「yy」:复制光标所在行到缓冲区。
  • 「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
  • 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能,x指令删除的字符p也能复制;反言之,不使用p那不就是删除?

如果以上动作,后悔了,怎么撤回?

  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
  • 「ctrl + r」: 撤销u的操作

但要注意:一旦退出文件编辑就无法撤回,但如果仅仅是保证w,没有退出q,那还是可以撤回的;

vim末行模式命令集

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式

  • w/q/! 保存,退出(ctrl zz 快捷退出)
  • set nu/nonu (增加,取消行数的显示)
  • !command 能在vim下输出指令,这是十分有用的地方;
  • %s/det/src 批量替换src被替换的字符,det要换的字符
  • vs new_src 同时打开多个文件.c /c++ 编译;
    • ctrl ww切换文件终端,在不太文件终端中使用;
  • :/单词 和shift + 3(#) 的用法一样,高亮(选择对应单词),n可以逆向查找,shif + n可以正向查找

V-BLOCK

命令模式中,ctrl v进入;

作用就是:

批量进行一些操作;例如,增加一些内容,注释,替换一些内容等等

操作解析(例子):

以批量注释为例子;ctrl + v 进入, 移动光标选择要选择的行; shift + i 进入插入模式, 输入// ;esc退出,如此就能完成批量注释的操作;

想干什么 移动光标选择要选择的行后,shift + i 进入插入模式;插入模式对哪一行的操作,其实就是对光标选择要选择的行 的 所有操作

一些其他的技巧

上下移动的不同键位:

为什么hjkl 是 左 下 上 右?

这与计算机发展有关,之前左 下 上 右,就是这些键位,感兴趣的可以自行去查哦;

简单vim配置

  • 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的**主目录(~家目录)**下,都可以自己建立私有的配置文件,命名为:".vimrc"。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
  • 某个账号的家目录下的.vimrc 配置的vim只对这个账号有作用; 公共的vim配置文件对整个系统的vim都有作用
  • 一般来说更支持在私人账号下配置vim,毕竟每个人的习惯不一样;
  • 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
  • 打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项,用来测试

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

使用插件

要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置

我参考的这上面这位大佬做的vim插件;但要使用也有要求

  1. 不能是root;
  2. 只支持centos7

如果想自己配置vim

可以参考这为大佬的方法哦 ~

手把手教你把Vim改装成一个IDE编程环境(图文)_vim 打造成 ide-CSDN博客

相关推荐
jz_ddk3 分钟前
[LVGL] 从0开始,学LVGL:进阶应用与项目实战(上)
linux·信息可视化·嵌入式·gui·lvgl·界面设计
望获linux27 分钟前
【实时Linux实战系列】Linux 内核的实时组调度(Real-Time Group Scheduling)
java·linux·服务器·前端·数据库·人工智能·深度学习
MC丶科38 分钟前
【SpringBoot常见报错与解决方案】端口被占用?Spring Boot 修改端口号的 3 种方法,第 3 种 90% 的人不知道!
java·linux·spring boot
江公望1 小时前
ubuntu kylin(优麒麟)和标准ubuntu的区别浅谈
linux·服务器·ubuntu·kylin
Lynnxiaowen1 小时前
今天我们开始学习python语句和模块
linux·运维·开发语言·python·学习
小蕾Java1 小时前
【VSCode】Visual Studio Code 2024安装包及安装教程 (附所有版本下载)
ide·vscode·编辑器
生态笔记1 小时前
PPT宏代码
linux·服务器·powerpoint
mucheni1 小时前
迅为RK3588开发板Ubuntu 系统开发ubuntu终端密码登录
linux·运维·ubuntu
skywoodsky2 小时前
Ubuntu 24.04环境下的挂起转休眠
linux
小云数据库服务专线2 小时前
GaussDB 应用侧报Read timed out解决方法
linux·服务器·gaussdb