当前位置: > 投稿>正文

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)

03-01 互联网 未知 投稿

关于【在vi编辑器中如何向上翻页】,向下翻页以及查询“ab”,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

1、Linux 简单使用vi编辑器

vi很常用,这里记录一下简单的用法,以利于未来用到或忘记时快速查阅。

vi的模式

  • 命令模式(command mode): 执行vi命令后默认进入命令模式。
  • 插入模式(insert mode): 在命令模式按'i'键,进入插入模式。按ESC键退出插入模式返回到命令模式。
  • 末行模式(last line mode): 在命令模式按':'键,进入末行模式。退出末行模式返回命令模式有两种方法,方法1是按ESC键返回命令模式,方法2是输入末行命令按enter键执行,等末行命令执行结束,就自动返回命令模式。

每种模式都有各自的命令,命令模式有命令模式的命令,插入模式有插入模式的命令,末行模式有末行模式的命令。

保存文件(save; write)、退出vi编辑器(quit)

以下命令需在末行模式输入和执行

  • :w保存文件,把文件内容写入到当前文件。
  • :wq先保存后退出vi:
  • :q退出vi
  • :q!强制退出vi
  • :r filename把其他路径下的文件内容导入到当前文件光标所在行的下面
  • :w filename 把当前文件的内容写入到其他的文件里,就是“另存为”操作。执行这个命令时,当前文件内容的修改不会写入到当前文件(原始文件)。

命令模式进入插入模式的方法

  • 按i键从光标所在位置的左侧(前面),进入插入模式
  • 按a键从光标所在位置的右侧(后面),插入插入模式
  • 按A键把光标移动到光标所在行的尾部,进入插入模式
  • 按o键在光标所在行的下面插入新行,把光标移动到新行的行首,进入插入模式
  • 按O键在光标所在行的下面插入新行,把光标移动到新行的行首,进入插入模式

移动光标

以下4个键在命令模式和插入模式都可以使用

  • 按Home键可以把光标移动到光标所在行行首。
  • 按End键可以把光标移动到光标所在行行尾。
  • 按PgUp键可以往上翻页,实现光标往上快速移动。
  • 按PgDn键可以往下翻页,实现光标往下快速移动。

以下命令需在命令模式输入和执行

行内移动光标

  • 0功能与^相同。
  • ^把光标移动到光标所在行的行首。
  • $把光标移动到光标所在行的行尾。
  • N + <space>把光标往后移动N个字符。(好像可以跨行)
  • N + <backspace>把光标往前移动N个字符。(好像可以跨行)
  • b把光标移动到当前光标所在位置的前一个单词的首字母。
  • w把光标移动到当前光标所在位置的后一个单词的首字母。
  • e把光标移动到当前光标所在位置的后一个单词的尾字母。
  • 5b往前移动5个单词。
  • 5w往后移动5个单词。
  • 5e往后移动5个单词。
  • Ctrl + 左后方向键

行间移动光标

  • gg把光标移动到第一行。是1G的快捷方式。
  • G把光标移动到最后一行。
  • NG把光标移动到第N行。1G就是移动到第1行。
  • N + <Enter>从光标所在行开始把光标往后(下)移动N行。
  • H (high) 把光标移动到屏幕上面
  • M (middle) 把光标移动到屏幕中间
  • L(low) 把光标移动到屏幕下面

其他移动光标命令

  • h左移光标
  • l右移光标
  • k上移光标
  • j下移光标
  • ctrl + f光标向前翻整页
  • ctrl + b光标向后翻整页
  • ctrl + d光标向前翻半页
  • ctrl + u 光标向后翻半页

复制(copy)

以下命令需在命令模式输入和执行

  • yy命令复制光标所在行。
  • y^命令复制光标所在位置至行首的全部字符。
  • y$命令复制光标所在位置至行尾的全部字符。
  • 5yy命令 从光标所在行开始往下复制5行。
  • yw命令复制光标所在位置至当前单词尾部的全部字符。

在末行模式输入以下命令执行

  • :s,ey复制第s行至第e行之间的所有行,如:50,100y复制第50行至100行之间的所有行。

粘贴(paste)

以下命令需在命令模式输入和执行

  • P命令 在光标所在位置前面粘贴
  • p命令 在光标所在位置后面粘贴。
  • 5p命令 在光标所在位置往后粘贴5次

删除(delete)

