网上文章太杂,都是泛泛讲解,没有重点,本文表格的内容是相对重点的参数,值得读者学习掌握。

表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工具重要知识相关推荐

  1. linux桌面效率提高,ElementaryOS:使用这个轻量级 Linux 桌面提高工作效率

    原标题:ElementaryOS:使用这个轻量级 Linux 桌面提高工作效率 ElementaryOS 提供了一个快速.轻量.高效的桌面,让你在新的一年里保持工作效率. 在前几年,这个年度系列报道了 ...

  2. 如何在Linux系统中安装DBeaver通用数据库工具

    DBeaver是一个开源.功能齐全.跨平台的通用数据库管理工具和SQL客户端,可在Linux操作系统.Windows和macOS 系统上运行. DBeaver支持80多个数据库管理系统,包括Postg ...

  3. git管理工具 linux,linux系统下使用流行的版本管理工具 Git

    前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...

  4. 可以提高工作效率的应用工具,你知道几个呢

    这几款可以提高工作效率的应用工具你知道几款呢?想要在工作中提高自己的工作效率并不容易,但是时间长了熟悉了就可以变快了.但是我们也可以通过应用工具的使用来提高我们的工作效率,小编接下来就为大家整理了几款 ...

  5. 微信开发者工具命令行_在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折.注:带 * 的步骤或文件为不确定是否管用的步骤或文件. 本人系统为Linux ...

  6. 13 种在 Linux 系统上检测 CPU 信息的工具

    13 种在 Linux 系统上检测 CPU 信息的工具 问题: 我想要了解我的电脑关于CPU处理器的详细信息,查看CPU信息比较有效地方法是什么? 根据你的需要,有各种各样的关于你的CPU处理器信息你 ...

  7. LINUX系统程序设计中C/C++编程工具使用

    LINUX系统程序设计中C/C++编程工具使用 一.实验目的 掌握gcc编译器的使用 掌握gdb调试器的使用 掌握make工程管理器的使用 理解Makefile文件的格式,掌握Makefile文件的编 ...

  8. linux 系统硬件信息检测工具,9种在Linux系统上检测CPU信息的工具

    在Linux中,有许多命令行或基于GUI的工具就能来展示你的CPU硬件的相关具体信息.下面是学习啦小编收集整理的9 种在 Linux 系统上检测 CPU 信息的工具,希望对大家有帮助~~ 9 种在 L ...

  9. linux切换到顶层命令,一些在Linux下提高工作效率的常用命令

    Linux一些常用命令介绍 一.查看系统端口命令: 1.netstat :非root用户即可执行 netstat -anp|grep [Port|PID|Server Name] 2.lsof :必须 ...

  10. 11、Linux系统基础原理、进程管理工具、任务计划

    Linux进程及作业管理 ​ 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能 ​ Process: 运行中的程序的一个副本: ​ 存在生命周期 Linux内核存储进程信息的固定 ...

最新文章

  1. 使用Formik轻松开发更高质量的React表单(一)入门
  2. Linux Kernel Development——列出系统中所有的进程
  3. 自然语言处理与中文分词的难点总结--学习笔记
  4. [洪流学堂]Hololens开发入门篇1之模拟器开发环境配置
  5. i5 9400f和GTX1660能玩战地5吗?
  6. 艾伟:如何实现用返回值重载
  7. 唯一的超级语言,前进的步伐不可阻挡
  8. 原生中文版MyBB开源论坛效果展示
  9. Hadoop之MapReduce理论篇01
  10. python连接linux后一步一步的操作_Python使用技巧
  11. 卸载python27_27. 移除元素(Python)
  12. 常见计算机基础笔试题总结quickstart
  13. 【背包问题】基于matlab量子免疫克隆算法求解背包问题【含Matlab源码 424期】
  14. allegro出光绘文件出现的几个问题
  15. justinmind破解方法
  16. 【Unity】 结合DoTween制作抛物线效果
  17. html5 placeholder与value的区别
  18. word 计算机内存不足,Win10系统中,为什么打开WORD提示内存不足?
  19. Fresco+Recycleview+OKhttp+Retrofit
  20. ***我是如何通过华为面试的?群面+技术面+综合面+英语面(Android岗)***

热门文章

  1. 世界第一个聊天机器人源代码_这是世界上第一个“活着”的机器人
  2. php 时间 拼接,PHP关于时间的时段的重合、 整合的方法
  3. java 数组中数字和_java – 查找数组中的数字总和 – 不包括数字13和它后面的数字...
  4. python获取文件列表失败_python – Pytesseract没有这样的文件或目录错误
  5. 用C语言编译病毒,来来来,教你一个用C语言写个小病毒
  6. android 圆形图片按钮,Android自定义View圆形图片控件代码详解
  7. Java集合---概述(1)
  8. Java 8新特性探究(十一)Base64详解
  9. js中点与方括号及for...in
  10. Git的学习笔记(一)