Linux vi 命令和操作

常用的 vi 命令:

命令模式下的命令:

i:进入插入模式,在光标前插入文字。

I:在当前行的第一个非空白字符前插入文字。

a:在光标后插入文字。

A:在当前行的行尾插入文字。

o:在当前行下方打开新行并进入插入模式。

O:在当前行上方打开新行并进入插入模式。

r:替换当前光标下的字符。

J:将当前行与下一行合并。

dd:删除当前行,并复制到剪贴板。

yy:复制当前行。

p:粘贴剪贴板内容到光标后。

P:粘贴剪贴板内容到光标前。

u:撤销上一次操作。

Ctrl + r:重做上一次被撤销的操作。

:w:保存文件。

:wq 或 :x:保存文件并退出。

:q:退出 vi。

:q!:强制退出 vi,不保存更改。

:w!:强制保存文件,即使文件属性为只读。

:set number:显示行号。

/word:向下搜索“word”。

?word:向上搜索“word”。

n:查找下一个匹配项。

N:查找上一个匹配项。

:%s/old/new/g:替换文件中所有的“old”为“new”。

:%s/old/new:替换每行中的第一个“old”为“new”。

:help:打开帮助文档。

移动光标的命令:

h:向左移动光标。

j:向下移动光标。

k:向上移动光标。

l:向右移动光标。

G:移动到文件的最后一行。

gg:移动到文件的第一行。

:n:移动到第 n 行。

在命令模式下,以下按键有特殊含义:

Ctrl + a:递增当前行的数字。

Ctrl + x:递减当前行的数字。

Ctrl + f:向前滚动屏幕。

Ctrl + b:向后滚动屏幕。

Ctrl + d:向前滚动半屏。

Ctrl + u:向后滚动半屏。

Ctrl + y:复制当前光标行之上的内容。

Ctrl + e:复制当前光标行之下的内容。

进入/退出插入模式:

i:在当前光标位置前进入插入模式。

I:在当前行首进入插入模式。

a:在当前光标位置后进入插入模式。

A:在当前行末尾进入插入模式。

o:在当前行下方新开一行进入插入模式。

O:在当前行上方新开一行进入插入模式。

Esc:退出插入模式,回到命令模式。

查找和替换:

/pattern:向下查找“pattern”。

?pattern:向上查找“pattern”。

n:查找下一个匹配项。

N:查找上一个匹配项。

:%s/old/new/g:替换文件中所有的“old”为“new”。

保存和退出:

:w:保存文件。

:wq 或 :x:保存文件并退出。

:q:退出 vi。

:q!:不保存更改强制退出。

这些是 vi 编辑器中最常用的一些命令,掌握这些命令可以帮助您更高效地使用 vi。

高级命令和技巧:

块操作:

v:进入可视模式,可以逐字块选择文本。

V:进入可视行模式,可以按行选择文本。

Ctrl + v:进入可视块模式,可以按块选择文本。

d:删除选中的文本。

y:复制选中的文本。

c:更改选中的文本(删除并进入插入模式)。

~:切换选中字母的大小写。

多光标编辑:

Ctrl + n:在下一个匹配项处插入光标。

Ctrl + p:移除当前光标(如果有多个光标)。

宏录制

q<register>:开始录制宏到寄存器。

q:停止录制宏。

:<register>:执行寄存器中的宏。

全局命令

:%s/old/new/g:在整个文件中替换文本。

:g/old/p:打印包含“old”的所有行。

:v/old/d:删除包含“old”的所有行。

窗口分割

:split 或 :sp:水平分割窗口。

:vsplit 或 :vsp:垂直分割窗口。

Ctrl + w:切换到下一个窗口。

Ctrl + w s:水平分割窗口并切换到新窗口。

Ctrl + w v:垂直分割窗口并切换到新窗口。

标签页

:tabnew 或 :tabnew:在新标签页中打开文件。

gt:切换到下一个标签页。

gT:切换到上一个标签页。

折叠

za:打开或关闭当前折叠。

zM:关闭所有折叠。

zR:打开所有折叠。

寄存器:

"ay:将选中文本复制到寄存器a。

"ap:粘贴寄存器a的内容。

搜索技巧:

*:查找当前光标下的单词。

#:查找当前光标下的单词的上一个匹配项。

gn:跳转到下一个匹配项的最后一次出现。

gN:跳转到上一个匹配项的最后一次出现。

模式匹配:

:%s/\(.*\)/\1\1/g:将每一行翻倍。

:%s/\(.\{-}\)/\1\1/g:将每个单词翻倍。

使用正则表达式:

:%s/\(\%.\)\@<=abc/xyz/:替换字符串,仅在字符串后跟abc时。

快速编辑:

.:重复上一次的命令或操作。

状态栏:

:set showcmd:显示命令的前缀。

:set ruler:显示光标位置。

:set number:显示行号。

文件编码:

:set fileencodings:查看支持的文件编码。

:set encoding=utf-8:设置文件编码为UTF-8。

插件:

vi 可以通过插件扩展功能,如 vim-plug、Pathogen 等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值