Linux Vim的使用(超详细,只看这一篇就足够了!) |
您所在的位置:网站首页 › 所有修改编辑命令的操作流程 › Linux Vim的使用(超详细,只看这一篇就足够了!) |
文章目录
1)Vim 中的5种编辑模式1.命令模式2.输入模式 (命令模式:a、i、o、A、I、O键)3.末行模式 (在命令模式按 :)4.可视化模式(命令模式:v)5.查询模式(命令模式:?、/)
2) 使用vim编辑文件(实例)1.使用 Vim 编辑一个文件2.使用 Vim 编辑多个文件3.在新窗口中打开新的文件4.比较文件内容
开篇先上 vim 键盘神图
![]() 在命令行中执行 vim filename ,若 filename 已存在,则 filename 被打开显示其内容;若 firename 不存在,则Vim在第一次存盘时自动在硬盘上新建filename文件。 vim有5种模式:命令模式、输入模式、末行模式、可视化模式、查询模式。 1.命令模式命令模式是用户进入 Vim 后的初始状态,在此模式中,可输入 Vim 命令,让 Vim 完成不同的工作,如光标移动,删除字符和单词、段落复制等,可以对选定内容进行复制。从命令模式可切换到其他四种模式,也可从其他四种模式返回命令模式。在输人模式下按 Esc键,或在末行模式中输人了错误命令,都会回到命令模式,常用的操作及其说明请见下表: VIm 光标移动命令 操作说明h (⬅)将光标向左移动一格l (➡)将光标向右移动一格j (⬇)将光标向下移动一格k (⬆)将光标向上移动一格0 (Home)数字0,将光标移动到行首$ (End)将光标移动到行尾PageUp / PageDown快捷键为 Ctrl + B 与 Ctrl + F 上下翻屏H将光标移动到屏幕顶端M将光标移动到屏幕中间L将光标移动到屏幕底端w 或 W将光标移动到下一单词gg将光标移动到文件的行首G将光标移动文件的尾行Vim命令模式的复制与粘贴命令 操作说明yy 或 Y复制光标所在的整行2yy复制两行,数字可随意更改y^ 或 y0复制光标所在处到行首(不包括光标处的字符)y$复制光标所在处到行尾(包括光标处的字符)yw复制一个单词y2w复制两个单词,数字可随意更改yG复制到文件尾y1G复制到文件首p粘贴到光标所在行的下一行P粘贴到光标所在行的上一行 Vim 命令模式的删除操作命令 操作说明x 或 del删除键删除一个字符2x删除两个字符 ,数字可随意更换X删除光标前端字符dd删除光标所在行dG删除到文件尾d1G删除到文件首D 或 d$删除到行尾d0删除到行首(不包含光标所在字符)2dd删除所在光标处2行,数字可随意更改,d + 方向键删除所在光标处2行 (上或下或一个字符)dw删除到词尾2dw删除2个单词,数字可随意更改2d$删除后n行u撤回上一步操作Vim 命令模式的撤销操作命令 操作说明u取消上一个变动U取消一行内所有改动 2.输入模式 (命令模式:a、i、o、A、I、O键)在输入模式下,可对编辑的文件添加新的内容及修改,为此模式的唯一功能(文本输入)。 Vim 输入模式命令 操作说明a在光标后插入内容A在光标当前行的末尾插入内容i在光标之前插入内容I在光标当前的开始部分插入内容o在光标所在行的下面新增一行O在光标所在行的上面新增一行 3.末行模式 (在命令模式按 :)此模式主要用来进行文字编辑辅助功能,如字符串查找、替代和保存文件等,在命令模式中输入 ”:“ 字符即可进入末行模式。若输入命名出错则返回命令模式。按Esc键即可返回命令模式。 Vim 末行模式命令 操作说明:w保存当前文件:q结束 Vim (不保存):q!强制结束 Vim (不保存):wq 或 :x保存当前文件并退出(可加!强制保存退出):e 文件名在原始窗口中打开新文件,旧文件则要求保存:e!放弃所有更改,重新编辑:r 文件名在当前光标下一行插入文件的内容:r! 命令在当前光标位置插入命令的执行结果:set nu 或 :set nonu显示行号\取消显示行号:number (数字)将光标定位到number行:[range] s///[g,c,i]替换一个字符在末行模式下,替换命令语法如下: [range]s/目标字符串/替换字符串/[option]s(search):表示搜索 pattern:要被替换的字符串 string:将要替换pattern指定的字符串 c(confirm):每次替换前会询问 e (error):不显示错误信息 g(globe):不询问,将做整行替换 i(ignore):不区分大小写 g 一般都要用,否则只会替换每一行的第一个符合条件的字符串。多个选项可以合起来用,如 cgi 表示不区分大小写、整行替换、替换前要询问。 4.可视化模式(命令模式:v)茬命令模式下输人 v,则进入可视化模式。在该模式下,移动光标以选定要操作的字符串,输入 c 剪切选定块的字符串,输人 y 复制选定块的字符串。 在命令模式中输人 p ,可将复制或剪切的内容粘贴在光标所在位置的右边。 5.查询模式(命令模式:?、/) 在命令模式中输入 “/” “?” 等字符则进人查询模式 (可以看成一种末行模式)、在该模式下,可以向下或向上查询文件中的某个关键字。在查找到相应的关键字后,可以用 n/N 键继续寻找下一个/上一个关键字。 Vim命令模式的查询操作: 操作说明/向下查询?向上查询n继续向下查询N继续向上查询以上仅是常见的vim命令 2) 使用vim编辑文件(实例)实例——使用 Vim 编辑文件 1.使用 Vim 编辑一个文件第1步:执行命令 vim csdn.txt 在终端窗口中执行命令#vim csdn.txt,用 Vim 编辑器来编辑 csdn.txt 文件。 刚进人 Vim 之后,即进人命令模式,此时输人的每一个字符皆被视为一条命令,有效命令会被接收;若是无效的命令则会产生响声,以示警告(个人在安装系统时移除声卡,因为警报声太频繁会引起烦躁)。如果想输入或更改内容请输入a、i、o、A、I、O键。 第 2 步:在输人模式下操作。 在输人模式下就可以输人文件内容了。编辑好文件后,按 Esc 键返回命令模式。 第3步:在命令模式下操作 在命令模式下可以删除文件的内容,可以使用复制和粘贴命令。然后按 Shift 和 : 键进入末行模式。 第4步:在末行模式下操作 在末行模式下,可以执行替换命令。 第5步:保存并退出 在命令模式下,按shift键和 : 键进入末行模式,执行 wq 或 x 命令保存并退出。 2.使用 Vim 编辑多个文件 第1步:在 Vim 中打开另一个文件命令格式如下: :edit csdn.txt.bakVim 会关闭当前文件打开另一个。如果当前文件被修改过且没有保存,Vim 则会显示错误信息而不会打开新文件 E37: No write sinc last change (use ! to override)中文状态显示:E37: 已修改但尚未保存 (可用 ! 强制执行) Tips: Vim 在每个错误信息的前面都加了一个错误号。如果不明白错误信息的意思,可以从帮助中获得详细的说明,即 :help E37出现以上问题,有多个解决方法。首先可通过如下命令保存当前文件。 :write或者强制 Vim 放弃当前修改并重新编辑新的文件。如下: :edit! csdn.txt.bak如果想编辑另一个文件,但又不想马上保存当前文件,可以隐藏它。 :hide edit csdn.txt.bak原来的文件还在那里,只不过看不见。 第2步:文件列表可以在启动 Vim 的时候指定一堆文件 (加班时经常使用)。例如: vim aaa.txt bbb.txt ccc.txt这个命令启动 Vim,并告诉它要编辑 3 个文件,Vim 只显示第 1 个。等编辑完第 1 个以后、,用如下命令可以编辑第 2个。 :next如果在当前文件中有未保存的修改,会得到一个错误信息而无法编辑下一个文件。这个问题与前一节执行:edit 命令的问题相同。要放弃当前修改。 :next!但大多数情况下,需要保存当前文件后再进入下一个,这里有一个特殊的命令如下: :wnext这相当于执行了下面的两个命令: :wrtie :next 要知道当前文件在文件列表中的位置,可以注意一下文件的标题。那里应该显示类似“(2 of 3)”的内容。这表示正在编辑 3 个文件中的第2 个。第3步:查看文件列表 如果要查看整个文件列表,使用如下命令: :args这是argument的缩写,其输出如下内容 (正在编辑的文件会被中括号括起来) aaa.txt [bbb.txt] ccc.txt回到前一个文件,可用如下命令: :wprevious移动到列表的最后一个文件,可用如下命令: :last移动到列表的第一个文件,可用如下命令: :first可在 :next 和 :previous 前面加上计数词 (表示跳转第x个文件),命令如下: :2next第4步:自动保存文件 当进行多个文件编辑时,时刻要用 :wrtie 保存文件,在大量的编辑工作中非常影响效率,这时候可设置每次修改内容时,自动保存文件,命令如下: :set autowrite关闭自动保存: :set noautowrite第5步:编辑另一个文件列表 可以编辑另一个文件列表,而不需要退出 Vim 。使用如下命令编辑另外3个文件: :args 111.txt 222.txt 333.txt甚至使用通配符 (生产环境中不建议使用) :args *.txt当使用了文件列表,并用 Vim 编辑全部文件时,就不能提前退出。假设还没用编辑过最后一个文件,退出 Vim 时会提示错误信息: E173: 6(文件数量) more files to edit这时候只要在执行上一次保存命令即可保存退出 第6步:在另一个文件跳转到另一个文件 假设,现在在 111.txt 文件中,执行 :next 命令,跳转到 222.txt 文件里。这是只要安下 Ctrl+^ 组合键 可实现两个文件中来回跳转。 第7步:多文件的编辑 在 Vim 中可以同时打开很个文件进行编辑(无特殊情况建议多开一个终端)。下面介绍相关命令: 横向打开多文件: :sp 文件名 3.在新窗口中打开新的文件 :e 文件名查看 Vim 打开了多少个文件,在屏幕下方输出: :ls 1 %a "111.txt" line 60 2 # "222.txt" line 0 3 "333.txt" line 0 4 "aaa.txt" line 0 5 "bbb.txt" line 0 6 "ccc.txt" line 0:ls 命令相关说明: 1:表示打开文件的序号 %a :表示文件的代号,表示当前编辑的文件 #: 表示上一次编辑的文件 “111.txt” “222.txt” :表示文件名 line 60 : 表示光标的位置 打开序号文件:此命令用于打开 :ls 看到序号文件 :b (序号) 4.比较文件内容 :set diff以上是个人在生产环境中的 Vim 常使用的命令及技巧 到此结束 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |