文章目录
- Vim编辑器
- **正常模式**
- **命令行**
- **1.1**第一讲
- (1)正常模式下光标移动方向:
- (3)文本编辑之删除:
- (4)文本编辑之插入:
- (5)文本编辑之添加:
- (6) 使用 :
- **(7)**第一讲小结:
- **1.2**第二讲
- (1)删除类命令:
- (2)使用计数指定动作:
- (3)整行操作
- (4)撤销类指令
- **(5)**第二讲小结:
- **1.3**第三讲
- (1)置入类命令
- (2)替换类命令
- (3)更改类命令:
- **(4)**第三讲小结
- **1.4**第四讲
- (1)定位及文件状态
- (2)搜索类命令
- (3)配对括号的查找
- (4)替换命令
- **(5)**第四讲小结
- **1.5**第五讲
- (1)在 VIM 内执行外部命令的方法
- (2)关于保存文件的更多信息
- (3)一个具有选择性的保存命令
- (4)提取和合并文件
- **(5)**第五讲小结
- 1.6第六讲
- (1)打开类命令
- (2)附加类命令
- (3)另外一个置换类命令的版本
- (4)复制粘贴文本
- (5)设置类命令的选项
- **(6)**第六讲小结
- **1.7**第七讲
- (1)获取帮助信息
- (2)创建启动脚本
- (3)补全功能
- **(4)**第七讲小结
Vim编辑器
你可以按下 (退出键) 从任何其他模式返回正常模式。 在正常模式,键入 i 进入插入模式, R 进入替换模式, v 进入可视(一般)模式, V 进入可视(行)模式, (Ctrl-V, 有时也写作 ^V)进入可视(块)模式, : 进入命令模式。
正常模式
正常模式下:
基本移动:
hjkl
(左, 下, 上, 右)
-
键入h 或者键入Backspace(回车)
光标左移
-
键入j
光标下移
-
键入k
光标上移
-
键入l
光标右移
-
键入x
删除光标所在位置字符
命令行
在正常模式下键入 : 进入命令行模式。 在键入 : 后,你的光标会立即跳到屏幕下方的命令行。 这个模式有很多功能,包括打开,保存,关闭文件,以及 退出 Vim。
-
:q 退出(关闭窗口)
-
:w 保存(写)
-
:wq 保存然后退出
-
:e{文件名} 打开要编辑的文件
-
:ls 显示打开的缓存
-
:help {标题} 打开帮助文档
-
:help :w 打开 :w 命令的帮助文档
-
:help w 打开 w 移动的帮助文档
正则表达式
- :sp 进入分屏
VIM教程:vimtutor
1.完成vimtutor vimtutor
进入vim使用教程查看相关说明
1.1第一讲
(1)正常模式下光标移动方向:
左、下、上、右
h、j、k、l
(2)VIM的进入与退出:
Esc :wq 回车 保存并退出
Esc :q 回车 不保存更改直接退出,丢弃所做的改动
(3)文本编辑之删除:
正常模式下按下键来删除光标所在处字符
x
(4)文本编辑之插入:
键入键,接着输入必要的文本字符,修正完后按下键返回正常模式
(5)文本编辑之添加:
按 A 键输入必要的添加内容,文本添加完毕后,按 键回到正常模式。
(6) 使用 :
wq 以保存文件并退出,使用 :q!退出后,在文件所在的终端 shell 的提示符下输入命令 < vim tutor> <回车>,可进入编辑文本,其中tutor是文件名
**(7)**第一讲小结:
光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
h (左移) j (下行) k (上行) l (右移)
欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>
欲退出 Vim 编辑器,请输入 :q! <回车> 放弃所有改动。
或者输入 :wq <回车> 保存改动。
在正常模式下删除光标所在位置的字符,请按: x
欲插入或添加文本,请输入:
i 输入欲插入文本 在光标前插入文本
A 输入欲添加文本 在一行后添加文本
特别提示:按下 键会带您回到正常模式或者撤消一个不想输入或部分完整
的命令。
1.2第二讲
(1)删除类命令:
d motion
其中:
d - 删除操作符。
motion - 操作符的操作对象(在下面列出)。
一个简短的动作列表:
w - 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。
e - 从当前光标当前位置直到单词末尾,包括最后一个字符。
$ - 从当前光标当前位置直到当前行末。
(2)使用计数指定动作:
2w 光标向前移动两个单词
3e 光标向前移动三个单词
0 (数字零)移动光标到行首
d2w 删除两个大写字母的单词
(也可以有其他的数字+操作符号,比如20j——光标向下移动20行)
(3)整行操作
dd 删除整行
(4)撤销类指令
u 输入u 来撤销最后执行的命令
类推:输入2u来撤销最后两步执行的命令
键入+来撤销掉u指令的撤销命令
**(5)**第二讲小结:
- 欲从当前光标删除至下一个单词,请输入:dw
- 欲从当前光标删除至当前行末尾,请输入:d$
- 欲删除整行,请输入:dd
- 欲重复一个动作,请在它前面加上一个数字:2w
- 在正常模式下修改命令的格式是:
operator [number] motion
其中:
operator - 操作符,代表要做的事情,比如 d 代表删除
[number] - 可以附加的数字,代表动作重复的次数
motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),
$ 代表行末等等。- 欲移动光标到行首,请按数字0键:0
- 欲撤消以前的操作,请输入:u (小写的u)
欲撤消在一行中所做的改动,请输入:U (大写的U)
欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R
1.3第三讲
(1)置入类命令
** 输入 p 将最后一次删除的内容置入光标之后。 **
1. 输入 dd 将该行删除,这样会将该行保存到 Vim 的一个寄存器中。 2. 接着将光标移动到某行,即准备置入的位置的上方。 3. 然后在正常模式下(<ESC>键进入)输入 p 将该行粘贴置入。
(2)替换类命令
输入 r 和一个字符替换光标所在位置的字符:用输入的第二个字符代替光标处的字符
r e 用e取代原来字符
(3)更改类命令:
光标放在单词某位置,输入cw,以及需要更改替换的内容即可取代原来内容,可多个字符,ce指令不仅是删除了一个单词也进入到插入模式,更改后需要键入返回到正常模式;
cw * * *
类似有,更改类操作符的工作方式跟删除类是一致的。操作格式是:
c [number] motion
动作参数(motion)也是一样的,比如 w 代表单词,$代表行末等等。
**(4)**第三讲小结
要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除
的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置
于当前光标所在行的下一行。要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字
符即可。更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。
比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当
前光标到行末的内容。更改类命令的格式是:
c [number] motion
1.4第四讲
(1)定位及文件状态
输入 CTRL-G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。输入大写 G 则直接跳转到文件中的某一指定行。
输入大写 G 可以使得当前光标直接跳转到文件最后一行。 输入 gg 可以使得当前光标直接跳转到文件第一行。
输入行号,然后输入大写 G。这样就可以返回到您第一次按下CTRL-G 时所在的行了。
(2)搜索类命令
输入 / 加上一个字符串可以用以在当前文件中查找该字符串,若不存在则输出,存在则光标跳到相应的行;之后,若要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字符串,请输入大写 N 即可。
想逆向查找字符串,请使用 ? 代替 / 进行。
要回到您之前的位置按 CTRL-O (按住 Ctrl 键不放同时按下字母 o)。重复按可以回退更多步。CTRL-I 会跳转到较新的位置
(3)配对括号的查找
把光标放在本节下面标记有 --> 那一行中的任何一个 (、[ 或 { 处。
接着按 % 字符。
此时光标的位置应当是在配对的括号处。
再次按 % 就可以跳回配对的第一个括号处。
移动光标到另一个 (、)、[、]、{ 或 } 处,按 % 查看其所作所为。
(4)替换命令
😒/old/new/g
可以替换 old 为 new,old是原来字符串,new为替换后的字符串输入 :#,#s/old/new/g 其中 #,# 代表的是替换操作的若干行中首尾两行的行号。
输入 :%s/old/new/g 则是替换整个文件中的每个匹配串。
输入 :%s/old/new/gc 会找到整个文件中的每个匹配串,并且对每个匹配串 提示是否进行替换。
**(5)**第四讲小结
CTRL-G 用于显示当前光标所在位置和文件状态信息。
G 用于将光标跳转至文件最后一行。
先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。
gg 用于将光标跳转至文件第一行。输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。
输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。
完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查
找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。
CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。
在一行内替换头一个字符串 old 为新的字符串 new,请输入 😒/old/new
在一行内替换所有的字符串 old 为新的字符串 new,请输入 😒/old/new/g
在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g
在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g
进行全文替换时询问用户确认每个替换需添加 c 标志 :%s/old/new/gc
1.5第五讲
(1)在 VIM 内执行外部命令的方法
1.按下 : 命令使光标移动到屏幕底部。这样您就可以输入一行命令了。
接着输入感叹号 ! 这个字符,这样就允许您执行外部的 shell 命令了。
我们以 ls 命令为例。输入 !ls <回车> 。该命令就会列举出您当前目录的内容,就如同您在命令行提示符下输入 ls 命令的结果一样。如果 !ls 没起作用,您可以试试 :!dir 看看。
(2)关于保存文件的更多信息
要将对文件的改动保存到文件中,请输入 :w FILENAME
(3)一个具有选择性的保存命令
要保存文件的部分内容,请输入 v motion :w FILENAME
(4)提取和合并文件
要向当前文件中插入另外的文件的内容,输入 :r FILENAME
**(5)**第五讲小结
:!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 命令的输出并将其放置到当前文件的光标位置后面。
1.6第六讲
(1)打开类命令
输入 o 将在光标的下方打开新的一行并进入插入模式。
(2)附加类命令
输入 a 将可在光标之后插入文本。
(3)另外一个置换类命令的版本
输入大写的 R 可连续替换多个字符。
(4)复制粘贴文本
使用操作符 y 复制文本,使用 p 粘贴文本
** 使用操作符 y 复制文本,使用 p 粘贴文本 **
1. 定位到下面标记有 ---> 的一行,将光标移动到 "a)" 之后。 2. 接着使用 v 进入可视模式,移动光标到 "first" 的前面。 3. 现在输入 y 以抽出(复制)高亮的文本。 4. 然后移动光标到下一行的末尾:j$ 5. 接着输入 p 以放置(粘贴)复制了的文本。然后输入:a second <ESC>。 6. 使用可视模式选中 " item.",用 y 复制,再用 j$ 将光标移动到下一行末尾, 用 p 将文本粘贴到那里。
—> a) this is the first item.
b) this is the提示:您还可以把 y 当作操作符来使用;例如 yw 可以用来复制一个单词。
(5)设置类命令的选项
设置可使查找或者替换可忽略大小写的选项
要查找单词 ignore 可在正常模式下输入 /ignore <回车>。
要重复查找该词,可以重复按 n 键。然后设置 ic 选项(Ignore Case,忽略大小写),请输入: :set ic
现在可以通过键入 n 键再次查找单词 ignore。注意到 Ignore 和 IGNORE 现在
也被找到了。然后设置 hlsearch 和 incsearch 这两个选项,请输入: :set hls is
现在可以再次输入查找命令,看看会有什么效果: /ignore <回车>
要禁用忽略大小写,请输入: :set noic
提示:要移除匹配项的高亮显示,请输入: :nohlsearch
提示:如果您想要仅在一次查找时忽略字母大小写,您可以使用 \c:
/ignore\c <回车>
**(6)**第六讲小结
- 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。
输入大写的 O 可以在光标上方打开新的一行。- 输入小写的 a 可以在光标所在位置之后插入文本。
输入大写的 A 可以在光标所在行的行末之后插入文本。- e 命令可以使光标移动到单词末尾。
- 操作符 y 复制文本,p 粘贴先前复制的文本。
- 输入大写的 R 将进入替换模式,直至按 键回到正常模式。
- 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:
‘ic’ ‘ignorecase’ 查找时忽略字母大小写
‘is’ ‘incsearch’ 查找短语时显示部分匹配
‘hls’ ‘hlsearch’ 高亮显示所有的匹配短语
选项名可以用完整版本,也可以用缩略版本。
1.7第七讲
(1)获取帮助信息
Vim 拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方
法之一:
- 按下 键 (如果键盘上有的话)
键 (如果键盘上有的话)
- 输入 :help <回车>
请阅读帮助窗口中的文字以了解帮助是如何工作的。
输入 CTRL-W CTRL-W 可以使您在窗口之间跳转。
输入 :q <回车> 可以关闭帮助窗口。提供一个正确的参数给":help"命令,您可以找到关于该主题的帮助。请试验以
下参数(可别忘了按回 this is the 车键哦)::help w :help c_CTRL-D :help insert-index :help user-manual
(2)创建启动脚本
启用 Vim 的特性
Vim 的功能特性要比 Vi 多得多,但其中大部分都没有缺省启用。为了使用更多的
特性,您得创建一个 vimrc 文件。1. 开始编辑 vimrc 文件,具体命令取决于您所使用的操作系统: :edit ~/.vimrc 这是 Unix 系统所使用的命令 :edit $VIM/_vimrc 这是 MS-Windows 系统所使用的命令 2. 接着读取 vimrc 示例文件的内容: :r $VIMRUNTIME/vimrc_example.vim 3. 保存文件,命令为: :write
(3)补全功能
请确保 Vim 不是在以兼容模式运行: :set nocp
查看一下当前目录下已经存在哪些文件,输入: :!ls 或者 :!dir
现在输入一个目录的起始部分,例如输入: :e
接着按 CTRL-D 键,Vim 会显示以 e 开始的命令的列表。
然后按 键,Vim 会补全命令为 :edit 。
现在添加一个空格,以及一个已有文件的文件名的起始部分,例如: :edit FIL
接着按 键,Vim 会补全文件名(如果它是惟一匹配的)。
**(4)**第七讲小结
- 输入 :help 或者按 键或 键可以打开帮助窗口。
- 输入 :help cmd 可以找到关于 cmd 命令的帮助。
- 输入 CTRL-W CTRL-W 可以使您在窗口之间跳转。
- 输入 :q 以关闭帮助窗口
- 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。
- 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。
按 可以使用一个补全。