Vim的最全命令总结(Linux)

NVim

一、安装

sudo apt install vim neovim

二、vim的四种模式

vim有四种模式: 普通模式、输入模式、命令模式、可视模式

打开文件直接进入的是普通模式

三、分屏操作

操作功能
vim -On file1 file2 … filen左右分屏 (n为分屏数量)(终端操作)
vim -on file1 file2 … filen上下分屏 (n为分屏数量)(终端操作)
ctrl+w s上下分割当前打开的文件
:sp filename上下分割,并打开一个新的文件
ctrl+w v左右分割当前打开的文件
:vsp filename左右分割,并打开一个新的文件
ctrl+w c关闭当前窗口
ctrl+w q如果只剩最后一个窗口,则退出vim
ctrl+w k/j/h/l把光标移动到(上/下/左/右)边的屏
ctrl+w w把光标移动到下一个屏
ctrl+w K/J/H/L向(上/下/左/右)移动分屏
sp水平分屏(多个窗口中显示同一个文件里的内容)
vsp垂直分屏(多个窗口中显示同一个文件里的内容)
qall同时退出多个屏幕
wqall同时保存退出多个屏幕

四、查找

操作作用
/string从上往下查找string
?string从下往上查找string
\>只匹配单词末尾
\<只匹配单词开头
:/.*a*.*b*从上往下查找既含a又含b的行
:/*a*\|*b*从上往下查找含a或含b的行

忽略大小写查找字符串

查找时使用 \c 参数 如 :/string\c

注意 \c 与字符串之间不要有空格,因为该空格也会被认为是查询的字符串

快速查找

方法一 Shift + *# 查找当前光标对应的单词然后输入,并可通过 n 或 N 进行上一个或下一个的匹配。

方法二 yw 拷贝该单词, 然后输入 :/ (Ctrl + R) 0, 回车,并可通过 n 或 N 进行上一个或下一个的匹配。

五、普通模式

移动
↑, ↓, ←, →
h, j, k, l

4h 向左4格    
4j 下移4行
快捷键作用
0 / ^光标移动到行首
$光标移动到行尾部
gg光标移动到文件头
G光标移动到最后一行的行首
nG跳转到第n行行首
n+回车向下跳转n行
w跳转到下一个单词的开头
b跳转到前一个单词的开头
ctrl+上下左右跨单词移动
caw删除当前这个词并进入输入模式
cc删除当前一行并进入输入模式
c4j删除下4行并进入输入模式
排版
快捷键作用
<<向左缩进一个shiftwidth
>>向右缩进一个shiftwidth
:ce(nter)本行文字居中
:le(ft)本行文字靠左
:ri(ght)本行文字靠右
翻页
快捷键作用
ctrl d向下翻半页
ctrl u向上翻半页
ctrl f向下翻页
ctrl b向上翻页
跳转
f{char} 跳转到当前行的某个字符上面,之后再用(;;向后)(,向前)来重复跳转;
eg fr -> 移动到最近的r的位置
删除
快捷键作用
x (小写)删除光标后边的字符
X (大写)删除光标前边的字符
d0删除当前行光标前的字符串
d$ (D)删除当前行光标后的字符串
dd删除光标所在行
ndd删除n行
d删除
dj删除当前行和下一行的内容
dfr删除到r为止的内容
撤销
快捷键作用
[n] u取消一(n)个改动
:undo 5撤销5个改变
ctrl + r反撤销
U取消当前行中所有的改动
:earlier 4m回到4分钟前
:later 55s前进55秒
u撤销
复制和粘贴
快捷键功能
p粘贴到光标所在行的下边
P粘贴到光标所在行的上边
y复制
yw复制整个单词
yy复制光标所在行
nyy从光标所在行向下复制 n 行
y4j复制了包含当前行在内的4行内容
yfr复制到r为止的内容

六、输入模式

快捷键功能
i从光标前边开始输入
a从光标的后边开始输入
o在光标下边创建新行, 在新行中输入
s删除光标后边的字符(盖住的字符), 从删除的字符位置开始输入
I从当前行行首开始输入
A从当前行行尾开始输入
O在光标上边创建新行, 在新行中输入
S删除当前行, 在当前行开始输入

七、命令模式

命令模式下输入的命令功能
q退出, 如果退出的时候文件没有保存, vim会提示是否要保存
q!直接退出, 不保存 (强制退出)
w保存, 不退出
wq保存退出
x保存退出
:n光标跳转到第n行
文本替换
:{作用范围}s/{替换目标}/{替换内容}/{替换的标志}
// 作用范围分为当前行、全文、选区等等:
s:当前行替换
%s:全文替换
n1,n2s:指定行替换,替换n1:n2间所有行的目标。
‘<,>s:指定区域替换
// 替换标志有g,i,I,c和空标志:
g:表示一次替换作用范围内所有的目标。
空标志:只替换作用范围内,每行第一次出现的目标。
i:不敏感查找,不区分大小写。
I:敏感查找,区分大小写。(默认状态)
c:表示替换前需进行确认。
// eg
:n1,n2s/zempty/handsome/g 替换掉n1到n2行的所有 zempty为handsome
命令模式下的命令行打开文件
:edit ~/file_1 打开对应文件
:edit %<Tab> 自动显示整个路径
执行shell命令
// 在命令模式下执行需要的shell命令,在执行shell命令之前需要在前边加上一个叹号!
:!shell命令

八、可视模式

从普通模式进入可视模式
快捷键进入模式模式讲解
按小写v进入字符选择模式选中光标经过的所有字符
按大写V进入行选择模式选中光标经过的所有行
按Ctrl+v进入块选择模式选中一整个矩形框表示的所有文本
相关快捷键
  • 注意 : 光标所在字符不包含在选区中
快捷键作用
o在选中区域中的左上和右下角来回切换
gv改为选中上一次选中的目标区域
  • 一些在普通模式的快捷键也同样适用
快捷键作用
.点命令重复执行上一次执行过的命令(普通模式和可视模式均适用)
f{char}跳转到当前行的某个字符上面,之后再用(;;向后)(,向前)来重复跳转
$从当前位置选择到行尾
^从当前位置选择到行首
x或d剪切,(d只删除选中的字符,而D删除选中字符所在行的所有字符)
y和Y复制,(y只复制选中的字符,而Y复制选中字符所在行的所有字符)
p或P粘贴,(p 粘在光标所在字符后面,P 粘在前面)
r字符所有字符替换为新字符
c字符修改选中的文本
I字符在选中文本前插入
A字符在选中文本后插入
u U ~分别是所有字母变小写、变大写、反转大小写
J字符将高亮显示的文本内容合并为一行,同时以空格来分隔各行
>和<将选中字符右移或左移 shiftwidth位置
可视模式下的底行命令
  • 可视化模式下,按下 :键就可以对选定范围进行操作。底行命令行中会自动填充‘<,’>
操作作用
‘<,’>write block.txt将文本块写入block.txt中
‘<,’>sort对选中的文本进行排序
‘<,’>s/{替换目标}/{替换内容}/{替换的标志}在选中的区域内进行批量替换
  • 提示: 当执行完命令以后 将回到普通模式
可视模式下的注释
// 可视模式下注释多行代码
(1) Ctrl + v进入块选择模式
(2) 向上或向下移动光标选择多行
(3) 移动光标到行的起始位置(或输入指令^)
(4) 然后按大写 I 进入行首插入模式
(5) 插入注释符
(6) 按Esc回到命令模式
// 可视模式下取消多行注释
(1) Ctrl + v进入块选择模式
(2) 向上或向下移动光标,选择要删除的注释符号
(3) 按d键删除
  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值