以下命令需在命令模式输入和执行

  • dd命令删除光标所在行
  • d^命令删除光标所在位置至行首的全部字符。
  • d$命令删除光标所在位置至行尾的全部字符。
  • dw命令删除光标所在位置至当前单词尾部的全部字符(含单词尾部的空格)。
  • de命令删除光标所在位置至当前单词尾部的全部字符(不含单词尾部的空格)
  • x命令删除光标所在位置后面的单个字符。
  • J(大写字母)命令删除光标所在行行尾的换行符,等同于合并当前行和下一行的内容。
  • 5dd命令 从光标所在行开始往下删除5行。
  • 5dw命令 删除当前光标所在位置后面的共5个单词(含尾部的空格)。
  • 5de命令 删除当前光标所在位置后面的共5个单词(不含尾部的空格)。
  • 5x命令 删除当前光标所在位置后面的共5个字符。
  • 5J命令 从光标所在行开始往下合并5行(通过删除每行行尾的换行符)。

在末行模式输入以下命令执行

  • :d删除光标所在行。
  • :s,ed删除第s行至第e行之间的全部行。
  • :1,.d删除第一行至光标所在行的全部行。
  • :.,$d删除光标所在行至最后一行的全部行。
  • :1,$d删除第一行至最后一行的全部行。慎用。
  • :g/^.*$/d删除第一行至最后一行的全部行。与上面的:1,$d功能相同。慎用。
  • :g/^$/d删除全部空白行。这个命令非常有用,删除文件空白行是使用频率较高的操作,使用tr命令和sed命令也可以实现

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)

删除文件空白行 - 执行:g/^$/d前

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)

删除文件空白行 - 执行:g/^$/d后

查找(find; search)

以下命令需在命令模式输入和执行

  • /待找字符串往下查找,按n查找下一个,按N查找上一个。
  • ?待找字符串往上查找,按n查找下一个,按N查找上一个。

替换(replace; substitute)

查找和替换的命令语法:[range]s/old/new/gc

  • 查找和替换的范围有:行内(单行)查找和替换行间(多行)查找和替换整个文件内(从第一行到最后一行的全部行)查找和替换
  • range,指范围,指在哪一行或哪几行进行查找和替换。range是可以缺少的。缺少range时,会在光标所在行进行查找和替换操作。
  • g指global,指全局查找和替换,找到目标字符串在每一行的每一个位置,进行替换。
  • c指comfirm,指确认是否执行查找和替换操作。

行内(单行)查找和替换

  • :s/old/new在光标所在行执行一次查找和替换。何为行内一次查找和替换?从行首开始查找目标字符串,找到了它第一次出现的位置,执行替换操作,然后结束,不再往下进行查找和替换
  • :s/old/new/g在光标所在行执行全部(全局)查找和替换。

行间(多行)查找和替换

  • :<start_line>,<end_line>s/old/new在行间的每一行执行一次查找和替换。
  • :<start_line>,<end_line>s/old/new/g(c)在行间的每一行执行全部(全局)查找和替换。
  • :.,$s/old/new/在光标所在行与最后一行之间的每一行执行一次查找和替换。
  • :.,$s/old/new/g在光标所在行与最后一行之间的每一行执行全部(全局)查找和替换。

在整个文件内(第一行与最后一行之间)进行查找和替换

  • :%s/old/new/在第一行和最后一行之间的每一行执行一次查找和替换。
  • :%s/old/new/g(c)在第一行和最后一行之间的每一行执行全部(全局)查找和替换。
  • %指百分百,就是指查找和替换的范围为整个文件,为第一行到最后一行的全部行。

查找和替换的例子

  • :%s/^\(.*\)$/thinkdecideact: \1/g在每行行首插入'thinkdecideact:'这个字符串。其中,'^(.*)$'匹配整行,\1是反向引用(back reference),指前面正则里第一个分组匹配到的内容,即一整行数据。
  • :%s/^\(.*\)$/\1(thinkdecideact)/g在每行行尾插入'(thinkdecideact)'这个字符串。
  • :%s/^\(life\)/Good quote: \1/g在以life开头的每一行行首添加'Good qutoe: '这个字符串。
  • :%s/best/&/gn统计整个文件里best这个字符串在整个文件中出现的次数。

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)

查找和替换例子 - 原始文件内容

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)

查找和替换例子 - 在每行行首添加一个字符串

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)

查找和替换例子 - 在每行行尾添加一个字符串

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)

查找和替换例子 - 在以life开头的每一行添加一个字符串

取消(undo; cancel)

命令模式下输入以下命令执行

  • u命令取消最近一次操作,并恢复操作结果;可以多次使用u命令,不断往后取消恢复之前的结果(往后移动)。
  • U命令取消对光标所在行进行的全部操作。
  • Ctrl + R组合键恢复u命令取消的操作(往前移动)。(R是recover, restore之意)

