2024-09-06 06:08PM
我会把必须要掌握的命令进行加红
默认的就是导航模式。 你在其他模式下,按"ESC"就回到了导航模式。
在导航模式下,输入 a
, i
, o
等,就可以进入到输入模式。
在导航模式下,输入 :
就可以进入到命令模式。
k 上
l 右
j 下
h 左
w
下一个词开头 (word)
b
上一个词开头 (backword)
e 下一个单词结尾
g; 跳转到上一次更改的位置
g, 跳转到下一次更改的位置
gk和gj 移动至上一行或下一行
{ 向上移动光标到当前段落的开头
} 向下移动光标到当前段落的结尾
( 向左移动光标到当前句子的开头
) 向右移动到当前句子的结尾
ge 上一个单词结尾
gg 跳转到最后一行
<number> + gg 跳转到number行
// 这个组合用于跳转到文件中的特定行。例如,如果你输入 10gg,光标会移动到第 10 行的开头。
// gg 是一种直接的行导航方式。
:number 跳转到第number行
// 这个命令用于在命令行模式下跳转到特定行。输入 :10 后按 Enter,光标会移动到第 10 行。
// 这种方法允许你在使用其他命令时指定行号,例如 :10d 会删除第 10 行。
<number> + gg 是快速行导航,而 :<number> 是在命令模式下的行操作
% 会匹配到对应的括号,并进行跳转
* 匹配当前光标所在的单词,移动光标到下一个
# 匹配当前光标所在的单词,移动光标到上一个
ctrl + f
向下一屏(f = forward)
ctrl + b
向上一屏(b = backward)
选择多行
shift + v
, 然后上下移动
搜索
搜索 some_thing: /some_thing
继续搜索下一个: n
搜索前一个: shift + n
使用的插件: fuzzy find
ctrl + t
, 就会弹出 >file>
这样的标志,然后输入:**/文件名
即可。 文件名是模糊查询。
2.快速打开历史文件
使用的插件: MRU (most recently used files)
ctrl + e
即可。
3.跳到行首, 行末
shift + 4
(意为 $
, 这是正则表达式中 末尾的意思)0
4.快速跳到文件首行 , 尾行
gg
: 第一行shift + g
: 最后一行
5.快速跳到 上一次 / 下一次编辑的地方:
g;
g,
6.返回上一次/下一次编辑的文件或位置
ctrl + o
( o 意为 outer )ctrl + i
( i 意为 inner )f 在当前行中向右搜索并移动光标到指定字符的位置,然后按;跳转到下一个指定字符
eg:当前行是 Hello, world!,输入 fw 将光标移动到 w 的位置
F 在当前行中向左搜索并移动光标到指定字符的位置,然后按;跳转到下一个指定字符
eg:当前行是 Hello, world!,输入 Fw 将光标移动到 w 的位置
v 进入 视觉模式,用于选择文本字符。
eg:按 v 后可以移动光标选择想要的字符。
V 进入 视觉行模式,用于选择整行文本。
eg:使用举例:按 V 后可以移动光标选择整行。
i 进入 插入模式,可以在光标当前位置插入文本。
eg:按 i 后可以输入文本,直到按 Esc 返回普通模式。
I 进入 插入模式,并将光标移动到当前行的开头。
eg:按 I 后可以在行首插入文本。
a 进入 插入模式,可以在光标右侧插入文本。
eg:按 a 后可以在光标后输入文本。
A 进入 插入模式,并将光标移动到当前行的末尾。
eg:按 A 后可以在行尾插入文本。
Esc 退出 插入模式 或 视觉模式,返回到普通模式。
eg:在任何插入或视觉模式下按 Esc。
o 在当前行下方新建一行并进入插入模式。
eg:按 o 后可以在新行中输入文本。
O 功能:在当前行上方新建一行并进入插入模式。
eg:按 O 后可以在新行中输入文本。
i
( insert ) 在光标前输入
a
(append / after ) 在光标后输入
shift + i
在行首增加内容
shift + a
在行末增加内容
o
在光标下行增加内容
shift + o
在光标上行增加内容
gi 在上一个修改的地方进行插入模式
x 删除当前光标所在的字符
dd 删除当前行
dw 删掉一个单词
shift +v
, 然后 x
或者 d
删掉多行
cc 删除当前行,并进入插入模式
D 删除从当前光标位置至行尾的内容
C 删除从光标当前位置到行位的所有内容,并进入插入模式
yw
复制一个单词
yy 复制当前行
Y 与yy相同,复制当前行
yl 是用于复制光标当前位置的字符
yas 是一个组合命令,表示“复制当前行并进入插入模式”
yap 是一个组合命令,表示“复制当前段落并进入插入模式”
p 在光标后粘贴复制的内容
P 在光标前粘贴复制的内容
gP 复制的内容粘贴到光标前,但会保留原有的格式(即不进行格式调整)
gp 在光标后粘贴复制的内容,同时光标会移动到刚刚粘贴的内容后面
cw 删除光标当前位置到下一个单词的开头的所有字符,并进入插入模式
c$ 删除光标当前位置到当前行末尾的所有内容,并进入插入模式
r 替换当前光标下的字符
dl 删除光标右侧一个字符
d3l 删除光标右侧三个字符
diw:删除光标所在的单词(包括单词前后的空格)
v + <select area> + <action> 是一个组合命令
v:进入视觉模式,允许你选择文本。
<select area>:使用光标移动键(如方向键、h、j、k、l 等)选择文本区域。
<action>:对选择的文本执行某个操作,
eg:
d:删除选中的文本。
y:复制选中的文本。
c:删除选中的文本并进入插入模式以替换内容。
ctrl + y:向上一行滚动当前窗口一个屏幕的内容,而光标保持在原来的位置
Ctrl + d:向下滚动当前窗口半个屏幕的内容,同时光标保持在当前行的位置
ctrl + e 打开最近打开的文件“Most Recently Used Files”2.针对多个文件进行 查找和替换
竖屏分割: vs
(vertical split缩写)
横屏分割: sp
(split缩写)
来回跳换: ctrl + w + w
(跳到下一个小窗口), 或者 ctrl + w + <j/k/h/l>
(跳到某个方向的小窗口)
only 关闭所有其他窗口,只保留当前窗口
ctrl + w c 关闭当前窗口
ctrl + w q 退出当前窗口
ctrl + w o 关闭所有其他窗口,只保留当前窗口
< 减少当前行或选中行的缩进
> 增加当前行或选中行的缩进
= 自动格式化当前行或选中行的缩进,使其符合 Vim 的格式化规则
/\C<pattern> 在搜索时进行区分大小写的匹配
/\c<pattern> 在搜索时进行不区分大小写的匹配
/\<<pattern>\> 搜索以 pattern 为完整单词的匹配
eg:/\<word\> 只会匹配 "word" 而不会匹配 "sword" 或 "wording"
* 向下查找当前光标下的 word
# 向上查找当前光标下的 word
n 跳转到下一个查找到的内容
2.针对多个文件进行 查找和替换
使用插件: Greplace
Gsearch -F '要替换的字符串' . -R --include=*rb
这里的 -F
, -R --include=*rb
这些参数,跟grep
中的一样。Greplace
然后选择 y/a/n
来决定是否替换。wa
保存所有文件的改动。3.自动补全
凡是在 Vim 缓冲区中(近期打开过的文件)的代码,都可以补全。
ctrl + n
ctrl + p
4.多重复制与粘贴
Vim中支持。 使用YRShow 插件。
在我的个人配置中, ,
+ a
即可。原始命令: :YRShow
。 在弹出的“复制历史列表”中, 上下移动, 找到合适的后直接按回车即可。
5.替换
:s/old/new/ 当前行替换
g 选项来替换当前行中的所有匹配项
:s/old/new/g
:%s/old/new/g 全文件替换
:%s:表示在整个文件中执行替换。
g:表示替换所有匹配项。
如果你希望在替换时进行确认,可以在命令后加上 c 选项:
当前行确认:
:s/foo/bar/gc
全文件确认:
:%s/foo/bar/gc
6.局部替换
shift + v
选中若干行:s/原来的/新的字符串
0y$ 表示拷贝当前行。
0 先到行首
y 从 <start position> 开始拷贝,这里是行首
$ 表示一直拷贝到行尾
diw 删除单词,不包括单词周围的符号,例如 " word ",光标在 w,删除后变成了 " "
daw 删除当前单词,包括周围的空白字符,例如 " word ",光标在 w,删除后变成了 ""
da" 删除双引号中间的内容,包括双引号本身,例如 " word ",光标在 w,删除后变成了 ``
di": 删除双引号中间的内容,不包括双引号本身,例如 " word ",光标在 w,删除后变成了 ""
ds" 删除当前单词周围的双引号,例如 " word ",光标在 w,删除后变成了 w
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论