vi 编辑器的使用

vi

文本编辑器

学习原因

  • 很多Linux系统都会内置 ” vi ” 文本编辑器
  • 很多软件的编辑接口都会主动调用vi,如crontab, visudom, edquota(主要原因)
  • 编辑速度快

模式切换

graph TB;
    一般模式--:-->命令行模式;
    命令行模式--esc-->一般模式;
    一般模式--"a/i/o..."-->编辑模式;
    编辑模式--esc-->一般模式;

在 vi 中,”数字” 是很有意义的!数字通常代表重复做几次的意思,也有可能是代表去到第几个什么什么的意思。如10x, 删除10个连续字符; 3dd, 连续删除3行;3gg,跳转到第三行

shift + 小写字母 = 大写字母

一般模式

vi 启动后的默认模式,此模式下可移动光标,删除,复制,粘贴数据。

移动光标

快捷键动作
h 或 向左方向键(←)光标向左移动一个字符
j 或 向下方向键(↓)光标向下移动一个字符
k 或 向上方向键(↑)光标向上移动一个字符
l 或 向右方向键(→)光标向右移动一个字符
ctrl + f屏幕”向下”移动一页,相当于 Page Down
ctrl + b屏幕”向上”移动一页,相当于 Page Up
ctrl + d屏幕”向下”移动半页
ctrl + u屏幕”向上”移动半页
+光标移动到非空白字符的下一行行首
-光标移动到非空白字符的上一行行首
n + spacen 表示”数字”,按下数字后再按空格键,光标会向右移动 n 个字符
0 或功能键Home数字” 0 “,移动到行首 (常用)
$ 或功能键End移动到行末(常用)
H光标移动到屏幕上方第一行行首
M光标移动到屏幕中央行行首
L光标移动到屏幕下方最后一行行首
gg移动到文件第一行(常用)
n + ggn为数字,光标移动到文件的第n 行
G移动到这个文件的最后一行(常用)
n + Gn 为数字,移动到这个文件的第 n 行
n + Entern 为数字,光标向下移动 n 行(常用)
ctrl + o回到上一次光标所在的位置(完成跳转后才能使用)
w移动到下一个单词的开头, (猜测,w=word)
b移动到上一个单词的开头, (猜测, b=before)
e到当前单词结尾, (猜测, e=end)
f<单个字符>行内查找,向”后”搜索<字母>并跳转到第一个匹配的位置(常用)
F<单个字符>向”前”搜索<字母>并跳转到第一个匹配的位置

查找与替换

命令动作
/word向光标之下寻找 word
?word向光标之上寻找 word
n重复前一个搜寻的动作。如果执行 /vbird 向下搜寻 vbird,按下 n 后,会向下继续搜寻 vbird;如果执行 ?vbird 的话,那么按下 n 则会向上继续搜寻 vbird
N与 n 刚好相反,反向进行前一个搜寻动作。例如 /vbird 后,按下 N 则表示向上搜寻 vbird
:n1,n2s/word1/word2/gn1,n2 为数字,将行[n1, n2]中的word1替换为word2。如将100~200行中的1全部替换为a,则:“:100,200s/1/a/g”。(常用)
:1,$s/word1/word2/g将1~最后一行中的word1替换为word2
:1,$s/word1/word2/gc将1~最后一行中的word1替换为word2,替换前询问是否替换

删除,复制,粘贴

快捷键动作
x删除光标处的字符
X删除光标前的字符
nxn 为数字,连续向后删除 n 个字符
D删除光标所在处~行尾的数据
dd删除光标所在的行
n + ddn 为数字,删除光标所在的向下 n 行
d + 1 + gg删除光标所在行到第一行的数据
dG删除光标所在行到最后一行的数据
d$删除光标所在处到行末的字符
d0删除光标所在处到行首的字符
yy复制光标所在行
n + yyn 为数字,复制光标所在的向下 n 行
y1G复制光标所在行到第一行的数据
yG复制光标所在行到最后一行的数据
y0复制光标所在行到最后一行的数据
y$复制光标所在处到行末的字符
p将复制的内容粘贴在光标下一行
P将复制的内容粘贴在光标上一行
J将光标所在行与下一行的数据合成一行
u撤销前一个动作,类似于windows中的ctrl + z
U撤销当前行的所有修改
ctrl + r重复上一个动作
.重复上一个动作

编辑模式

在一般模式下,按以下字符可进入编辑模式,此时界面下方会出现INSERT/REPLACE,按 ” esc ” 返回一般模式

# 插入
i  从光标所在处插入
I  从所在行的第一个非空白字符处开始插入
a  从光标所在的下一个字符处开始插入
A  从光标所在行的最后一个字符处开始插入
o  在光标所在的下一行插入新的一行
O  在光标所在的上一行插入新的一行
# 替换 
r  替换光标所在的那个字符
R  一直替换光标所在的文字, 直到按下 ESC 为止

命令行模式

在一般模式下按 ” : “可进入命令行模式,此模式下可进行读取文件,保存,设置,执行命令等操作

在vi中,! 经常具有强制的意思

操作动作
w将编辑的数据写入硬盘文件中(常用)
w!若文件属性为” 只读 “时,强制写入该文件。不过,到底能不能写入, 还是与对该文件的文件权限有关
q离开 vi (常用)
q!若曾修改过文件,又不想储存,使用 ! 为强制离开并且不存储修改
wq储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ若文件没有更动,则不储存离开,若文件已经被更动过,则储存后离开!
w [filename]另存为
r [filename]读入文件
n1,n2 w [filename]将行 [n1, n2] 的内容保存到 filename中
! command暂时离开vi,执行bash命令
set nu显示行号
set nonu与 set nu 相反,取消行号
ce使本行文本居中(center)
ri使本行文本靠右(right)
le使本行文本靠左(left)
>, >>将光标所在行的数据向右缩进
<, <<将光标所在行的数据向左缩进
n编辑下一个文件,vi 1.txt 2.txt 3.txt
N编辑上一个文件
files列出目前打开的文件

块选择(visual block)

快捷键做的
v字符选择,选择光标经过的区域,再按一次取消选取
V行选择,选择光标经过的行,再按一次取消选取
ctrl + v块选择,块状选择数据,再按一次取消选取
y复制选中的数据
d删除选中的数据
p粘贴

多窗口

w = window

命令动作
sp filename上下分割窗口,打开文件
vsplit filename左右分割窗口,打开文件
ctrl + w + w将光标移到下一个窗口
ctrl + w+ j 或 ↓光标移动到下方的窗口
ctrl + w + k 或 ↑光标移动到上面的窗口
ctrl + w + h光标移动到左边的窗口
ctrl + w + l光标移动到右边的窗口

vim

“vim”,全称 “vi Improved”,”vi” 的增强版 。

记录

vim会将曾经做过的操作全部记录下来,保存在~/.viminfo。

vim配置

配置文件路径: ~/.vimrc

插件安装

参考链接

https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/78.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值