vim/vi编辑工具

原文链接:https://www.cnblogs.com/kmsfan/p/vim_beginner.html

一、三种模式

1. 普通模式

在普通模式中,用的编辑器命令,比如移动光标、删除文本等等。这也是Vim启动后的默认模式。

2. 插入模式

在这个模式中,大多数按键都会向文本缓冲中插入文本。

在插入模式中,可以按ESC键回到普通模式。

3. 命令行模式

在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。

命令行模式中输入wq回车后保存并退出vim。

注:三种模式的切换:

  • 普通模式 --> 插入模式:按 i 键
  • 普通模式 --> 命令行模式:按 : 键等

二、常用命令

1. 使用 vim practice_1.txt 进入界面

2. 普通模式下的游标移动

  • h:左
  • l:右(小写L)
  • j:下
  • k:上
  • w:移动到一个单词
  • b:移动到上一个单词

3. 插入模式编辑

  • i:在当前光标处进行编辑
  • I:在行首插入
  • A:在行末插入
  • a:在光标后插入编辑
  • o:在当前行后插入一个新行
  • 0:在当前行前插入一个新行
  • cw:替换从光标所在位置后到一个单词结尾的字符

4. 命令行模式下保存文档

从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下。

5. 退出vim

  • 命令行模式保存并退出 :wq
    • :q! —— 强制退出,不保存
    • :q —— 退出
    • :wq! —— 强制保存并退出
    • :w <文件路径> —— 另存为
    • :saveas <文件路径> —— 另存为
    • :x —— 保存并退出
    • :wq —— 保存并退出
  • 普通模式下退出:输入Shift+zz即可保存退出vim

6. 删除文本

  • 普通模式下删除
    • x —— 删除游标所在的字符
    • X —— 删除游标所在前一个字符
    • Delete —— 同x
    • dd —— 删除整行
    • dw —— 删除一个单词(不适用于中文)
    • d$ 或 D —— 删除至行尾
    • d^ —— 删除至行首
    • dG —— 删除到文档 结尾处
    • d1G —— 删至文档首部

  还可以在命令之前加上数字,表示一次删除多行,如:2dd表示一次删除2行。

7. 复制粘贴和剪切

(1) 复制粘贴

  • 普通模式中使用y复制
    • yy复制游标所在的整行(3yy表示复制3行);
    • y^复制至行首,或y0,不含光标所在处字符;
    • y$复制至行尾,,含光标所在处字符;
    • yw复制一个单词;
    • y2w:复制两个单词;
    • yG复制至文本末;
    • y1G复制至文本开头;
  • 普通模式中使用p粘贴
    • p(小写)代表粘贴至光标后(下);
    • P(大写)代表粘贴至光标前(上);

(2) 剪切与粘贴

其实前面讲得dd删除命令就是剪切,你每次dd删除文档内容后,便可以使用p来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行:ddp,就这么简单,即实现了快速交换光标所在行与它下面的行。

8. 查找

(1) 快速查找

普通模式下输入 / 然后键入需要查找的字符串,按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找。

(2) 高级查找

  • 普通模式下输入 \* 寻找游标所在处的单词;
  • 普通模式下输入 \# 同上,但 \* 是向前(上)找,#则是向后(下)找;
  • 普通模式下输入g\*同\* ,但部分符合该单词即可;
  • 普通模式下输入g\#同\# ,但部分符合该单词即可;

以上查找n,N 的继续查找命令依然可以用。

9. 替换和撤销

替换和Undo命令都是针对普通模式下的操作。

  • r+<待替换字母> :将游标所在字母替换为指定字母;
  • R :连续替换,直到按下Esc键;
  • cc : 替换整行,即删除游标所在行,并进入插入模式;
  • cw :替换一个单词,即删除一个单词,并进入插入模式;
  • C(大写) : 替换游标以后至行末;
  • ~ : 反转游标所在字母大小写;
  • u{n} :撤销一次或n次操作;
  • U(大写) : 撤销当前行的所有修改;
  • Ctrl+r :redo,即撤销undo的操作。

10. 行号的显示和隐藏

在普通模式下按:进入命令行模式,输入set number 或 set nonumber

猜你喜欢

转载自www.cnblogs.com/myitnews/p/12217060.html