介绍

vim是一个文本编辑程序

没有菜单,只有命令,且命令繁多

命令行模式下相关命令

移动光标

​ h: ← 左移

​ l: → 右移

​ j: ↓ 下移

​ k: ↑ 上移

​ gg: 光标移动文件开头

​ G: 光标移动到文件末尾

​ 0: 光标移动到行首

​ $: 光标移动到行尾

​ 123G:跳转到第123行

删除字符

​ x: 删除光标后一个字符,相当于 Del

​ X: 删除光标前一个字符,相当于 Backspace

​ dw: 删除光标开始位置的字,包含光标所在字符

​ 光标必须移动到删除单词的首字符上

​ d0: 删除光标前本行所有内容,不包含光标所在字符

​ D(d$): 删除光标后本行所有内容,包含光标所在字符

​ dd: 删除光标所在行

​ n dd 删除指定的行数

​ 并不是真的删除,实际上是剪切

撤销操作

​ u: 一步一步撤销

​ Ctr-r: 反撤销

复制粘贴

​ yy: 复制当前行,n yy 复制 n 行

​ p: 在光标所在位置向下新开辟一行,粘贴

​ P: 从光标所在行, 开始粘贴

可视模式

​ v:按字移动

​ 配合 h、j、k、l 使用

​ 使用y复制选中内容

查找操作

​ /hello -> 从光标所在位置向后查找 hello

​ n: 下一个

​ N:上一个

​ ?hello -> 从光标所在位置向前查找 hello

​ n: 上一个

​ N:下一个

​ 在要查询的单词上使用 # 进行查找

替换操作

​ r: 替换当前字符

文本行移动

​ >>: 文本行右移

​ <<: 文本行左移

查看 Man Page

​ 光标移动到函数上,Shift-k 光标移动到函数上

​ 3Shift-k,查看第三章的 ManPage

文本模式下相关命令

进入输入模式

​ i: 插入光标前一个字符

​ I: 插入行首

​ a: 插入光标后一个字符

​ A: 插入行未

​ o: 向下新开一行,插入行首

​ O: 向上新开一行,插入行首

​ s: 删除光标所在的字符

​ S:删除当前行

末行模式下相关命令

行跳转

​ :123 -> 跳转到第123行

替换

替换一行

​ /abc/123

​ -> 将当前行中的第一个abc替换为123

​ /abc/123/g

​ -> 将当前行中的abc全部替换为123

替换全部

​ :%s/abc/123

​ -> 将所有行中的第一个abc替换为123

​ :%s/abc/123/g

​ -> 将所有行中的abc全部替换为123

替换指定行

​ :10,30s/abc/123/g

​ -> 将10-30行中的abc全部替换为123

执行shell命令

​ 末行模式里输入!,后面跟命令

分屏操作

进入分屏模式

​ 命令:sp 将屏幕分为两部分 --> 水平

​ 命令:vsp 将屏幕分为两部分 --> 垂直

​ 命令:sp(vsp) + 文件名 水平或垂直拆分窗口显示两个不同的文件

退出分屏模式

​ 命令:wqall 保存并退出所有屏幕

​ 命令:wq保存并退出光标所在的屏幕

​ Ctrl+ww 切换两个屏幕

vim打造IDE

系统级配置文件目录:/etc/vim/vimrc

用户级配置文件目录:~/.vim/vimrc

修改配置文件 vimrc 或者 .vimrc

更多精彩内容,请关注公众号良许Linux,公众内回复1024可免费获得5T技术资料,包括:Linux,C/C++,Python,树莓派,嵌入式,Java,人工智能,等等。公众号内回复进群,邀请您进高手如云技术交流群。


公众号:良许Linux

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

Linux基础入门 vim常用命令详解的更多相关文章

  1. 【Linux基础】crontab定时命令详解

    周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“crontab”,是 ...

  2. Git 入门和常用命令详解

    git 使用使用教程   git 使用简易指南  常用 Git 命令清单 下载   https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...

  3. linux运维笔记——常用命令详解diff

    1.diff 你可以把diff看成是linux上的文件比对工具 例子文件内容: [root@localhost disks]# cat test1.txt a b c d [root@localhos ...

  4. Linux常用命令详解上

    Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...

  5. hbase shell基础和常用命令详解(转)

    HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...

  6. hbase shell基础和常用命令详解

    HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服 ...

  7. Linux常用命令详解下

    Linux常用命令详解 目录 一.Linux常用命令 1.1.查看及切换目录(pwd.cd.ls.du) 1.2.创建目录和文件(mkdir.touch.ln) 1.3.复制.删除.移动目录和文件(c ...

  8. Linux的chattr与lsattr命令详解

    Linux的chattr与lsattr命令详解 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. ...

  9. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

随机推荐

  1. UVA 11292-Dragon of Loowater (贪心)

    Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem. The shor ...

  2. Leetcode 974 和可被K整除的子数组

    题目: 解法 //前缀和算法+hash表 class Solution { public: int subarraysDivByK(vector<int>& A, int K) { ...

  3. Intel-Pin的windows安装

    环境安装 操作系统:windows10 需要环境: 1.Visual Studio Community 2019 Edition  ( https://visualstudio.microsoft.c ...

  4. 安装python3,配置pycharm

    1.下载最新版python3 首先去python官网下载python3的源码包,网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Downlo ...

  5. 【漫话DevOps】What is DevOps?

    最近几年"DevOps"这个关键词经常出现在项目开发当中,特别是随着微服务/容器/cloud在项目中的大范围应用,你不想知道都很难.作为一个伴随CI/CD到DevOps一路走来的工 ...

  6. 【转】PHP面试总结

    文章出处:https://www.cnblogs.com/codetao/p/6418127.html

  7. JVM直接内存(Direct Memory)

    直接内存 1.直接内存不是虚拟机运行时数据区的一部分,也不是<Java虚拟机规范>中定义的内存区域. 2.直接内存是Java堆外的.直接向系统申请的内存区间. 3.简单理解: java p ...

  8. Java语言的优势

    首先, Java语言是一种纯粹的面向对象的编程语言.这样就决定了Java语言更能直接客观地反映现实生活中的对象,因此Java语言更适合大型的复杂系统开发. 其次, Java语言是一种平台无关的语言.  ...

  9. 预科班D9

    2020.09.17星期四 预科班D9 学习内容: 一.列表与字典的嵌套 大前提:将所有同学的信息存起来,取值需求 1.取第二个学生的性别 stus_info = [ {"name" ...

  10. kafka学习(二)kafka工作流程分析

    一.发送数据 follower的同步流程 PS:Producer在写入数据的时候永远的找leader,不会直接将数据写入follower PS:消息写入leader后,follower是主动的去lea ...