介绍

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. Unity调用PC摄像头

    转载于Unity3d圣典里面,具体哪位大侠写的我忘咯. using UnityEngine; using System.Collections; public class CameraTest : M ...

  2. nginx如何限制并发连接请求数?

    简介 限制并发连接数的模块为:http_limit_conn_module,地址:http://nginx.org/en/docs/http/ngx_http_limit_conn_module.ht ...

  3. 正则表达式在Java中应用的三种典型场合:验证,查找和替换

    正则式在编程中常用,总结在此以备考: package regularexp; import java.util.regex.Matcher; import java.util.regex.Patter ...

  4. Eclipse插件开发中File和IFile的转换

    (1) File转IFile 第一种方法: IFile[] ifile = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationU ...

  5. MyBatis源码骨架分析

    源码包分析 MyBatis 源码下载地址:https://github.com/MyBatis/MyBatis-3 MyBatis源码导入过程: 下载MyBatis的源码 检查maven的版本,必须是 ...

  6. java 检查进程是否存在

    以nginx进程为例子 private final static String NAME_STRING = "nginx.exe"; //传入进程名称processName pub ...

  7. ui自动化--鼠标操作ActionChains

    需要先引入鼠标操作模块:from selenium.webdriver.common.action_chains import ActionChains 实际上ActionChains这个模块的实现的 ...

  8. 【吴恩达课程使用】anaconda (python 3.7) win10安装 tensorflow 1.8 cpu版

    [吴恩达课程使用]anaconda (python 3.7) win10安装 tensorflow 1.8 目前tensorflow是只支持到python3.6的,anaconda最新版本已经到pyt ...

  9. sql.表值类型

    表值类型是在sql server 2008中新加入的功能,我个人觉得确实很有用,之前从没用过,自从来到现在的公司后学到很多东西,所以和大家分享一下. ------建表值类型语法------------ ...

  10. 解决spark streaming集成kafka时只能读topic的其中一个分区数据的问题

    1. 问题描述 我创建了一个名称为myTest的topic,该topic有三个分区,在我的应用中spark streaming以direct方式连接kakfa,但是发现只能消费一个分区的数据,多次更换 ...