工作中常用到的Vim命令
最近工作中需要到linux服务器上更改文件,苦于对vim的各种命令不熟悉,今天特此总结并熟悉一下各种vim命令,好提高工作效率。后期持续更新
vim编辑器个人设置
- 先复制一份vim配置模板到个人目录下,如果/usr/share/vim/vimrc文件不存在则直接跳到第二步
cp /usr/share/vim/vimrc ~/.vimrc - 编辑个人目录下的.vimrc
vi ~/.vimrc - 进入vim编辑模式编写以下配置信息
syntax on '开启语法高亮'
set nu! '设置行号'
set autoindent '自动缩进'
set tabstop=4 '设置tab键为4个空格'
set showmatch '设置匹配模式,类似当输入一个左括号时会匹配相应的右括号'
命令模式(command mode)—执行命令
在该模式中,可以输入命令来执行许多种功能。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
输入模式(Insert mode)—输入文本
vi被运行时,通常处在命令模式下,键入以下命令 可以使vi退出命令模式,进入输入模式:I(i)、A(a)、O(o)。
末行模式(last line mode)—执行待定命令
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vi简化成两个模式,就是将末行模式(last line mode)也算入命令行模式command mode)。
命令模式下常用命令
移动命令
^ 移动到当前行的开头处
$ 移动到当前行的结尾处
w 移动到下一个单词的开始位置
gg 移动到文件头
shift+g 移动到文件尾
h 光标左移
j 光标下移
k 光标上移
l 光标右移
Ctrl+b(back) 屏幕往后移动一页
Ctrl+f(forward) 屏幕往前移动一页
Ctrl+u(up) 屏幕往上移动半页
Ctrl+d(down) 屏幕往下移动半页
撤销命令
u 倒退一步
Ctrl+r 重做
删除命令
x 删除当前字符
dd 删除光标所在行
dgg 删除光标所在行到文件头的所有字符
dG 删除光标所在行到文件尾的所有字符
拷贝剪切和粘贴
yy 复制光标所在行
p 将已复制的数据在光标下一行粘贴
P 将已复制的数据在光标上一行粘贴
. 重复前一个动作
退出命令
:w filename(存入指定文件) 另存为
:q 退出
:q! 强行退出vi,使被更新的内容不写回文件中。
:wq 保存并退出,即将上面的两步操作可以合成一步来完成。
:x 保存并退出
搜索命令
/text 从光标开始向后查找text,按n查找下一个,按N查找前一个。
?text 从光标开始向前查找text,按n查找前一个,按N查找下一个。
搜索特殊符号.*[]^%/?~$需要转义
:n 将光标快速定位到n行
vim +/text a.php 打开a.php并将光标定位到第一个text
% 快速定位到另一半符号{}[]()
替换命令
r 替换光标所在字符(按下r后输入新字符)
%s/t/o/g 将所有的t替换为o
修改命令 c [数字] motion
c^ 删除光标从当前位置到当前行的开头处所有字符,并进入插入模式
c$ 删除光标从当前位置到当前行的结尾处所有字符,并进入插入模式
插入命令
i 在当前位置前插入并切换到输入模式
a 在当前位置后插入并切换到输入模式
o 在当前行下方插入一行并切换到输入模式
按下插入命令可进入文本输入模式
:!可以执行其他shell命令
工作中常用到的Vim命令的更多相关文章
- 工作中常用到的sql命令!!!
一.mysql数据库日常操作. 1.启动mysql:/etc/init.d/mysql start (前面为mysql的安装路径) 2.重启mysql: /etc/init.d/my ...
- 总结工作中常用到的linux命令大全_经典
常用解压命令 tar.bz2 命令: tar -jxvf *.tar.bz2 tar.z 命令: tar -zxvf *.tar.z tar.gz 命令: tar -Zxvf *.tar ...
- 二零一七年工作中常用的基本Linux命令记录(Ubuntu)
Linux命令如下(Ubuntu): 1. apt-get install openssh-server 下载远程工具 2. apt-get install lrzsz 上传下载工具 3. apt-g ...
- 工作中常用到的Linux命令
ps: (ps的参数分成basic, list, output, thread, miscellaneous) (basic) -e / -A 显示所有进程 (output) -o 输出指定字段 ls ...
- php工作中常用到的linux命令
压缩并指定目录举例:zip -r /home/kms/kms.zip /home/kms/server/kms 解压并指定目录举例:unzip /home/kms/kms.zip -d /home/k ...
- 工作中常用到的linux命令总结
linux系统ubantu debian系统下载文件:wget https://github.com/buger/goreplay/releases/download/v1.0.0/gor_1.0.0 ...
- 工作中常用Lixu命令学习笔记
对于Linux,我是菜鸟,也是在工作中了才开始慢慢接触,用Linux的人都我都会觉得屌屌的,现在把工作中常用的一些Linux命令记录一下,供以后学习和参考. cd 这可能是我觉得Linux最简单的一个 ...
- 转摘Linux命令工作中常用总结
Linux命令工作中常用总结 1. 搜索 在vi和vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位: 在vi和vim界面中输入:"/" ...
- 【基础】工作中常用的linux命令,经常会被面试官问到
前言 面试经常会问到一些Linux操作命令,下面就工作中常用的和面试问的频率较高的命令做详细描述. 常用命令 修改密码:passwd 用户名 切换用户名:su 用户名 查看当前路径:pwd 调整路径: ...
随机推荐
- 转载 Python中关键字global与nonlocal的区别
转载自CSDN 雁丘1990, 原文地址: https://blog.csdn.net/xcyansun/article/details/79672634 这篇文章写的很赞, 条理清晰, 分析循序渐进 ...
- 通过Postman进行post请求时传递X-XSRF-TOKEN
前言介绍 这段时间一个项目后端用的是laravel.在写API接口时通过Postman6进行测试.但是在测试后形式的接口时laravel自带了CSRF验证机制.这就很尴尬了... 所以我们的目的在使用 ...
- 3分钟学会git命令的基础使用
前言废话 下面我们就来看看gitlab服务器搭建好(http://www.cnblogs.com/JeremyWYL/p/8258368.html) 之后,git命令的基础使用,基本上就能满足我们平时 ...
- 在向一个ArrayList中添加大量元素前,可以使用ensureCapacity方法来增加ArrayList的容量
参考http://www.jianshu.com/p/f174d49b391c ensureCapacity(),该方法就是 ArrayList 的扩容方法.在前面就提过 ArrayList 每次新增 ...
- DDD实战进阶第一波(四):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架三)
上一篇文章我们讲了经典DDD架构对比传统三层架构的优势,以及经典DDD架构每一层的职责后,本篇文章将介绍基础结构层中支持DDD的轻量级框架的主要代码. 这里需要说明的是,DDD轻量级框架能够体现DDD ...
- 在mpvue中使用map如何避坑
最近在做一个需求,当用户放大地图到某个级别时,自动显示marker的callout标签,当小于这个缩放级别时,则隐藏callout.然而在我实现的过程中,却发现一个严重的问题:当我操作marker数据 ...
- Android生成二维码--保存和分享二维码图片
之前写过生成自定义二维码的两篇文章:<Android生成自定义二维码><Android生成二维码–拍照或从相册选取图片>,下面就介绍一下Android应用内如何保存以及分享二维 ...
- Spring Boot + Spring Cloud 构建微服务系统(四):容错机制和熔断(Hystrix)
雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应.服务雪崩效应是一种因“服务提供者 ...
- Docker上运行MySQL服务
1.搜索MySQL镜像 $ docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.i ...
- mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'
问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错 1067 - Invalid default value ...