Linux中的vim命令
经典版
英文版
简体中文版
对于上文提到的经典版不论是英文版还是简体中文版,根据你的英语水平进行选择。
经典版其实都是一系列的入门教程键位图的组合结果,下面是不同编辑模式下的键位图。
一口吃不成胖子,因此我们可以分步骤从易到难进行学习。
入门版
基本操作的入门版。
进阶版
增强版
下图是一个更新时间较新的现代版,含有的信息也更丰富。
文字版
为了照顾喜欢纯文字的老铁,一口君整理了常用的命令:
按字符、单词和标记移动
按字符、单词和标记移动光标移动一个字符的基本键是:
1 2 3 4 | h–向左移动光标 j–向下移动光标 k–向上移动光标 l–向右移动光标 |
还可以使用这些带有数字作为前缀的关键点,以在指定方向上多次移动。例如,如果运行 5j,光标向下移动 5 行。
1 2 3 4 5 6 | b–移动到单词的开头 B–移动到标记的开头 w–移到下一个单词的开头 W-移动到下一个标记的开头 e–移动到单词末尾 E-移动到标记末尾 |
例如,你将名词短语 “step-by-step” 作为文本的一部分,光标放在它的末尾。第一次按 b 时,光标会移回“step-by-step”。但是,如果使用 B,光标会一直移回:“step-by-step”,因为这些字符之间没有空格。
按行移动
1 2 3 4 | 按第0行(零)移动– 跳到行的开头 $–跳到行尾 ^–跳转到行的第一个(非空白)字符 #G/#gg/:#–移动到指定的行号(用行号替换#) |
按屏幕移动
以下命令用于在文本中快速移动而不滚动。
1 2 3 4 5 6 7 8 9 10 11 12 | Ctrl+b–向后移动一个全屏 Ctrl+f–向前移动一个全屏幕 Ctrl+d–向前移动1/2屏幕 Ctrl+u–向后移动1/2屏幕 Ctrl+e–向下移动屏幕一行(不移动光标) Ctrl+y–向上移动屏幕一列(不移动鼠标) Ctrl+o–向后移动跳转历史 Ctrl+i–向前移动跳转历史 H–移至屏幕顶部(H=高) M–移至屏幕中部(M=中) L–移至屏幕底部(L=低) |
插入文本
1 2 3 4 5 6 7 8 9 | i–切换到光标前的插入模式 I–在行首插入文本 a–切换到光标后的插入模式 A–在行末尾插入文本 o–在当前行下方打开新行 O–在当前一行上方打开新行 ea–在单词末尾插入文本 Esc–退出插入模式 :-切换到命令模式 |
其中一些命令在命令和插入模式之间切换。默认情况下,Vim 以命令模式启动,允许您四处移动并编辑文件。要切换到命令模式,请使用 Esc 键。另一方面,插入模式允许您键入文本并将其添加到文件中。要移动到插入模式,请按 i。
编辑文本
1 2 3 4 5 6 7 8 9 10 | r–替换单个字符(并返回到命令模式) cc–替换整行(删除该行并移动到插入模式) C/c$–从光标替换到行尾 cw–从光标更换到单词结尾 s–删除字符(并移动到输入模式) J–将下面的行合并到当前行,中间留有空格 gJ–合并将下面的行移到当前行,其间没有空格 u–undo Ctrl+r–redo .–重复上一个命令 |
剪切、复制和粘贴
1 2 3 4 5 6 | yy–复制整行 #yy–复制指定行数 dd–剪切(删除)整行 #dd–剪切指定的行数 p–粘贴在光标之后 P–粘贴在游标之前 |
在文件中搜索
1 2 3 4 5 6 | *–跳转到当前单词的下一个实例 #–跳转到当前单词的上一个实例 /pattern–向前搜索指定的模式 ?pattern–向后搜索指定的模式 n–沿相同方向重复搜索 N–沿相反方向重复搜索 |
保存和退出文件
1 2 3 4 5 6 7 8 | :w–保存文件但保持打开 :wq –保存并关闭文件 :q –退出 :q!–退出而不保存更改 Shift+zz–保存文件并退出 :w new_file_name–以新名称保存文件并继续编辑原始文件 :sav–以新名称保存文件并继续编辑新副本 :w!sudo tee%–使用sudo和tee命令写出文件 |
标记文本(视觉模式)
除了命令模式和插入模式之外,Vim 还包括视觉模式。此模式主要用于标记文本。根据要选择的文本块,可以在三种视觉模式之间进行选择:字符模式、行模式和块模式。
1 2 3 4 5 6 7 8 9 10 11 12 | v–使用字符模式选择文本 V–使用行模式选择行 Ctrl+v–使用块模式选择文本 启用其中一种模式后,使用导航键选择所需的文本。 o–从所选文本的一端移动到另一端 aw–选择单词 ab–选择带有() aB的块–选择带有{}的块 at–使用<>选择块 ib–使用() iB选择内部块–使用{}选择内部块 it–使用<>选择内部块 |
视觉命令
在视觉模式下选择所需的文本后,可以使用其中一个视觉命令对其进行操作。其中一些命令包括:
1 2 3 4 5 | y–拖动(复制)标记文本 d–删除(剪切)标记文本 p–粘贴光标后的文本 u–将市场文本更改为小写 U–将市场文字更改为大写 |