细胞因子 压制组装机 dictionary go post struct ssh tree grid bootstrap后台管理模板 matlab停止运行命令 db2从入门到精通 office2016修复 mysql自连接 less的比较级 oracle可视化工具 mysql删除存储过程 mysql配置远程连接 react python字典get python编程工具 python如何定义变量 python学习方法 java中的string jdbc连接mysql java学习课程 java获取当前时间 java版本查看 java类方法 linux教学 超级力量2修改 银头鲑鱼 脚本错误怎么解决 红巨人插件 c4d挤压 重复文件查找软件 逗号的作用 cad乘号 c4dr20 mysql关联查询
当前位置: 首页 > 学习教程  > 编程语言

vi/vim 常用命令

2020/7/24 10:11:39 文章标签:

文章目录

      • 进入一个文件
      • 文本修改命令
      • 文本修改命令
      • 文本复制命令
      • 文本撤销命令
      • 重复之前操作
      • 字符替换命令
      • 光标移动命令
      • 屏幕滚动命令

进入一个文件

vim filename进入到文件的后光标处于上次退出时的位置
vim +行号 filename进入文件后光标处于指定行的首位置
vim + filename进入文件后光标处于最后一行的首位置
vim +/string filename进入文件后光标处于第一个string位置,模式匹配进入
vim *.c打开多个文件以.c为后缀命名的文件

文本修改命令

i 命令将文本插入到光标所在位置前。
I 命令将文本插入当前行的行首。
a 命令将新文本追加到光标当前所在位置之后。
A 命令将新文本追加到所在行的行尾。
o 命令将在光标所在行的下面插入一个空行,并将光标置于该行的行首。
O 命令在光标所在行的上面插入一个空行,并将光标置于该行的行首。

文本修改命令

删除文本的命令可以分为删除单个字符和删除多个字符两类。其中,删除单个字符的命令包括下面两种情况。

  • x 命令:删除光标处的字符。若在 x 之前加上一个数字 n,则删除从光标所在位置开始向右的 n 个字符。
  • X 命令:删除光标前面的字符。若在 X 之前加上一个数字 n,则删除从光标前面那个字符开始向左的 n 个字符。

删除多个字符的命令包括下面几种情况。

  • dd 命令:该命令删除光标所在的整行。在 dd 前可加上一个数字 n,表示删除当前行及其后 n-1 行的内容。
  • D 命令或 d$ 命令:两个命令功能一样,都是删除从光标所在处开始到行尾的内容。
  • d0 命令:该命令删除从光标前一个字符开始到行首的内容。
  • dw 命令:该命令删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾。同 dd 命令一样,可在 dw 之前加一个数字n,表示删除 n 个指定的单词。
  • d( 命令:该命令删除到上一句开始的所有字符。
  • d) 命令:该命令删除到下一句开始的所有字符。
  • d} 命令:该命令删除到上一段开始的所有字符。
  • d{ 命令:该命令删除到下一段开始的所有字符。
  • d<CR> 命令:该命令(表示回车)删除包括当前行在内的两行字符。

文本复制命令

yy 命令:复制光标所在的整行。在 yy 前可加一个数字 n,表示复制当前行及其后 n-1 行的内容。
Yy$ 命令:两命令功能一样,都是复制从光标所在处开始到行尾的内容。
yw 命令:复制一个单词。若光标处在某个词的中间,则从光标所在位置开始复制至词尾。同 yy 命令一样,可在 yw 之前加一个数字 n,表示复制 n 个指定的单词。
y) 命令:复制到下一句幵始的所有字符。
y} 命令:复制到下一段开始的所有字符。
y<CR> 命令( 表示回车):复制包括当前行在内的两行内容。

与文本复制有关的命令分为两类。

  1. 文本粘贴命令
    p 命令:粘贴命令,粘贴当前缓冲区中的内容。
  2. 文本选择命令
    v 命令:在命令模式下进行文本选择。在需要选择的文本的起始处按下 v 键进入块选择模式,然后移动光标到块尾处。这之间的部分被高亮显示,表示被选中。
    V 命令:在命令模式下按行进行文本选择。在需要选择的文本的第一行按下 V 键,然后移动光标到块的最后一行。这之间的所有行被高亮显示,表示被选中。

文本撤销命令

u 命令:该命令撤销上一次所做的操作。多次使用 u 命令会一步一步依次撤销之前做过的操作(在一次切换到文本输入模式中输入的所有文本算一次操作)。
U 命令:该命令会一次性撤销自上次移动到当前行以来做过的所有操作,再使用一次 U 命令则撤销之前的 U 命令所做的操作,恢复被撤销的内容。

重复之前操作

重复命令只能在命令模式下工作,在该模式下按下.键即可。

字符替换命令

r 命令将当前光标所指的字符替换为提供的字符。可以在该命令之前加上数字 n,表示将从当前字符开始的 n 个字符替换为提供的字符。

光标移动命令

最基本的移动

  • h光标左移一个字符
  • j光标下移一行
  • k光标上移一行
  • l光标右移一个字符

按行移动光标

  • H 命令将光标移至当前屏幕的第 1 行,而不是整个文件的第 1 行。若在 H 命令之前加 上数字 n,则将光标移至第 n 行的行首。
  • M 命令将光标移至屏幕显示文件的中间行的行首。即如果当前屏幕已经充满,则移动到整个屏幕的中间行;否则,移动到显示文本的那些行的中间行。
  • L 命令将光标移至屏幕显示文件的最底行的行首。即如果文件内容需要超过一个屏幕显示时,该命令将光标移至屏幕上最底行的行首;否则该命令将光标移至文件最后一行的行首。若在 L 命令之前加上数字 n,则将光标移至从屏幕底部算起第 n 行的行首。
  • G命令在全文的范围内移动光标,此时的光标移动范围不再受屏幕的限制。例如,在上例中,在命令模式下输入命令 5G 之后光标将移到第 5 行的行首。

按token(词)移动

  • w 和 W 命令将光标右移至下一个字的字首。这两个命令的区别在于:
    w 命令所指的字是指英文单词、标点符号和非字母字符;
    W 命令所指的字是指两个空格之间的任何内容。

  • 如果光标起始位置处于字内,则 e 和 E 命令将把光标移到本字字尾;如果光标起始位置处于字尾,则 e 和 E 命令将把光标移动到下一个字的字尾。
    e 和 E 命令的区别在于:
    e 命令所指的字是指英文单词、标点符号和非字母字符;
    E 命令所指的字是指两个空格之间的任何内容。

  • 如果光标处于所在字内,则 b 和 B 命令将把光标移至本字字首;如果光标处于所在字字首,则 b 和 B 命令将把光标移到上一个字的字首。两个命令的区别在于:
    b 命令所指的字是指英文单词、标点符号和非字母字符;
    B 命令所指的字是指两个空格之间的任何内容。

按段落移动

  • 一个段落被定义为是以一个空白行开始和结束的片段。按段落移动光标的命令有以下两种。
    {命令:该命令将光标向前移至上一个段落的开头。
    }命令:该命令将光标向后移至下一个段落的开头。

屏幕滚动命令

Ctrl+u将屏幕向前(文件头方向)翻滚半屏
Ctrl+d将屏幕向后(文件尾方向)翻滚半屏
Ctrl+f将屏幕向文件尾方向翻滚一整屏
Ctrl+b将屏幕向文件首方向翻滚一整屏


本文链接: http://www.dtmao.cc/news_show_50209.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?