Linux基础入门 vim常用命令详解
介绍
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常用命令详解的更多相关文章
- 【Linux基础】crontab定时命令详解
周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“crontab”,是 ...
- Git 入门和常用命令详解
git 使用使用教程 git 使用简易指南 常用 Git 命令清单 下载 https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...
- linux运维笔记——常用命令详解diff
1.diff 你可以把diff看成是linux上的文件比对工具 例子文件内容: [root@localhost disks]# cat test1.txt a b c d [root@localhos ...
- Linux常用命令详解上
Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...
- hbase shell基础和常用命令详解(转)
HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...
- hbase shell基础和常用命令详解
HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服 ...
- Linux常用命令详解下
Linux常用命令详解 目录 一.Linux常用命令 1.1.查看及切换目录(pwd.cd.ls.du) 1.2.创建目录和文件(mkdir.touch.ln) 1.3.复制.删除.移动目录和文件(c ...
- Linux的chattr与lsattr命令详解
Linux的chattr与lsattr命令详解 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. ...
- Linux基础 - 系统优化及常用命令
目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...
随机推荐
- Unity调用PC摄像头
转载于Unity3d圣典里面,具体哪位大侠写的我忘咯. using UnityEngine; using System.Collections; public class CameraTest : M ...
- nginx如何限制并发连接请求数?
简介 限制并发连接数的模块为:http_limit_conn_module,地址:http://nginx.org/en/docs/http/ngx_http_limit_conn_module.ht ...
- 正则表达式在Java中应用的三种典型场合:验证,查找和替换
正则式在编程中常用,总结在此以备考: package regularexp; import java.util.regex.Matcher; import java.util.regex.Patter ...
- Eclipse插件开发中File和IFile的转换
(1) File转IFile 第一种方法: IFile[] ifile = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationU ...
- MyBatis源码骨架分析
源码包分析 MyBatis 源码下载地址:https://github.com/MyBatis/MyBatis-3 MyBatis源码导入过程: 下载MyBatis的源码 检查maven的版本,必须是 ...
- java 检查进程是否存在
以nginx进程为例子 private final static String NAME_STRING = "nginx.exe"; //传入进程名称processName pub ...
- ui自动化--鼠标操作ActionChains
需要先引入鼠标操作模块:from selenium.webdriver.common.action_chains import ActionChains 实际上ActionChains这个模块的实现的 ...
- 【吴恩达课程使用】anaconda (python 3.7) win10安装 tensorflow 1.8 cpu版
[吴恩达课程使用]anaconda (python 3.7) win10安装 tensorflow 1.8 目前tensorflow是只支持到python3.6的,anaconda最新版本已经到pyt ...
- sql.表值类型
表值类型是在sql server 2008中新加入的功能,我个人觉得确实很有用,之前从没用过,自从来到现在的公司后学到很多东西,所以和大家分享一下. ------建表值类型语法------------ ...
- 解决spark streaming集成kafka时只能读topic的其中一个分区数据的问题
1. 问题描述 我创建了一个名称为myTest的topic,该topic有三个分区,在我的应用中spark streaming以direct方式连接kakfa,但是发现只能消费一个分区的数据,多次更换 ...