目录

  • 准备工作:
  • vim基本概念
  • vim的基本操作
    • 三个模式之间的进入进出
      • 打开vim
      • 退出vim
      • 插入模式insert
      • 底行模式--command
    • 三个模式中的操作详解
      • 命令模式中的操作
      • 底行模式command
  • vim简单配置

准备工作:

普通模式下的vim太简单,不支持我们平常使用的vs系列,vscode等等的一些操作(回车直接四格,代码检查等功能)所以要进行下面工作:
https://blog.csdn.net/sakeww/article/details/123008854

vim基本概念

vim有很多模式,初学者只需要掌握三个就可以:
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式
末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

vim的基本操作

三个模式之间的进入进出

一张图解释:

打开vim

(该目录下如果有test.c文件就会直接打开test.c,没有就会创建一个test.c文件然后打开)

(请严格按照我上面的最开始的准备工作进行,不然会有出入)

默认情况下我们进入的是命令模式Norma,上图中的normal可以看出

退出vim

在NORMAL模式下输入
:q

插入模式insert

打开vim
进入命令模式输入
i

此时便可以在里面输入代码:

按 esc 便可以返回命令模式

补充:
在命令模式下按aio都可以进入插入模式
a会移动到光标位置的后一个位置
o会在光标位置的下一行创建一个新行,光标至新行开始位置
i直接进入插入模式光标不移动

底行模式–command

在命令模式下输入

退出底行模式
删除:即可
或者esc

三个模式中的操作详解

命令模式中的操作

1.上下左右
a.键盘的上下左右可以控制(不建议使用这个,因为后面有些操作需要结合光标进行操作)
b.hjkl左下上右

2.行首行尾
行首:shift+6
行尾:shift+4

3.最开始和末尾
开始:gg
末尾:shift+g

4.特定行—》到达该行的起始位置
数字+shift+g

5.快速行移动:以单词为单位进行移动末尾直接到下一行
w向后移动
b向前移动

6.复制粘贴剪贴
复制:光标移动到指定行,然后yy
粘贴:p
(结果:直接在光标指定行的下一行增加一行,然后光标移动到下一行的行首)

复制多行:数字+yy(复制数字行,包括当前行)
粘贴:光标移动到指定位置的上一行然后p

粘贴多行:
数字+p
将复制的内容粘贴数字个

剪贴:dd
数字+dd 剪贴数字行文字
延伸:dd后你不p就是删除,如果p了就是剪贴

7.撤销
u
撤销至上一操作,可重复撤销

8.大小写转换
shift+·(esc下面的键)

9.删除
删除光标指向的字:
x —》将光标位置字进行删除
数字+x —》将光标位置后数字个字符进行删除

删除前字:
X —》删除光标所在前一个字
数字+X —》删除光标所在前数字个字

10.修改替换文字
移动光标至修改的文字,
r+修改的文字—》只修改一个文字,想要修改多个就要多按r
数字+r+修改的文字—》从当前位置起修改当前数字个“修改的文字”
(只能将多个文字修改成一种多个文字)

延伸:多个文字进行修改成我们想要的文字(覆盖)
在命令模式下shift+r 切换成:replace模式
然后输入自己想要修改的文字
补充:esc 退回命令模式

11.跳转至指定行
:+s数字

12.撤销最近的撤销
撤销操作u
这个撤销有问题就可以
ctrl+r

底行模式command

进入command
:

1.代码行号
关闭行号显示
set nonu
显示行号
set nu

延伸:
在有行号的情况下,我们在复制这里的代码时,会复制前面的行号
造成不必要的麻烦
此时我们关闭行号显示,复制的内容就会更加纯粹

2.多屏显示
多个文件代码比较显示
在底行模式下输入
:vs 新文件或这已经创建的文件名
此时左边显示我们的 “新文件”
右边显示我们刚才打开的文件

光标移动
当我们创建新文件时,我们的光标会在新文件内
ctrl+ww —》移动光标至旧文件

3.保存
:w