什么是当前行?什么是当前单词?

光标所在行就是当前行。光标所在的单词就是当前单词。

2、在vi编辑器中如何向上翻页,向下翻页以及查询“ab”

在vi编辑器中如何向上翻页,向下翻页以及查询“ab”


1.向下翻页快捷键(下一页):Ctrl+f
2.向上翻页快捷键(上一页):Ctrl+b
3.查询"ab":/abvi的三种命令模式:
1.Command(命令)模式,用于输入命令。
2.Insert(插入)模式,用于插入文本。

扩展资料:按ESC进入Command模式后,可以用下面的一些键位来移动光标:
1.j向下移动一行;
2.k向上移动一行;
3.h向左移动一个字符;
4.l向右移动一个字符;不同的版本所给与vi的三种工作模式也不同。vi有三种工作模式:命令模式、文本编辑模式和最后行模式。不同工作模式下的操作方法有所不同。
1.命令模式:命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。

在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作;否则vi会响铃警告。
2.文本编辑模式:文本编辑模式用于字符编辑。

在命令模式下输入i(插入命令)、a(附加命令)等命令后进入文本编辑模式,此时输入的任何字符都被vi当作文件内容显示在屏幕上。按Esc键可从文本编辑模式返回到命令模式。
3.最后行模式:在命令模式下,按“:”键进入最后行模式,此时vi会在屏幕的底部显示“:”符号年作为最后行模式的提示符,等待用户输入相关命令。

命令执行完毕后,vi自动回到命令模式。

笔记本键盘怎么使用vim

