vim的基本使用(他说我标题重复率高,我这样就不高了吧^_^)

vim 是一个具有很多命令的功能非常强大的编辑器。
vim有三种基本的模式:普通模式,编辑模式,命令行模式。

普通模式:

使用vim打开一个文件时展现的就是普通模式,可以通过上下左右的箭头键移动光标对文件进行查阅。 有的系统中可能没有定义方向键的终端,也可以采用其他方式对光标进行移动:
  • h:左箭头,记忆技巧:h 键位于h,j,k,l四键的左边,每次按就会向左移动。
  • j :下箭头,记忆技巧:j 键可以抽象成一支尖端方向朝下的箭头
  • k:上箭头
  • l :右箭头,记忆技巧:l 键位于h,j,k,l四键的右边,每次按就会向右移动。

普通模式下,文件内容是无法编辑的,即普通模式是只读的。

输入:q! <回车>,这种方式的退出会使编辑器丢弃您进入编辑器以来所做的改动。(输入英文模式下的冒号,q,!,然后回车)

使用 :wq 以保存文件并退出


在普通模式下,可以按下 x 键来删除光标所在位置的字符。

输入 dw 可以从光标处删除至下一个单词前

输入 de 会从当前光标位置删除到单词末尾

输入 d$ 从当前光标删除到行末。

许多改变文本的命令都由一个操作符和一个动作构成。
使用删除操作符 d 的删除命令的格式如下:

d   motion

其中:
d - 删除操作符。
motion - 操作符的操作对象(在下面列出)。

一个简短的动作列表:
w - 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。
e - 从当前光标当前位置直到单词末尾,包括最后一个字符。
$ - 从当前光标当前位置直到当前行末。


在普通模式下,可以按下 i 键来插入文本,即进入编辑模式。 在普通模式下,可以按下 a键也可插入文本,即进入编辑模式。
  • i: 在光标所在字符前开始插入
  • a: 在光标所在字符后开始插入

吐槽:其实没啥差别


编辑模式:

当你输入字符" i "之后,会发现界面的左下角出现“插入”字段,这意味着你进入编辑模式,按Esc可以退出编辑模式,回到普通模式。

命令行模式:

在普通模式下,输入“ : ”,“ / ”,“ ? ”,光标会直接移动到最下面一行。在这个模式中,可以很轻松的对文件进行查找和替换,也可以保存文件和退出。

vim的功能

块选择

通常情况下,我们操作一个文件都是按行操作的,还可以对文字块进行操作。

首先使用vim打开之前的test文件,将光标放在“a”的后面,然后按下Ctrl + v,随后移动光标进行块选择。被选中的部分文件背景会变色。
此时按下“y”即可将选中的文本进行复制,随后选中块的颜色消失,将光标移到第一行“test”的最后一个“t”上按下“p”即可完成粘贴。
除了复制块,在可视模式中还有其他选择:
v:逐个字符进行选择;
V:按行进行选择
Ctrl + v:块选择。
选择完成后,按下“y”则是对选中的部分进行复制,按下“d”则是对选中的部分进行删除。

编辑多个文件

vim可同时打开多个文件,然后我们可以在多个文件里面使用vim互相复制粘贴信息。

如果是在两个终端上使用vim打开两个文件,通过“yy”在第一个文件复制完一行后,再去另一个文件中按下“p”是无法粘贴成功的,我们只能在一个终端上打开多个文件进行编辑。

:files 列出当前vim打开的所有文件
:n 编辑下一个文件
:N 编辑上一个文件

演示:

先创建两个文件test1和test2,分别输入文本“This is the test1”和“This is the test2”
在这里插入图片描述
使用命令vim test1 test2打开两个文件
在这里插入图片描述
在vim中输入:files列出当前vim打开的所有文件
在这里插入图片描述

多窗口编辑文件

很多情况下,我们需要对照文件去查看,在一个窗口下进行切换就显得比较麻烦,此时就需要分屏。

  • 水平分割:
    vim -o test1 test2
    在这里插入图片描述
    在这里插入图片描述
  • 垂直分割:
    vim -O test1 test2
    在这里插入图片描述
    在这里插入图片描述
    如果是先打开一个文件,如test1,然后想要分割窗口,可以输入“:split test2” ,水平分割当前光标所在窗口;
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

也可以输入“:vsplit test2”,垂直分割当前光标所在窗口。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果不加文件名,默认在新窗口中打开当前文件。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/guchengyixin/article/details/106769448