今天学习的是虚拟机中vim的指令
首先我们要知道vi和vim有什么区别呢?
Vi和Vim的区别为:搜索不同、脚本语言不同、共享不同。Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
一、搜索不同
1、Vi:Vi不支持正则表达式的搜索。
2、Vim:Vim支持正则表达式的搜索。
二、脚本语言不同
1、Vi:Vi没有自己的脚本语言,只是在Unix及Linux系统下进行编辑的工具。
2、Vim:Vim有自己的脚本语言,称为Vim脚本(也称为vimscript或VimL),用户可以通过多种方式使用它来增强Vim。
三、共享不同
1、Vi:Vi不具有高度可配置性,无法和各个Vi安装之间共享文件。
2、Vim:Vim具有高度可配置性,包含Vim核心全局设置(称为vimrc)的文件可以在各个Vim安装之间共享。
接下来我们正式开始学习vim指令了哦。
在虚拟机中输入vimtutor就可以进入vim指令学习和练习
第一讲小结
-
光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
h (左移) j (下行) k (上行) l (右移) -
欲进入 Vim 编辑器(从命令行提示符),请输入:
vim 文件名 <回车>
-
欲退出 Vim 编辑器,请输入
ESC :q!
<回车> 放弃所有改动。
或者输入ESC :wq
<回车> 保存改动。 -
在正常模式下删除光标所在位置的字符,请按:
x
-
欲插入或添加文本,请输入:
i
输入欲插入文本 ESC 在光标前插入文本
A
输入欲添加文本 ESC 在一行后添加文本
特别提示:按下 ESC 键会带您回到正常模式或者撤消一个不想输入或部分完整的命令。
第二讲小结
-
欲从当前光标删除至下一个单词,请输入:
dw
-
欲从当前光标删除至当前行末尾,请输入:
d$
-
欲删除整行,请输入:
dd
-
欲重复一个动作,请在它前面加上一个数字
:2w
-
在正常模式下修改命令的格式是:
operator [number] motion
其中:
operator - 操作符,代表要做的事情,比如 d 代表删除
[number] - 可以附加的数字,代表动作重复的次数
motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),$ 代表行末等等。 -
欲移动光标到行首,请按数字0键:
0
-
欲撤消以前的操作,请输入:
u
(小写的u)
欲撤消在一行中所做的改动,请输入:U
(大写的U)
欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R(先按下 CTRL 键不放开,接着按 R 键),这样就可以重做被撤消的命令,也就是撤消掉撤消命令。
特别提示:按下 ESC 键会带您回到正常模式或者撤消一个不想输入或部分完整的命令。
第三讲小结
-
要重新置入已经删除的文本内容,请按小写字母
p
键。该操作可以将已删除的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置于当前光标所在行的下一行。 -
要替换光标所在位置的字符,请输入小写的
r
和要替换掉原位置字符的新字符即可。 -
更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。
比如输入ce
可以替换当前光标到单词的末尾的内容;输入c$
可以替换当前光标到行末的内容。 -
更改类命令的格式是:
c [number] motion
现在我们继续学习。
第四讲小结
-
CTRL-G
用于显示当前光标所在位置和文件状态信息。按下 CTRL 键不放开然后按 g 键。我们称这个键组合为 CTRL-G。
G
用于将光标跳转至文件最后一行。
先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。
gg
用于将光标跳转至文件第一行。 -
输入
/
然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。
输入?
然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。
完成一次查找之后按n
键是重复上一次的命令,可在同一方向上查
找下一个匹配字符串所在;或者按大写N
向相反方向查找下一匹配字符串所在。
CTRL-O
带您跳转回较旧的位置(按住 Ctrl 键不放同时按下字母 o),CTRL-I
则带您到较新的位置(按住 Ctrl 键不放同时按下字母I)。 -
如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。
-
在一行内替换头一个字符串 old 为新的字符串 new,请输入
:s/old/new
在一行内替换所有的字符串 old 为新的字符串 new,请输入:s/old/new/g
在两行内替换所有的字符串 old 为新的字符串 new,请输入:#,#s/old/new/g
在文件内替换所有的字符串 old 为新的字符串 new,请输入:%s/old/new/g
进行全文替换时询问用户确认每个替换需添加 c 标志:%s/old/new/gc
接下来学习第五小讲
第五讲小结
:!command
用于执行一个外部命令 command。
请看一些实际例子:
(MS-DOS) (Unix)
:!dir :!ls
- 用于显示当前目录的内容。
:!del FILENAME :!rm FILENAME
- 用于删除名为 FILENAME 的文件。
-
:w FILENAME
可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文件中。 -
v motion :w FILENAME
可将当前编辑文件中可视模式下选中的内容保存到文件FILENAME 中。 -
:r FILENAME
可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置后面。 -
:r !dir
可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。
现在是第六小讲啦
第六讲小结
-
输入小写的
o
可以在光标下方打开新的一行并进入插入模式。
输入大写的O
可以在光标上方打开新的一行。 -
输入小写的
a
可以在光标所在位置之后插入文本。
输入大写的A
可以在光标所在行的行末之后插入文本。 -
e
命令可以使光标移动到单词末尾。 -
操作符
y
复制文本,p
粘贴先前复制的文本。 -
输入大写的
R
将进入替换模式,直至按 ESC 键回到正常模式。 -
输入
:set xxx
可以设置 xxx 选项。一些有用的选项如下:
:set ic
‘ic’ ‘ignorecase’ 查找时忽略字母大小写
:set is
‘is’ ‘incsearch’ 查找短语时显示部分匹配
:set hls
‘hls’ ‘hlsearch’ 高亮显示所有的匹配短语
:set nu
开启行号
选项名可以用完整版本,也可以用缩略版本。 -
在选项前加上 no 可以关闭选项:
:set noic
最后一讲啦
第七讲小结
-
输入
:help
或者按 F1 键或 Help 键可以打开帮助窗口。 -
输入
:help cmd
可以找到关于 cmd 命令的帮助。 -
输入
CTRL-W
CTRL-W 可以使您在窗口之间跳转。 -
输入
:q
以关闭帮助窗口 -
您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。
-
当输入 : 命令时,按
CTRL-D
可以查看可能的补全结果。
按TAB
可以使用一个补全。
到这里就可以用vim命令进行简单的编辑了,只要勤加练习,就可以熟练的使用vim指令啦