Vim简单入门操作

Vim简单入门操作

移动光标

  1. H:光标左移

  2. J:光标上移

  3. K:光标下移

  4. L:光标右移

退出

  1. 以保证进入正常模式(Normal Mode),或者按<CTRL+[]>

  2. 输入<:>以进入命令模式,然后输入q!,常用参数a-all,w-save,q-quit,!-force,x-equal with wq,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 复制光标所在行到文本的结束

pP是黏贴的意思,当执行完复制或者黏贴的命令以后,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

  1. 打开或关闭行号(number)

如果希望每次进入vi 会话时都显示行号,那么在主目录中的.exrc 文件中添加 set number 行。

在命令模式下,使用如下命令

:set all 命令显示选项和设置的列表

:set nu 显示行号

:set nonu 关闭行号

  1. 自动缩进(autoindent)(shiftwidth)

四个空格,那么在主目录中的.exrc 文件中添加 set ai sw=4 行。

在命令模式下,使用如下命令

:set ai 打开自动缩进

:set noai 关闭自动缩进

:set ai sw=4 把缩进打开并设置每级缩进设置为4个空格

:n>> 增加n级缩进量

:<<n 减少n级缩进量

  1. 搜索

如果希望每次进入vi 会话时都启用不区分大小写的搜索,那么在主目录中的.exrc 文件中添加 set ignorecase 行。

不区分大小写搜索(ignorecase)

:set ic 不区分大小写

:set noic 恢复区分大小写

/echo 查找当前文件中,是否存在echo 关键字

echo.* 查找当前文件中包含字符串echo,后面有个0或更多字符,之后是字符串file的第一行

:nohl 取消搜索关键字后的 高亮

:/xxxx\c 仅一次不区分大小写搜索

查询帮助

help <key>

补全提示

CTRL+d或者TAB,前者显示所有推荐的可选项,后者直接补全当前命令

posted @ 2021-07-14 10:06  -拂石-  阅读(474)  评论(0编辑  收藏  举报