Linux系统提高编辑效率的vim工具重要知识
网上文章太杂,都是泛泛讲解,没有重点,本文表格的内容是相对重点的参数,值得读者学习掌握。
表7-1 vi/vim命令的参数选项及说明
表7-22命令 |
说明 |
普通模式:移动光标的操作 |
|
G或(shift+g) |
将光标移动到文件的最后一行 |
gg |
将光标移动到文件的第一行,等价于1gg或1G |
0 |
数字0,将光标从所在位置移动到当前行的开头 |
$ |
从光标所在位置将光标移动到当前行的结尾 |
n<Enter> |
n为数字,<Enter>为回车键,将光标从当前位置向下移动n行。 |
ngg |
n为数字,移动到文件的第n行,如11gg可移动到第11行,可配合“:set nu”查看,同nG |
H |
光标移动到当前窗口最上方的那一行 |
M |
光标移动到当前窗口中间的那一行 |
L |
光标移动到当前窗口最下方的那一行 |
h或(←) |
光标向左移动一个字符 |
j或(↓) |
光标向下移动一个字符 |
k或(↑) |
光标向上移动一个字符 |
l或(→) |
光标向右移动一个字符 |
普通模式:搜索与替换操作 |
|
/oldboy |
从光标位置开始,向下寻找名为oldboy的字符串 |
?oldboy |
从光标位置开始,向上寻找名为oldboy的字符串 |
n |
从光标位置开始,向下重复前一个搜索的的动作 |
N |
从光标位置开始,向上重复前一个搜索的的动作 |
:g/A/s//B/g |
把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等替代 |
:%s/A/B/g |
把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等替代 |
:n1,n2s/A/B/gc |
n1、n2为数字,在第n1行和n2行间寻找A,用B替换 |
普通模式:复制、粘贴、删除等操作 |
|
yy |
复制光标所在的当前行 |
nyy |
n为数字,复制光标开始向下共n行 |
p/P |
p将已复制的数据粘贴到光标的下一行,P则为粘贴到光标的上一行 |
dd |
删除光标所在的当前行 |
ndd |
n为数字,删除从光标开始向下共n行 |
u |
恢复(回滚)前一个执行过操作 |
. |
点号。重复前一个执行过的动作 |
x |
向后删除字符 |
X |
向前删除字符 |
d1G |
删除当前行至第一行 |
dG |
删除当前行至最后一行 |
d0 |
删除当前光标文本至行首 |
d$ |
删除当前光标文本至行尾 |
进入编辑模式命令 |
|
i |
在当前光标所在处插入文字 |
a |
在当前光标所在下一个字符处插入文字 |
I |
在当前所在行的行首第一个非空格符处开始插入文字,和A相反 |
A |
在当前所在行的行尾最后一个字符处开始插入文字,和I相反 |
O |
在当前所在行的上一行处插入新的一行 |
o |
在当前所在行的下一行处插入新的一行 |
Esc |
退出编辑模式,回到命令模式中 |
命令行模式 |
|
:wq |
退出并保存 |
:wq! |
退出并强制保存,“!”为强制的意思 |
:q! |
强制退出,不保存 |
:n1,n2 w filename |
n1、n2为数字,将n1行到n2行的内容保存成filename这个文件 |
:n1,n2 co n3 |
n1、n2为数字,将n1行到n2行的内容拷贝到n3位置下 |
:n1,n2 m n3 |
n1、n2为数字,将n1行到n2行的内容挪至n3位置下 |
:!command |
暂时离开vi到命令行模式下执行command的显示结果!例如 :! ls /etc |
:set nu |
显示行号 |
:set nonu |
与set nu相反,取消行号 |
:vs filename |
垂直分屏显示,同时显示当前文件和filename对应文件的内容 |
:sp filename |
水平分屏显示,同时显示当前文件和filename对应文件的内容 |
I + # + Esc |
在可视块模式下(Ctrl + v), 一次性注释所选的多行,取消注释可用:n1,n2s/#/ /gc[t1] ,这里操作是一个通用的方法,#号可以换成别的操作,例如tab键,这样就是批量缩进 |
Del |
在可视块模式下(Ctrl + v),一次性删除所选内容 |
r |
在可视块模式下(Ctrl + v),一次性替换所选内容 |
内容来自老男孩2018年7月出版的新书《跟老男孩学Linux运维:核心系统基础实践》第7章 ,敬请期待。
[t1]这是几种方法?如果是多种方法,各方法间请用顿号。
转载于:https://blog.51cto.com/oldboy/2113613
Linux系统提高编辑效率的vim工具重要知识相关推荐
- linux桌面效率提高,ElementaryOS:使用这个轻量级 Linux 桌面提高工作效率
原标题:ElementaryOS:使用这个轻量级 Linux 桌面提高工作效率 ElementaryOS 提供了一个快速.轻量.高效的桌面,让你在新的一年里保持工作效率. 在前几年,这个年度系列报道了 ...
- 如何在Linux系统中安装DBeaver通用数据库工具
DBeaver是一个开源.功能齐全.跨平台的通用数据库管理工具和SQL客户端,可在Linux操作系统.Windows和macOS 系统上运行. DBeaver支持80多个数据库管理系统,包括Postg ...
- git管理工具 linux,linux系统下使用流行的版本管理工具 Git
前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...
- 可以提高工作效率的应用工具,你知道几个呢
这几款可以提高工作效率的应用工具你知道几款呢?想要在工作中提高自己的工作效率并不容易,但是时间长了熟悉了就可以变快了.但是我们也可以通过应用工具的使用来提高我们的工作效率,小编接下来就为大家整理了几款 ...
- 微信开发者工具命令行_在Linux系统下运行微信Web开发者工具
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折.注:带 * 的步骤或文件为不确定是否管用的步骤或文件. 本人系统为Linux ...
- 13 种在 Linux 系统上检测 CPU 信息的工具
13 种在 Linux 系统上检测 CPU 信息的工具 问题: 我想要了解我的电脑关于CPU处理器的详细信息,查看CPU信息比较有效地方法是什么? 根据你的需要,有各种各样的关于你的CPU处理器信息你 ...
- LINUX系统程序设计中C/C++编程工具使用
LINUX系统程序设计中C/C++编程工具使用 一.实验目的 掌握gcc编译器的使用 掌握gdb调试器的使用 掌握make工程管理器的使用 理解Makefile文件的格式,掌握Makefile文件的编 ...
- linux 系统硬件信息检测工具,9种在Linux系统上检测CPU信息的工具
在Linux中,有许多命令行或基于GUI的工具就能来展示你的CPU硬件的相关具体信息.下面是学习啦小编收集整理的9 种在 Linux 系统上检测 CPU 信息的工具,希望对大家有帮助~~ 9 种在 L ...
- linux切换到顶层命令,一些在Linux下提高工作效率的常用命令
Linux一些常用命令介绍 一.查看系统端口命令: 1.netstat :非root用户即可执行 netstat -anp|grep [Port|PID|Server Name] 2.lsof :必须 ...
- 11、Linux系统基础原理、进程管理工具、任务计划
Linux进程及作业管理 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能 Process: 运行中的程序的一个副本: 存在生命周期 Linux内核存储进程信息的固定 ...
最新文章
- 使用Formik轻松开发更高质量的React表单(一)入门
- Linux Kernel Development——列出系统中所有的进程
- 自然语言处理与中文分词的难点总结--学习笔记
- [洪流学堂]Hololens开发入门篇1之模拟器开发环境配置
- i5 9400f和GTX1660能玩战地5吗?
- 艾伟:如何实现用返回值重载
- 唯一的超级语言,前进的步伐不可阻挡
- 原生中文版MyBB开源论坛效果展示
- Hadoop之MapReduce理论篇01
- python连接linux后一步一步的操作_Python使用技巧
- 卸载python27_27. 移除元素(Python)
- 常见计算机基础笔试题总结quickstart
- 【背包问题】基于matlab量子免疫克隆算法求解背包问题【含Matlab源码 424期】
- allegro出光绘文件出现的几个问题
- justinmind破解方法
- 【Unity】 结合DoTween制作抛物线效果
- html5 placeholder与value的区别
- word 计算机内存不足,Win10系统中,为什么打开WORD提示内存不足?
- Fresco+Recycleview+OKhttp+Retrofit
- ***我是如何通过华为面试的?群面+技术面+综合面+英语面(Android岗)***
热门文章
- 世界第一个聊天机器人源代码_这是世界上第一个“活着”的机器人
- php 时间 拼接,PHP关于时间的时段的重合、 整合的方法
- java 数组中数字和_java – 查找数组中的数字总和 – 不包括数字13和它后面的数字...
- python获取文件列表失败_python – Pytesseract没有这样的文件或目录错误
- 用C语言编译病毒,来来来,教你一个用C语言写个小病毒
- android 圆形图片按钮,Android自定义View圆形图片控件代码详解
- Java集合---概述(1)
- Java 8新特性探究(十一)Base64详解
- js中点与方括号及for...in
- Git的学习笔记(一)