Linux基础_常用的vim编辑器指令

vi是linux内置的文书编辑器,而vim可以称为是vi的进阶版,可以说程序编辑器。

vi一共三种模式:

  • 一般指令模式
  • 编辑模式
  • 指令列命令模式

下面记录了一些关于vi的常用按键功能,加粗部分为常用的命令

一般指令模式

移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
[Ctrl] + [f] 屏幕【向下】移动一页,相当于【Page Down】按键
[Ctrl] + [b] 屏幕【向下】移动一页,相当于【Page Down】按键
[Ctrl] + [d] 屏幕【向下】移动一页,相当于【Page Down】按键
[Ctrl] + [u] 屏幕【向下】移动一页,相当于【Page Down】按键
+ 光标移动到非空格符的下一列
- 光标移动到非空格符的上一列
n<space> 按下数字,然后再按空格键,光标会向右移动n个字符
0 或功能键【Home】 移动到行的最前面
$ 或功能键【End】 移动到行的最后面
H 光标移动到这个屏幕的第一行的第一个字符
M 光标移动到这个屏幕的中间行的第一个字符
L 光标移动到这个屏幕的最后一行的第一个字符
G 移动到这个文件的最后一行
nG 移动到第n行(配合 :set nu)
gg 相当于 1G
n 光标移动到第n行

查找与替换

查找与替换
/word 向光标之下寻找word的字符串
?word 向光标之上寻找word字符串
n 重复前一个查找动作,向下查询
N 重复前一个查找动作,向上查询
:n1,n2s/word1/word2/g 在n1-n2行之间,用word2替换word1
:1,$s/word1/word2/g 从第一列至最后一列寻找word1,用word2替换
:1,$s/word1/word2/gc 从第一列至最后一列寻找word1,用word2替换,并提示给用户确认

删除、复制与粘贴

删除、复制与粘贴
x,X x为向后删除一个字符(del); X为向前删除一个字符(backspace)
nx 连续向后删除n个字符
dd 删除游标所在一行
ndd 删除n行
d1G 删除光标所在行到第一行的所有数据
dG 删除光标后的所有数据
yy 复制游标所在的行
nyy 复制游标所在的向下n行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
p,P 粘贴; p光标后粘贴;P光标前粘贴
J 光标所在列与下一列合并成同一列
u 复原前一个动作
[Ctrl] + r 重做上一个动作
. 重复上一个动作

编辑模式

进入插入或替换的编辑模式
i, I i 为从目前光标所在处插入
I 为在目前所在列的第一个非空格符处开始插入
a, A a 从目前光标所在的下一个字符出开始插入
A 从光标所在列的最后一个字符处开始插入
o, O o 在目前光标所在的下一列处插入新的一列
O 在目前光标所在处的上一列插入新的一列
r, R r 只会取代光标所在的那一字符一次
R 会一直取代光标所在的文字,知道按下ESC为止
[Esc] 退出编辑模式,回到一般指令模式中

指令列模式

指令列模式的存储、退出等指令
:w 将编辑的数据写入硬盘文件中
:w! 文件【只读】时,强制写入该文件。还得看你对文件的权限
:q 退出
:q! 强制退出
:wq 保存后退出,加!为强制
ZZ 文件没改动,则不存储离开;如改动,则存储后离开
:w [ filename] 将编辑的数据存储成另一个文件

vim环境的变更

vim环境的变更
:set nu 显示行号
:set nonu 取消行号

参考资料

《鸟哥的LINUX私房菜》

猜你喜欢

转载自blog.csdn.net/weixin_39455881/article/details/106762475
今日推荐