希望对你有帮助:vi(vim)键盘图及其基本命令进入vivi filename                打开或新建文件,并将光标置于第一行首vi +n filename           打开文件,并将光标置于第 n行首vi + filename             打开文件,并将光标置于最后一行首vi -r filename            在上次正用 vi编辑时发生系统崩溃,恢复文件vi file1....filen            打开多个文件,依次编辑vi的工作模式命令行模式 (command mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。插入模式(Insert mode):只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式。

命令行模式移动光标k、j、h、l      功能分别等同于上、下、左、右箭头键Ctrl+b            在文件中向上移动一页(相当于 PageUp 键)Ctrl+f             在文件中向下移动一页(相当于 PageDown 键)ctrl+u             屏幕往后移动半页ctrl+d            屏幕往前移动半页H                   将光标移到屏幕的最上行(Highest)nH                 将光标移到屏幕的第 n 行(如 2H: 将光标移到屏幕的第 2 行)M                  将光标移到屏幕的中间(Middle)L                   将光标移到屏幕的最下行(Lowest)nL                 将光标移到屏幕的倒数第 n 行(如 3L:将光标移到屏幕的倒数第 3 行)w                  在指定行内右移光标,到下一个字的开头e                   在指定行内右移光标,到一个字的末尾b                   在指定行内左移光标,到前一个字的开头0                   数字0,左移光标,到本行的开头G                  光标移动到文章的最后nG                光标移动到文章的第 n行(如8G:移动到文章的第 8行)$                   右移光标,到本行的末尾^                   移动光标,到本行的第一个非空字符替换和删除rc                  用 c 替换光标所指向的当前字符nrc                用 c 替换光标所指向的前 n 个字符(如 5rc: 用 c 替换光标所指向的前 5 个字符)x                   删除光标所在位置后面的一个字符nx                 删除光标所在位置后面的 n 个字符(如 3x:删除光标所在位置后面的 3 个字符)X                  大写的 X,删除光标所在位置前面的一个字符nX                删除光标所在位置前面的 n 个字符(如 3X : 删除光标所在位置前面的 3 个字符)dd                删除光标所在行,并去除空隙ndd              从光标所在行开始删除 n 行内容,并去除空隙(如 3dd: 删除 3 行内容,并去除空隙)复制和粘贴从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可将其粘贴到正文中的指定位置。p                  小写字母 p,将缓冲区的内容粘贴到光标的后面P                  大写字母 P,将缓冲区的内容粘贴到光标的前面如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文则粘贴在当前光标所在行的上一行或下一行。有时需要复制一段正文到新位置,同时保留原有位置的内容。

这种情况下,首先应当把指定内容复制(而不是剪切)到内存缓冲区。完成这一操作的命令是:yy                 复制当前行到内存缓冲区nyy               复制 n 行内容到内存缓冲区(如 5yy: 复制 5 行内容到内存缓冲区)搜索字符串/str1             正向搜索字符串 str1n                  继续搜索,找出 str1 字符串下次出现的位置?str2            反向搜索字符串 str2撤销和重复u                  撤消前一条命令的结果.                   重复最后一条修改正文的命令文本选中v                  字符选中命令 V                  行选中命令插入模式进入插入模式i                   在光标左侧输入正文a                  在光标右侧输入正文o                  在光标所在行的下一行增添新行O                 在光标所在行的上一行增添新行I                   在光标所在行的开头输入正文A                 在光标所在行的末尾输入正文退出插入模式ESC 键或组合键Ctrl+[底行模式在vi 的底行模式下,可以使用复杂的命令。退出命令在命令模式下可以用 ZZ 命令退出 vi 编辑程序,该命令保存对正文所作的修改,覆盖原始文件。

如果只需要退出编辑程序,而不打算保存编辑的内容,可用下面的命令:: q                   在未作修改的情况下退出: q!                  放弃所有修改,退出编辑程序行号和文件保存: n                    将光标移到第 n 行:set nu             显示行号:set nonu         取消行号显示底行模式下,可以规定命令操作的行号范围。数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符“$”表示正文最后一行的行号;简单的表达式,例如“.+5”表示当前行往下的第 5 行。例如:: .+5               将光标移到当前行之后的第5行: $                  将光标移到正文最后一行在底行模式下,允许从文件中读取正文,或将正文写入文件。

例如::w                  将编辑的内容写入原始文件,用来保存编辑的中间结果:wq                将编辑的内容写入原始文件并退出编辑程序(相当于 ZZ 命令):w file             将编辑的内容写入 file 文件,保持原有文件的内容不变:a,bw file        将第 a 行至第 b 行的内容写入 file 文件 (如:1,.w file    将第 1 行至当前行写入 file 文件):r file              读取 file 文件的内容,插入当前光标所在行的后面:f file              将当前文件重命名为 file字符串搜索:/str/               正向搜索,将光标移到下一个包含字符串 str 的行:?str?             反向搜索,将光标移到上一个包含字符串 str 的行正文替换:s/str1/str2/          用字符串 str2 替换行中首次出现的字符串 str1:s/str1/str2/g        用字符串 str2 替换行中所有出现的字符串 str1:.,$ s/str1/str2/g   用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1:1,$ s/str1/str2/g  用字符串 str2 替换正文中所有出现的字符串 str1:g/str1/s//str2/g    功能同上从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。删除正文:d                      删除光标所在行:3d                    删除第 3 行:.,$d                  删除当前行至正文的末尾:/str1/,/str2/d     删除从字符串 str1 到 str2 的所有行恢复文件vi 在编辑某个文件时,会另外生成一个临时文件,这个文件的名称通常以 . 开头,并以 .swp 结尾。vi 在正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令,也可以在启动 vi 时利用 -r 选项。

:recover           恢复文件选项设置为控制不同的编辑功能,vi 提供了很多内部选项。利用 :set 命令可以设置选项。基本语法为::set option         设置选项 option常见的功能选项包括:autoindent          设置该选项,则正文自动缩进ignorecase         设置该选项,则忽略规则表达式中大小写字母的区别number              设置该选项,则显示正文行号ruler                   设置该选项,则在屏幕底部显示光标所在行、列的位置tabstop               设置按 Tab 键跳过的空格数。例如 :set tabstop=n,n 默认值为 8mk                      将选项保存在当前目录的 .exrc 文件中shell切换在编辑正文时,利用 vi 底行模式下提供的shell 切换命令,无须退出 vi 即可执行Linux 命令:! command          执行完shell 命令 command 后回到vi另外,在命令模式下,键入K ,可命令 vi 查找光标所在单词的手册页,相当于运行man命令。

vim怎么快速跳到下一个空格

< type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.length > 300) { text = text + "rnn本文来自CSDN博客,转载请标明出处:" + location.href; clipboardData.setData("text", text); } }, 100); } }在vim下可以使用常用的箭头键 但是 还有其它键可以让你更快的达到目标hjkl 这是代替箭头键功能的 H M L 跳到屏幕的顶上 中间 下方 w 跳到下一个单词的开始e 跳到单词的结束b 向后跳gg 跳到文件的开始 G 跳到文件的结束 10gg 或10G 跳到第10行 ta 跳到下一个a 前面fa 跳到下一个a 大写的意思相反另外还有%(跳到文件的%多少) 和|(跳到第几列) 不过我很少用 上面的都可以加上数字前缀 表示第几个匹配 另外看文件时 除了pageup pagedown外还有其它的快速键 如CTRL-F 向前一页 CTRL-B 向后一页 上面不是重要的 CTRL-D 向下半页 CTRL-U 向上半页我觉得更实用 这样看文章时就不会跳转出错另外还有CTRL-E 向下一行CTRL-Y 向上一行^ 行首 $行尾0 第一个字符另外上面也作为vim其它命令的定位符 如删除ddt)一直删除到这行的) 另外 懂了跳转键后 那删除或是复制时就不再是以行为单位了 可以指定到某个条件 我觉得这是新手成长的必要方法另外还有ctrl-t ctrl-i ctrl-]如果已经使用了ctags 或是cscope创建索引文件的话 那看代码时很是方便跳转到函数、变量定义处: [+ctrl+i 跳转到函数、变量和#define[+ctrl+d 跳转到#define处ctrl+i 向前跳到前几次光标位置ctrl+o 向后跳到后几次光标位置函数体跳转: [[]][]][{}2009-07-07 17:31 补充如何选中括号中的内容 进行:将光标移至括号内,按shift+v进入行选模式,然后i{ - 选小括号中内容,不包括小括号a{ - 选小括号中内容,包括小括号ib - 选中括号中内容,不包括括号ab - 选中括号中内容,包括括号i{ - 选大括号中内容,不包括大括号a{ - 选大括号中内容,包括大括号:h text-objects下面还有些相关的tips,未全部验证:vi{ 选中{}中间的内容,不包括{}va{ 选中{}中间内容,包括{}vi( 选中()中间内容vi< 选中<>中间内容vi[ 选中[]中间内容vit 选中中间的内容vi” 选中”"中间内容vi’ 选中”中间的内容vis 选中一个句子vib 选中一个blockviw选中一个单词vip 选中一个段落在normal模式下光标停在某个字符上ga可以查看该字符的ascii码#复制删除粘贴的操作:按V(shift+v),进入可视模式,jk上下选择需要的行,然后按y 复制d 删除x 剪切p 粘贴可视模式很好用,例如想把两行的所有单词变成小写,按V然后按j或k选中这两行,按gu即可#跳到行首按0,但实际更好用的是^, 跳到行首非空白字符#折行前空出4字符显示折行标识set foldcolumn=4#折叠或展开(在折叠的那一行左右移动光标也可展开折叠)za#删除光标所在行所处的范围的折叠zd#当在:set foldmethod=marker后,折行会把{{{和}}}之间的内容折叠#不在单词中间断行。 设置了这个选项后, 如果一行文字非常长, 无法在一行内显示完的话,它会在单词与单词间的空白处断开, 尽量不会把一个单词分成两截放在两个不同的行里。

Fx把光标移动到该行的上一个x字符上。gg光标定位到第一行开头,G定位到最后一行开头H光标跳到当前窗口显示文本的第一行M光标跳到当前窗口显示文本的中间一行L光标跳到当前窗口显示文本的最后一行g*查找包含当前单词的所有单词(*只查找与当前单词精确匹配的单词),-d光标下跳半屏,文本上滚半屏-u光标上跳半屏,文本下滚半屏-e文本向上滚动一行zz屏幕滚动使得当前行成为屏幕的中间一行normal模式下按J删除此行末尾的换行符,从而合并两行:e!重新读进上次保存的此文件内容:ab myname william_djj以后再编辑时键入myname,然后空格或回车myname串就会被william_djj代替:r !date在当前位置插入系统时间(linux下的date命令),同理当前位置插入某文件的内容就是:r filename:set ignorecase查找时取消case sensitive:set noignorecase查找时case sensitive 使用tags #以下命令递归当前目录下的所有文件创建tags文件ctags -R .vim打开当前目录下的任意一文件,命令模式下键入下面语句以指定刚才创建的tags的位置,以后就可以在不同文件间查阅函数set tags=..tags#分割窗口显示当前函数的定义-w ]如果插件目录下有echofunc.vim,用以下命令生成tags,以后编辑代码函数名后打“(“时有参数提示。$ ctags -R –fields=+lS .:Tlist打开左边一个taglist的窗口,显示symbols。

本文关键词:vi编辑器怎么跳到末尾,vi编辑器 翻页,vi编辑返回上一步,vi命令怎么翻页,vi向上翻页的快捷键。这就是关于《在vi编辑器中如何向上翻页,向下翻页以及查询“ab”(简单使用vi编辑器)》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。

猜你喜欢