Linux环境vim命令(编辑器)的使用


vim编辑器是linux环境下修改文件必备神器,你真的会用吗,进入输入i命令,进入编辑模式,然后上下移动光标,鼠标选中复制粘贴。这样操作稍微有点慢,而且有点低(low)。如果现在让你定位到文档的某一行,你是否还要去挨行去数,如果让你把文档中所有a修改为b,估计你会当场吐血身亡,所以下面的命令也许就是你想要的。

1. vim编辑器的几种模式

模式分类:

  • 命令模式:用vim 打开一个文件刚开始进入的就是命令模式,在这个模式下我们可以控制光标的移动,字符,字或者行的删除,移动复制某段区域,在该模式下可以进入插入模式也可以进入底行模式。
  • 编辑模式:在编辑模式下才可以插入文字,按Esc进入末行模式。
  • 末行模式:在末行模式下保存文件或者退出vim,也可以在末行模式下使用man查找函数等……
    模式转换:

    1.1 编辑模式

i:当前光标的前面输入
I:当前行的开头输入

a:当前光标的后面输入
A:当前行的末尾输入

o:光标所在行的下一行输入
O:光标所在行的上一行输入

1.2 命令模式

yy:复制光标所在的一行
2yy:复制2行,复制多行,根据前面的数值控制

p:粘贴到光标所在行的下方

dd:剪切光标所在的整行
3dd:剪切3行,剪切多行,根据前面的数值控制
D:从当前光标位置剪切到行末尾
d0:从当前光标开始剪切到行首

x:删除光标后面的内容,一次删除一个字符
X:删除光标前面的内容,一次删除一个字符

H:当前屏幕的顶部
M:当前屏幕的中央
L:当前屏幕的末尾

ctrl+f:向下翻一页
ctrl+b:向上翻一页

20G:快速的定位到第20行
G:快速的回到整个文件最后一行
gg:快速的回到整个文件的第一行

w:跳到下一个单词开头位置
b:跳到上一个单词开头位置

u:撤销上一步操作
ctrl+r:反撤销

v:从当前行的开头选中到光标所在位置为止
V:选中光标所在的整行

>>:向右移动代码
<<:向左移动代码
.:重复执行上一步操作

{:上一片代码
}:下一片代码

r:替换当前光标所在的单个字符
R:替换光标以及后面的字符

/:从上向下搜索
?:从下向上搜索
n:下一个符合条件的内容
N:上一个符合条件的内容

shift+zz:保存并退出

1.3 末行模式

:%s/abc/123/g 替换当前文件中的所有abc为123
:1,20/abc/123/g 替换当前文件的1-20行中的abc为123
:q 退出
:q! 不保存退出
:wq! 保存退出

2. vim默认显示行数编号

  • 手动显示:在vim命令行模式下输入:set nu
  • 取消显示:在vim命令行模式下输入:set nonu
  • 永久自动显示:修改一个配置文件,输入命令:vim ~/.vimrc,打开后是一个空文件,添加set nu,保存退出,再次进入vim编辑器,就能自动显示出行号。取消就是删除这个文件即可。

文章作者: 程序猿洞晓
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 程序猿洞晓 !
评论
 上一篇
Spring AOP 动态代理 CGLIB、JDK 的基本原理 Spring AOP 动态代理 CGLIB、JDK 的基本原理
AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP 实现的关键在于 AOP 框架自动创建的 AOP 代理,AOP 代理主要分为静态代理和动态代理,静态代理的代表为 AspectJ;而动态代理则以 Spring AOP 为代表。本文会分别对 AspectJ 和……
2018-06-15
下一篇 
死磕Java并发:J.U.C之重入锁ReentrantLock 死磕Java并发:J.U.C之重入锁ReentrantLock
ReentrantLock还提供了公平锁也非公平锁的选择,构造方法接受一个可选的公平参数(默认非公平锁),当设置为true时,表示公平锁,否则为非公平锁。公平锁与非公平锁的区别在于公平锁的锁获取是有顺序的。但是公平锁的效率往往没有非公平锁的效率高,在许多线程访问的情况下,公平锁表现出较低的吞吐量……
2018-06-11
  目录