而且写文件、查找翻页什么的 比我用鼠标快多了,那熟练的快捷键看的我一愣一愣的 ---- 光标移动: h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行...; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符。...插入: I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename...:[n]r filename在第n行插入另一个文件的内容。 剪切和复制 [n]x: 剪切光标右边n个字符,相当于d[n]l。 [n]X: 剪切光标左边n个字符,相当于d[n]h。...d0: 删除(剪切)当前位置到行首的内容 p: 在光标之后粘贴。 P: 在光标之前粘贴。 查找和替换 /something: 在后面的文本中查找something。 ?
; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符。...nG: 到文件第n行。 :n 移动到第n行。 :$ 移动到最后一行。 H: 把光标移到屏幕最顶端一行。 M: 把光标移到屏幕中间一行。 L: 把光标移到屏幕最底端一行。...标记之后,退出Vim, 重新启动,标记仍然有效。 `{a-z}: 移动到标记位置。 ‘{a-z}: 移动到标记行的行首。 `{0-9}:回到上[2-10]次关闭vim时最后离开的位置。...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename在当前位置插入另一个文件的内容...粘贴 p: 在光标之后粘贴。 P: 在光标之前粘贴 查找与替换 查找 /something: 在后面的文本中查找something。 ?something: 在前面的文本中查找something。
模式下 快捷键 含义 h或退格 左移一个字符 l或空格 右移一个字符 j 下移一行 k 上移一行 +或Enter 把光标移至下一行第一个非空白字符 – 把光标移至上一行第一个非空白字符 w 前移一个单词...n使用,比如在正常模式下输入3h,则光标向左移动3个字符 快捷键 含义 0 移动到行首 $ 移动到行尾 ^ 移动到本行第一个非空白字符 n| 把光标移到递n列上 nG 到文件第n行 :n 移动到第...文本的插入 基本插入 快捷键 含义 i 在光标前插入 a 在光标后插入 I 在当前行第一个非空字符前插入 A 在当前行最后插入 gI 在当前行第一列插入 o 在下面新建一行插入 O 在上面新建一行插入...取消一个改动 ctrl+r 重做最后的改动 查找与替换 查找 快捷键 含义 /something 在后面的文本中查找something ?...something 在前面的文本中查找something /pattern/+number 将光标停在包含pattern的行后面第number行上 /pattern/-number 将光标停在包含pattern
h或者退格: 左移一个字符;l或者空格: 右移一个字符;j: 下移一行;k: 上移一行;gj: 移动到一段内的下一行;gk: 移动到一段内的上一行;+或者Enter: 把光标移至下一行第一个非空白字符。...-: 把光标移至上一行第一个非空白字符。...^: 移动到本行第一个非空白字符。: 移动到行尾。g: 移动光标所在屏幕行行尾。n|: 移到递n列上。nG: 到文件第n行。H: 移到屏幕最顶端一行。M: 移到屏幕中间一行。...L: 移到屏幕最底端一行。 复制与粘贴 p: 在光标之后粘贴。P: 在光标之前粘贴。d: 删除(剪切)在可视模式下选中的文本。d或者D: 删除(剪切)当前位置到行尾的内容。...d0: 删除(剪切)当前位置到行首的内容d1G或者dgg: 剪切光标以上的所有行。dG: 剪切光标以下的所有行。y: 复制在可视模式下选中的文本。yy或者Y: 复制整行文本。
: 从第num行开始; vim +/string file: 打开file,并将光标停留在第一个找到的string上。...h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符...nG: 到文件第n行。 :n 移动到第n行。 :$ 移动到最后一行。 H: 把光标移到屏幕最顶端一行。 M: 把光标移到屏幕中间一行。 L: 把光标移到屏幕最底端一行。...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename在当前位置插入另一个文件的内容...p: 在光标之后粘贴。 P: 在光标之前粘贴。 6.2 文本对象 aw:一个词 as:一句。 ap:一段。 ab:一块(包含在圆括号中的)。 y, d, c, v都可以跟文本对象。
2. vim常用命令 2.1 一般模式中的命令 2.1.1 光标移动 命令 说明 h,← 光标左移一个字符 j,↓ 光标下移一个字符 k,↑ 光标上移一个字符 l,→ 光标右移一个字符 n[h,j,k,...- 光标移动到非空格符的上一列 n n表示数字,再按下空格键光标向右移动n个字符 0,[Home] 光标移动到第一个字符 $,[End] 光标移动到最后一个字符 H 光标移动到屏幕第一行第一个字符...M 光标移动到屏幕中央一行的第一个字符 L 光标移动到屏幕最后一行的第一个字符 G 光标移动到文件最后一行 nG n为数字,光标移动到文件第n行 gg 光标移动到文件第一行,相当于1G n行 dnG n为数字,删除光标所在行到第n行 dG 删除光标所在行到最后一行 0G 删除光标所在位置到该行第一个字符 yy 复制光标所在行 nyy n为数字,复制光标所在的向下n行 ynG n为数字,...mode)a:从光标所在下一字符开始插入A:从光标所在行的最后一个字符开始插入 o,O 进入插入模式(Insert mode)o:在目前光标所在处下一行插入新的一行O:在目前光标所在处上一行插入新的一行
光标的移动 4.1 基本移动 以下移动都是在normal模式下: h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行...nG: 到文件第n行。 :n 移动到第n行。 :$ 移动到最后一行。 H: 把光标移到屏幕最顶端一行。 M: 把光标移到屏幕中间一行。 L: 把光标移到屏幕最底端一行。...g的含义是如果一个模式在一行中多次出现,则这一行也在结果中多次出现。j的含义是grep结束后,结果停在第j项,默认是停在第一项。...vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。 其实vimgrep在读纯文本电子书时特别有用,可以生成导航的目录。...请在正常模式下通过输入 $ 将光标移动到本节中下面标记有 ---> 的第一行的末尾。 2. 接着输入小写的 a 则可在光标之后插入文本了。大写的 A 则可以直接在行末插入文本。
,并更新文件的修改时间) 操作回退和恢复: u 回退到上一次操作 U 本行改动恢复 ctrl+r 与u操作相反的操作 移动操作: j 下移一行 k 上移一行 h 左移一列 l 右移一列 0...移动到开头 $ 移动到结尾 w 移动到下一个单词开头 e 移动到下一个单词结尾 fx 移动到本行之后第一个出现x字母的位置 tx 移动到本行之后第一个出现x字母的前一个位置 gg 跳到文件首 G 跳到文件尾...nG 移动到第n行,或者用:n也可 { 上一段,}下一段 (空行区分) [ 函数开始,]函数结束(c文件有效) % 跳到匹配的括号处 滚屏操作: CTRL-U使文本向下滚动半屏。...相当于显示文本的窗口向上滚半屏。光标所处的行数随滚屏而改变。 CTRL-D使文本向上滚动半屏。相当于显示文本的窗口向下滚半屏。光标所处的行数随滚屏而改变。 CTRL-E使文本向上滚动一行。...光标所处的行数不变。 CTRL-Y使文本向下滚动一行。光标所处的行数不变。 CTRL-F 向前滚动一整屏。滚动后光标处于第一行。 CTRL-B向后滚动一整屏。滚动后光标处于最后一行。
在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。...在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。 末行模式 末行模式也称ex转义模式。...在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。...移动光标: h: 左移 j: 下移 k: 上移 l: 右移 M: 光标移动到中间行 L: 光标移动到屏幕最后一行行首 G: 移动到指定行,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字...下一个 N:上一个 替换命令: 把abc全部替换成123 末行模式下,将当前文件中的所有abc替换成123 :%s/abc/123/g 末行模式下,将第一行至第10行之间的abc替换成123
字符 h左移一位,l右移一位 单词 w/W 移动到下一单词的开头 b/B 移动到上一单词的开头 e/E 移动到光标所在单词的末尾 f 快速移动到下一个字符的位置 行 j 下移一行 k 上移一行 0...移到当前行开头 ^ 移到当前行的第一个非空字符 $ 移到当前行末尾 :n 移动到第 n 行 句子 ) 移动到当前句子的末尾 ( 移动到当前句子的开头 段落 } 移动当前段落的末尾 { 移到当前段落的开头...屏 H 移动到屏幕的第一行 M 移动到屏幕的中间一行 L 移动到屏幕的最后一行 页 Ctrl-f 向前滚动一页 Ctrl-b 向后滚动一页 Ctrl-u向前滚动半页 Ctrl-d 向后滚动半页 文件...G 移动到文件末尾 gg 移动到文件开头 :0移动到文件第一行 :$ 移动到文件最后一行 文本编辑 与光标移动一样,Vi/Vim 中关于编辑操作的命令也比较多,但操作单位要比移动光标少得多。...d{ 删除当前段落从光标位置开始到段首的内容 文本编辑的高效命令 复制与粘贴 yw 复制当前单词从光标开始的部分 yy 复制光标所在行的所有字符 p 将最后一个删除或复制文本放在当前字符 P 将最后一个删除或复制文本放在当前字符之前
从normal模式转到insert有多种方式: i/I:在光标之前插入/在行首插入。 a/A:在光标之后插入/在行尾插入。 o/O:在下一行/上一行插入。 s/S:删除当前字符/当前行并插入。...之后的修改删除等操作,也要先移动到该位置才能再操作,所以移动是一切的基础。 上下左右(k、j、h、l):向上下移动一行,或左右移动一个字符。除此之外,vim的一个重要思想就是数字与操作结合。...行定位:使用:n移动到第n行。如:10快速移动到第10行。 zz将光标移动到屏幕中间,zb将光标移动到屏幕底部,zt将光标移动到屏幕顶部。...移动 移动与在编辑器中的移动有很大的相似,有部分简化,部分删除。 在编辑器中上移半页,在网页中,只需要u就可以上移半页,d为下移半页。 移动特定行之类的在网页中,不存在此类操作。...使用J/K切换到前/后一个标签页。 使用^切换到上一个历史标签页。 g0切换到第一个标签页,g$切换到最后一个标签页。
标记之后,退出Vim, 重新启动,标记仍然有效。 `{a-z}: 移动到标记位置。 '{a-z}: 移动到标记行的行首。 `{0-9}:回到上[2-10]次关闭vim时最后离开的位置。...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename...用法为: :vim[grep]/pattern/[g] [j] files g的含义是如果一个模式在一行中多次出现,则这一行也在结果中多次出现。...j的含义是grep结束后,结果停在第j项,默认是停在第一项。 vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。...:tabm[ove] [N] -- 移动标签页,移动到第N个标签页之后。 如 tabm 0 当前标签页,就会变成第一个标签页。 缓冲区 :buffers或:ls或:files 显示缓冲区列表。
/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky n 为数字,若 n 为 ....,表示从当前行开始到最后一行 :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky :%s/vivian/sky/g(等同于 :g...tr [a-z] [A-Z] 在命令模式下,可以输入如下命令: i:在当前光标的前面插入一个字符 I:移动光标到行首 a:在当前光标的后面插入一个字符 A:移动到行末 o:移动到下一行 O:移动到上一行...20G:快速的定位到第二十行代码 gg:快速回到整个代码的第一行 G:快速的定位到整个代码的最后一行 w:向后跳一个单词的长度,即跳到下一个单词的开始处 b:向前跳一个单词的长度,即跳到上一个单词的开始处...[常用] 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首
⭐⭐✩ I 在光标所处行的行首插入 ⭐⭐✩ o 在光标行的下一行插入(另起一行) ⭐⭐✩ O 在光标行的上一行插入(另起一行) ⭐⭐✩ 位移操作 快捷键 说明 常用度 0 光标移动到行首 ⭐⭐✩ $...光标移动到行尾 ⭐⭐✩ h 或 <-- 光标左移 ⭐⭐⭐ l 或 --> 光标右移 ⭐⭐⭐ j 或 ↓ 光标下移 ⭐⭐⭐ k 或 ↑ 光标上移 ⭐⭐⭐ gg 或 :1 到第一行 ⭐⭐✩ G...为剪切3行 ⭐⭐✩ p 粘贴剪切板到当前光标所处的下一行 ⭐⭐⭐ P 粘贴剪切板到当前光标所处的上一行 ⭐⭐✩ 替换撤销 快捷键 说明 常用度 r 替换当前字符 ⭐⭐✩ R 从光标开始替换,直到esc...command command为命令;将命令执行的结果输入到当前编辑文本光标的位置 ⭐✩✩ 编辑中执行指令 快捷键 说明 常用度 :!...command 可在编辑过程中执行指令而不需要退出编辑 ⭐✩✩✩ 多行注释 快捷键 说明 常用度 :n1,n2s/^/#/g 在n1行和n2行之间的行首加入#注释 ⭐✩✩ :n1,n2s/^#//g
移动光标 key desc h 光标左移一格 j 光标下移一格 k 光标上移一格 l 光标右移一格 w 光标跳到下个字的开头 e 光标跳到下个字的字尾 b 光标回到上个字的开头 nl 光标移动该行的第n...n 跳到文件中的某一行,“n”表示一个数字,如输入数字15,再回车就会跳到文本的第15行。 !cmd 运行shell命令cmd。...移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合:set nu) gg 移动到这个文件的第一行,相当于1G(常用) n n为数字。...举例来说,在100到200行之间搜索vbird并替换为VBIRD则:“:100、200s/vbird/VBIRD/g”(常用) :1、$s/word1/word2/g 从第一行到最后一行寻找word1字符串...举例来说,当前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会粘在原来的20行之后,即由21行开始贴。
h – 光标左移一个字符 j – 光标下移一个字符 k – 光标上移一个字符 l – 光标右移一个字符 下移15行 – 15j Ctrl + f – 屏幕向下移动一页 Ctrl +...H – 屏幕最上方一行的首字符 M – 屏幕中央一行的首字符 L – 屏幕最后一行的首字符 G – 移动到文件的最后一行 nG – 移动到文件的第n行,配合:set nu gg...– 移动到文件的第一行 N[Enter] – 光标向下移动n行 /word – 向下查找 ?...n行 d1G – 删除光标所在行到第一行 dG – 删除光标所在行到最后一行 d$ – 删除光标所在到行尾 d0 – 删除光标所在到行首 yy – 复制光标所在的一行 nyy – 复制光标所在的向下...n行 y1G – 复制当前行到第一行 yG – 复制当前行到最后一行 y0 – 复制当前光标到行首 y$ – 复制当前光标到行尾 p – 在光标下一行粘贴 P – 在光标上一行粘贴 J
5、vi命令列表 1、下表列出命令模式下的一些键的功能: h 左移光标一个字符 l 右移光标一个字符 k 光标上移一行 j 光标下移一行 ^ 光标移动至行首 0 数字"0",光标移至文章的开头 G 光标移至文章的最后...可见,利用此命令可以快速准确地将光标移至屏幕底部或文件的最后一行。若在L命令之前加上数字n,则将光标移至从屏幕底部算起第n行的行首。...a命令 该命令用于在光标当前所在位置之后追加新文本。新输入的文本放在光标之后,在光标后的原文本将相应地向后移动。光标可在一行的任何位置。...此时Vi将把待移动的文本行从文件中删除,并将其放入到1号删除寄存器中; 将光标移动到目的行处; 按² 1p将待移动的文本行从删除寄存器中取出。 此时待移动的文本行就出现在目的位置处了。...在一个较大的文件中,用户可能需要了解光标当前行是哪一行,在文件中处于什么位置,可在命令模式下用组合键,此时Vi会在显示窗口的最后一行显示出相应信息。该命令可以在任何时候使用。
命令大全,最详细(建议收藏) 光标的移动 h - 左移光标 j - 下移光标 k - 上移光标 l - 右移光标 gj - 下移光标(折行文本) gk - 上移光标(折行文本) H - 移动到当前页面顶部...'{}', '[]' - 在vim中使用 :h matchpairs 获得更多信息) 0 - 移动到行首 ^ - 移动到行首的非空白符 $ - 移动到行尾 g_ - 移动到行内最后一个非空白符 gg...- 移动到文件第一行 G - 移动到文件最后一行 5gg or 5G - 移动到第五行 gd - 跳转到局部定义 gD - 跳转到全局定义 fx - 移动到字符 x 下次出现的位置 tx - 移动到字符..., 比如 4j 表示向下移动四行 插入模式 - 插入/追加文本 i - 从光标前开始插入字符 I - 从行首开始插入字符 a - 从光标后开始插入字符 A - 从行尾开始插入字符 o - 在当前行之下另起一行...从光标位置到行末 p - 在光标后粘贴 P - 在光标前粘贴 gp - 在光标后粘贴并把光标定位于粘贴的文本之后 gP - 在光标前粘贴并把光标定位于粘贴的文本之后 dd - 剪切当前行 2dd - 剪切
k 上移一行 l 右移一个字符 在大的文本文件中一行一行的移动会特别麻烦。...幸而Vim提供了一些命令来帮助提高速度: 按键 光标移动方式(普通模式下) PageDown(或Ctrl+F) 下翻一屏数据 PageUp(或Ctrl+B) 上翻一屏数据 G 移动到缓冲区的最后一行 num...G 移动到缓冲区的第num行 gg 移动缓冲区的第1行 Vim编辑器在普通模式下有个特别的功能叫命令模式。...上面已经有了删除数据的操作,Vim删除数据时,实际上它会将数据保存在单独的一个寄存器中。可以同p命令来取回数据。 简而言之,用dd删除一行文本,然后把光标移动到某个要放置该行文本的位置,之后用p命令。...在输入要查找的文本后,按下Enter键,Vim编辑器会有3中回应: 如果光标当前位置之后有你要查找的文本,则光标会跳到该文本出现的第一个位置(按n键到达下一个); 如果光标当前位置之后没有你要查找的文本
k:上移 l:右移 M:光标移动中间行 L:光标移动到屏幕最后一行行首 G:移动到指定行,行号 -G 在命令行中输入 vi +26 samp.txt...【:2,7s/ddd/fff/g】在第2行,第7行之间,将ddd替换成fff :1,$s/string1/string2/g 从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2...(常用) :1,$s/string1/string2/gc 从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !.../sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky...,表示从当前行开始到最后一行 :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky :%s/vivian/sky/g(等同于 :
领取专属 10元无门槛券
手把手带您无忧上云