4.退出
光标在那个文件下输入
:q
就会将那个文件退出
再按:q就会退出vim

vim简单配置

一般情况下,vim下没有配置

延伸补充:
vim配置在自己的配置文件中,只会影响自己的操作
root有自己的配置文件,至影响自己

如何配置?
配置文件叫做:
.vimrc

测试:.vimrc
输入
vim .vimrc 进入vim
i 进入插入模式
set nu (这个是显示行号)
:wq 保存并退出.vimrc
vim test.c
此时就会显示行号

注意:我们的准备工作就是配置一个好的vim环境

linux下的vim详解(图文结合 )相关推荐

  1. linux下dd命令详解

    linux下dd命令详解    名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果 ...

  2. linux下scp命令详解

    http://www.cnblogs.com/xuxm2007/archive/2010/08/04/1792179.html linux下scp命令详解 http://www.9usb.net/20 ...

  3. linux下tree命令详解

    From:http://blog.163.com/ly_89/blog/static/186902299201161302812880/ linux下tree命令详解---linux以树状图逐级列出目 ...

  4. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  5. linux系统rar命令行,Linux下rar命令详解

    Linux下rar命令详解 发布时间:2010-05-24 23:28:23   作者:佚名   我要评论 通常rar命令由一个主命令加若干选项(可选)构成,操作文档为操作施加的.rar文件对象,文件 ...

  6. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  7. linux下DNS配置详解

    linux下DNS配置详解 DNS 是域名系统 (Domain Name Server) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务.在Internet上域名与IP地址之间是一一对应的 ...

  8. Linux下使用aMsn详解(转)

    Linux下使用aMsn详解(转) amsn这一款在linux下的Msn就不多介绍了,0.95版出来后加入了摄像头,在加上其文件传输功能,你还留恋于gaim么? 经过多天的搜索和尝试,终于在Fedor ...

  9. linux看不到进程管理,关于Linux下进程的详解【进程查看与管理】

    关于Linux下进程的详解[进程查看与管理] 一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以 ...

最新文章

  1. Error:No suitable device found: no device found for connection “System eth1″
  2. Windows Server 2008终端服务详解系列5:用ISA 发布SH-TSG
  3. 小程序动态class_会后剧透!百度智能小程序的最新动态都在这儿了!
  4. 生信宝典联合科学出版社在双 11推出生物信息专题书单 5 折优惠!学起来!
  5. python调用robotframework api_python+robot framework接口自动化测试
  6. Lucene学习笔记:一,全文检索的基本原理
  7. JS - javascript容错处理代码
  8. sl400升级win10_联想SL400全安装WIN7(官方最完美教程).doc
  9. scholarscope不显示影响因子_你的pubmed又不能显示影响因子了,因为 ……
  10. phaser java_java并发编程:Phaser同步工具原理
  11. 山东省2013高职分数线
  12. 隐藏高德地图左下角LOGO
  13. 【不忘初心】Win10_20H2_2009_19042.572_X64_六合一_[纯净精简版](2020.10.29)
  14. 对于越野车来说 带大梁,前后硬桥!
  15. 微信小游戏开新手攻略
  16. DOS命令:systeminfo
  17. 编译chrome for android,Chrome for Android 编译了两天终于在师傅指导下搞定
  18. 纯js单页面赛车游戏
  19. AD域环境搭建超详细
  20. 一行代码“黑”掉任意网站

热门文章

  1. 野指针的产生及其危害
  2. 数字电网的定义、内涵和特征
  3. WordPress-WooCommerce购物商城主题
  4. 华为如何在手机桌面显示备忘录的备忘内容
  5. 举例得到的遗传算法工具箱GA是求最小值的算法
  6. Java基础01 基础语法
  7. Oracle Study学习之--Flashback Archive
  8. Windows10下BurpSuite安装过程中存在的一些问题以及解决办法(图文解析)
  9. 【SpringCloud后端项目报错】java.util.LinkedHashMap cannot be cast to…异常处理
  10. netem设置了网卡的流量控制,为啥发包的延迟就搞不定呢?