Vim学习1-vimtutor

vim手册: vimtutor

1. 欲从当前光标删除至下一个单词,请输入:dw

2. 欲从当前光标删除至当前行末尾,请输入:d$

3. 欲删除整行,请输入:dd

4. 欲重复一个动作,请在它前面加上一个数字:2w

5. 在正常模式下修改命令的格式是:

operator [number] motion

其中:

operator - 操作符,代表要做的事情,比如 d 代表删除

[number] - 可以附加的数字,代表动作重复的次数

motion- 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),

$ 代表行末等等。

6. 欲移动光标到行首,请按数字0键:0

7. 欲撤消以前的操作,请输入:u (小写的u)

欲撤消在一行中所做的改动,请输入:U (大写的U)

欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R

第三讲小结

1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除

的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置

于当前光标所在行的下一行。

2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字

符即可。

3. 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。

比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当

前光标到行末的内容

4. 更改类命令的格式是:

c[number] motion

现在我们继续学习下一讲。

第四讲第一节:定位及文件状态

** 输入 CTRL-G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。

输入大写 G 则直接跳转文件中的某一指定行。**

提示:切记要先通读本节内容,之后才可以执行以下步骤!!!

1. 按下 CTRL 键不放开然后按 g 键。我们称这个键组合为CTRL-G。

您会看到页面底部出现一个状态信息行,显示内容是当前编辑的文件

文件中光标位置。请记住行号,它会在步骤3中用到。

提示:您也许会在屏幕的右下角看到光标位置,这会在 'ruler' 选项设置时发生

(参见 :help 'ruler')

2. 输入大写 G 可以使得当前光标直接跳转文件最后一行。

输入 gg 可以使得当前光标直接跳转文件第一行。

3.输入您曾停留的行号,然后输入大写 G。这样就可以返回到您第一次上一次按下

CTRL-G 所在的行了。 直接 : 行号 更方便

4. 如果您觉得没问题的话,请执行步骤1至步骤3的操作进行练习。

第四讲第二节:搜索类命令

** 输入 / 加上一个字符串可以用以在当前文件中查找该字符串。**

1. 在正常模式下输入 / 字符。您此时会注意到该字符和光标都会出现在屏幕底

部,这跟 : 命令是一样的。

2. 接着输入 errroor <回车>。那个errroor就是您要查找的字符串。

3. 要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字

符串,请输入大写 N 即可。

4. 如果您想逆向查找字符串,请使用 ? 代替 / 进行。

5. 要回到您之前的位置按 CTRL-O (按住 Ctrl 键不放同时按下字母 o)。重复按可以

回退更多步CTRL-I跳转到较新的位置。

提示:如果查找已经到达文件末尾,查找会自动文件头部继续查找,除非

'wrapscan' 选项被复位。

** 输入 % 可以查找配对的括号 )、]、}。**

第四讲小结

1. CTRL-G 用于显示当前光标所在位置和文件状态信息。

G 用于将光标跳转文件最后一行。

先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。

gg 用于将光标跳转文件第一行。

2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。

输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。

完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查

找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。

CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。

3. 如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。

4. 在一行内替换头一个字符串 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

第五讲小结

1. :!command 用于执行一个外部命令command。

请看一些实际例子:

(MS-DOS) (Unix)

:!dir :!ls -用于显示当前目录的内容

:!del FILENAME :!rm FILENAME - 用于删除名为FILENAME 的文件

2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文

件中。

3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件

FILENAME 中。

4. :r FILENAME 可提取磁盘文件FILENAME 并将其插入到当前文件的光标位置

后面。

5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

第六讲小结

1. 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。

输入大写的 O 可以在光标上方打开新的一行。

2. 输入小写的 a 可以在光标所在位置之后插入文本。

输入大写的 A 可以在光标所在行的行末之后插入文本。

3. e 命令可以使光标移动到单词末尾。

4. 操作符 y 复制文本,p 粘贴先前复制的文本。

5. 输入大写的 R 将进入替换模式,直至按 <ESC> 键回到正常模式。

6. 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:

'ic' 'ignorecase' 查找时忽略字母大小写

'is' 'incsearch' 查找短语时显示部分匹配

'hls' 'hlsearch' 高亮显示所有的匹配短语

选项名可以用完整版本,也可以用缩略版本。

7. 在选项前加上 no 可以关闭选项::set noic

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

第七讲第二节:创建启动脚本

** 启用 Vim 的特性 **

Vim 的功能特性要比 Vi 多得多,但其中大部分都没有缺省启用。为了使用更多的

特性,您得创建一个 vimrc 文件

1. 开始编辑 vimrc 文件,具体命令取决于您所使用的操作系统:

:mdit ~/.vimrc 这是 Unix 系统所使用的命令

:edit $VIM/_vimrc 这是 MS-Windows 系统所使用的命令

2. 接着读取 vimrc 示例文件内容

:r $VIMRUNTIME/vimrc_example.vim

3. 保存文件,命令为:

:write

下次您启动 Vim 时,编辑器就会有了语法高亮的功能

您可以把您喜欢的各种设置添加到这个 vimrc 文件中。

要了解更多信息请输入 :help vimrc-intro

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

第七讲第三节:补全功能

** 使用 CTRL-D 和 <TAB> 可以进行命令行补全 **

1. 请确保 Vim 不是在以兼容模式运行::set nocp

2. 查看一下当前目录下已经存在哪些文件,输入: :!ls或者:!dir

3. 现在输入一个目录的起始部分,例如输入: :e

4. 接着按 CTRL-D 键,Vim 会显示以 e 开始的命令的列表。

5. 然后按 <TAB> 键,Vim 会补全命令为:edit 。

6. 现在添加一个空格,以及一个已有文件文件名的起始部分,例如: :edit FIL

7. 接着按 <TAB> 键,Vim 会补全文件名(如果它是惟一匹配的)。

提示:补全对于许多命令都有效。您只需尝试按 CTRL-D 和 <TAB>。

它对于 :help 命令非常有用。

第七讲小结

1. 输prin入 :help 或者按<F1> 键或 <Help> 键可以打开帮助窗口。

2. 输入 :help cmd 可以找到关于 cmd 命令的帮助。

3. 输入 CTRL-W CTRL-W 可以使您在窗口之间跳转

4. 输入 :q 以关闭帮助窗口

5. 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。

6. 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。

按 <TAB> 可以使用一个补全。

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...