Vim简单入门操作
Vim简单入门操作
移动光标
-
H:光标左移 -
J:光标上移 -
K:光标下移 -
L:光标右移
退出
-
按
以保证进入正常模式(Normal Mode),或者按<CTRL+[]> -
输入<:>以进入命令模式,然后输入q!,常用参数
a-all,w-save,q-quit,!-force,x-equal withwq,e-open another file
文本编辑
按x以删除当前光标后的一位字符
i是在光标所在的字符之前插入需要录入的文本。
I 是在光标所在行的行首插入需要录入的文本。
a 是在光标所在的字符之后插入需要录入的文本。
A 是在光标所在行的行尾插入需要录入的文本。
o 是光标所在行的下一行行首插入需要录入的文本。
O 是光标所在行的上一行行首插入需要录入的文本。
s 删除光标所在处的字符然后插入需要录入的文本。
S 删除光标所在行,在当前行的行首开始插入需要录入的文本。
删除操作
d 是删除的意思,通常搭配一个字符 ( 删除范围 ) 实现删除功能,常用的如下:
dw 从当前光标开始删除一个单词(包括到下一个单词前的空格)
de 从当前光标开始删除一个单词(不包括到下一个单词前的空格)
dnw 删除 n 个单词
dfa 删除光标处到下一个 a 的字符处( fa 定位光标到 a 处 ,包括a)
dnfa 删除光标处到第 n 个 a 的字符处
dd 删除一整行
ndd 删除光标处开始的 n 行
d$ 删除光标到本行的结尾
dH 删除屏幕显示的第一行文本到光标所在的行
dG 删除光标所在行到文本的结束
dw这种不怎么常用, 但daw用得很多(把光标所在的单词直接删)
快速移动
nw n代表一个整数,为光标向前移动两个单词长度
ne n代表一个整数,为光标向前移动到第n个单词结尾
0 移动光标至行首
nG 光标定位到第 n 行的行首
gg 光标定位到第一行的行首
G 光标定位到最后一行的行首
H 光标定位到当前屏幕的第一行行首
M 光标移动到当前屏幕的中间
L 光标移动到当前屏幕的尾部
zt 把当前行移动到当前屏幕的最上方,也就是第一行
zz 把当前行移动到当前屏幕的中间
zb 把当前行移动到当前屏幕的尾部
% 匹配括号移动,包括 ( , { , [ 需要把光标先移动到括号上
* 和 # 匹配光标当前所在的单词,移动光标到下一个(或者上一个)匹配的单词( * 是下一个,# 是上一个)
行首命令: ^ , 0 , I
行尾命令:1$, A
翻页
ctrl+f 查看下一页内容
ctrl+b 查看上一页内容
撤销
u 撤销
CTRL+r 恢复撤销
U撤销对一行的所有修改
复制粘贴
前一个删除操作所删除的内容会自动存入内存中,通过p调用粘贴
y 是复制的意思,通常搭配一个字符(复制范围)实现复制的功能,常用的如下:
yw 复制一个单词,还有 ynw
yfa 复制光标到下一个 a 的字符处,还有ynfa
yy 复制一行,还有 nyy
y$ 复制光标到本号的结尾
yH 复制屏幕显示的第一行文本到光标所在的行
yG 复制光标所在行到文本的结束
p ,P是黏贴的意思,当执行完复制或者黏贴的命令以后,VIM 会把文本寄存起来。
p 在光标后开始复制
P 大写的 P 光标前开始复制
替换
r 替换掉光标当前所在的字符
R 替换掉从光标开始以后的所有字符,除非 <ESC > 退出
:{作用范围}s/{目标}/{替换}/{替换的标志}
:s/old/new把光标所在行的第一个old替换成new
:s/old/new/i把光标所在行的第一个old替换成new且大小写不敏感
:s/old/new/Ig把光标所在行的全部old替换成new且大小写敏感
:%s/old/new/gc把全文的old替换成new,并且需要确认
:n1,n2s/old/new/g把从n1行到n2行的全部old替换成new
:'<,'>s/old/new/g选区模式下把选区内所有old换成new
修改
ce删除当前光标到光标所在单词的末尾的所有字符,并进入插入模式
c$删除到行尾
查找
/+"str"+
搜索过程中输入n移动到下一项,输入N移动到上一项
?+"str"+
CTRL+o回到上一个位置
%当光标位于(),{},[]等符号上时,输入该指令以快速跳转至前括号或者后括号
执行外部/Linux命令
:!command返回外部界面,执行完命令后按
:r !command执行命令并添加结果至操作文本光标处
可视模式
按v进入选择模式。你可以移动光标扩大或者缩小选择内容。然后你可以使用一个操作符对文本做点什么。例如,d删除文本。
输入其他文件中的内容
:r filename
Set
- 打开或关闭行号(number)
如果希望每次进入vi 会话时都显示行号,那么在主目录中的.exrc 文件中添加 set number 行。
在命令模式下,使用如下命令
:set all 命令显示选项和设置的列表
:set nu 显示行号
:set nonu 关闭行号
- 自动缩进(autoindent)(shiftwidth)
四个空格,那么在主目录中的.exrc 文件中添加 set ai sw=4 行。
在命令模式下,使用如下命令
:set ai 打开自动缩进
:set noai 关闭自动缩进
:set ai sw=4 把缩进打开并设置每级缩进设置为4个空格
:n>> 增加n级缩进量
:<<n 减少n级缩进量
- 搜索
如果希望每次进入vi 会话时都启用不区分大小写的搜索,那么在主目录中的.exrc 文件中添加 set ignorecase 行。
不区分大小写搜索(ignorecase)
:set ic 不区分大小写
:set noic 恢复区分大小写
/echo 查找当前文件中,是否存在echo 关键字
echo.* 查找当前文件中包含字符串echo,后面有个0或更多字符,之后是字符串file的第一行
:nohl 取消搜索关键字后的 高亮
:/xxxx\c 仅一次不区分大小写搜索
查询帮助
help <key>
补全提示
CTRL+d或者TAB,前者显示所有推荐的可选项,后者直接补全当前命令

浙公网安备 33010602011771号