vi/vim/gvim编辑器使用心得

vi的工作模式

Vi在初始启动后,先进入编辑模式,用户可以使用预定的按键来移动光标、删除文字、复制或粘贴文字。用户在编辑模式下键入i、a、o等命令可以进入插入模式,在插入模式下,用户随后输入的除了ESC外的任何字符都被看做是插入到编辑缓冲区的字符,按ESC后,从插入模式切换到编辑模式。在命令模式下,Vi把光标挪到屏幕的最下方,并在第一个字符的位置显示一个:。用户可以键入一些命令,这些命令可以用来保存文件,读取文件内容,执行shell命令,设置Vi参数,以正则表达式查找字符串或替换字符串。

编辑模式

移动光标

要对正文内容进行修改,首先必须把光标移动到指定位置。最简单的方式是上下左右箭头键。
h、j、k、l 功能分别对应上下左右箭头键。
Ctrl+b 在文中向上移动一页(PageUp)
Ctrl+f 在文中向下移动一页(PageDown)
H 将光标移到屏幕最上方(Highest)
nH 将光标移到屏幕的第n行
M 将光标移到屏幕的中间
L 将光标移到屏幕的最下行
nL 将光标移到屏幕的倒数第n行
w 在指定行右移光标,到下一个字的开头
e 在指定行右移光标,到一个字的末尾
b 在指定行左移光标,到前一个字的开头
0 左移光标,到本行开头
$ 右移光标,到本行末尾
^ 到本行第一个非空字符

G 光标移动到某行 (1G表示移动到第一行)
G 移动到文件结尾

替换和删除

vi/vim/gvim编辑器使用心得_第1张图片

粘贴和复制

p 小写字母p–将缓冲区的内容粘贴到光标的后面
P 大写字母P–将缓冲区的内容粘贴到光标的前面

通常小写命令在光标的后面进行操作,大写命令在光标的前面进行操作。

复制一段正文,并保留原位置的内容:
yy 复制当前行到内存缓冲区
nyy 复制n行内容到内存缓冲区

搜索字符串

键入/,后面跟要搜索的字符串,回车搜索,正向搜索
键入?,实现反向搜索
键入n,继续执行搜索,搜索下一次出现的位置

撤销和重复

u 撤销前一条命令的结果
. 重复最后一条修改正文的命令

文本选中

vi 进入Visual的模式,用户可以使用光标移动命令可视地选择文本

插入模式

进入插入模式

在编辑模式下:
i 在光标左侧输入正文
a 在光标右侧输入正文
o 在光标所在行的下一行新添行
O 在光标所在行的上一行新添行
I 在光标所在行开头输入正文
A 在光标所在行末尾输入正文

退出插入模式

按ESC 或者 组合键Ctrl+[

命令模式

编辑模式下键入“:”进入

退出命令

:q 未做修改情况下退出
:q! 放弃修改,退出编辑

行号与文件

:n 将光标移动到第n行
指定命令操作的行号范围
数值用来指定绝对行号;
字符“.”表示光标所在的行号;
字符“$”表示正文最后一行行号;

例:
.+5 当前行向下移动5行
:345 光标移动到345行
:345w file 将第345行写入file文件
:3,5w file 第3到第5行写入file文件
:1,.w file 将第一行至当前行写入file文件
:., w f i l e 将 当 前 行 至 最 后 一 行 写 入 f i l e 文 件 : . , . + 5 w f i l e 将 当 前 行 开 始 将 6 行 内 容 写 入 f i l e 文 件 : 1 , w file 将当前行至最后一行写入file文件 :.,.+5w file 将当前行开始将6行内容写入file文件 :1, wfilefile.,.+5wfile6file1,w file 将所有内容写入file文件 ===== :w file

:w 保存编辑中的内容
:w file 将编辑内容保存至file文件 保持原文件不变
:a,b w file 将a-b行写入file文件
:r file 读取file内容,插入当前光标所在行后
:e file 编辑新文件file ,替换原内容
:f file 将当前文件重命名为file
:f 打印当前文件名称和状态:行数,光标所在行号

字符串搜索

:/str/ 正向搜索,将光标移到下一个包含字符串str的行
:?str? 反向搜索
:/str/w file 正向搜索,并将第一个包含字符串str的行写入file文件
:/str1/,/str2/w file 正向搜索,并将包含字符串str1的行至包含字符串str2的行写入file文件

正文替换

?/str1/str2 用str2替换str1
?/str1/str2/g 用str2替换行中所有str1
:., / s t r 1 / s t r 2 / g 用 s t r 2 替 换 正 文 当 前 行 到 末 尾 所 有 出 现 的 s t r 1 : 1 , /str1/str2/g 用str2替换正文当前行到末尾所有出现的str1 :1, /str1/str2/gstr2str1:1, s/str1/str2/g 用str2替换所有str1
:g/str1/s//str2/g
加g命令放在末尾,对搜索到的进行替换
不加g,只搜索

删除正文

命令模式下:
:d 删除光标所在行
:3d 删除三行
:.,$d 删除当前行至正文的末尾
:/str1/,/str2/d 删除从str1到str2的所有行

恢复文件

vi在编辑文件时,会产生一个临时文件,以.swp结尾,正常退出时,该文件删除
意外退出时,没有保存,则可以使用恢复命令
:recover 恢复文件
也可以在启动时使用-r来恢复

选项设置

:set option 这是选项option
vi/vim/gvim编辑器使用心得_第2张图片

shell切换

编辑正文时,利用vi命令模式下提供的shell切换命令,无需退出vi既可以执行linux

:! command 执行完shell命令command后回到vi
在编辑模式下,潜入K,可命令vi查找光标所在单词的手册页,相当于man命令。

高级特色

gvim支持鼠标选中,带有菜单和工具按钮。

你可能感兴趣的:(IC)