前言
(1)vim编辑器其实本质上就是对文本进行编辑,比如在.c文件中改写程序,在.txt文件写笔记什么的。 一般来说,我们可以在windows上对文本进行编译,然后上传给Linux。 但是有时候我们可能只是对文本进行简单的调整,或者说没有其他的编译器的时候,vim编译器就成了不得不使用的工具了。
(2)vim编辑器比较麻烦,不支持鼠标移动光标。对于文本的编辑,保存,复制,粘贴都需要命令行,不直观操作也没有Windows上的编辑器方便。 所以我建议如果是需要大规模改动的文件,可以先使用Windows上的编辑器进行编辑,之后利用FileZilla软件将文件上传到Linux。但是, 如果只需要进行微调,vim编辑器就是不错的选择。
vim的三种模式
三种模式简介
vim编辑器具有三个模式: 一般模式, 编辑模式, 命令行模式。这三个模式的侧重点不同,如下。
一般模式:光标移动、复制、粘贴、删除
编辑模式:编辑文本
命令行模式:查找、替换
vim的三种模式切换
三种模式切换图
对于新手而言,下面这个你是大概率看不懂的。但是不要慌,哥来教你看懂。
终端命令行与一般模式的切换
终端命令行是什么
对于新手而言,可能还不是很清楚终端命令行是啥玩意。终端命令行就是我们日常操作的terminal(终端,如下)。
vim的一般模式
(1) 从终端命令行进入vim的一般模式时,右下角会出现一行信息,里面包含 操作的文件 文件名, 文件行数,以及 当前文件所含字符个数。
(2) 如果是从其他模式进入vim的一般模式,右下角是没有信息的。
(3)在一般模式下,我们可以进行复制,粘贴,删除等操作。
终端命令行--->vim一般模式
如果我们使用vim编辑器对一个文件进行操作,只需要输入 vi 文件名。
如果我们进入vim编辑器,不想从第一行开始编辑,而是想从其他行开始编辑,只需要输入:vi 文件名 +n(n为行号)
vim一般模式--->终端命令行
当我们想从vim的一般模式转换到终端命令行时,需要输入“ :命令”,命令有如下选择
命令 |
描述 |
x |
保存当前文档并且退出 |
q |
退出 |
w |
保存文档 |
q! |
退出 vi/vim,不保存文档 |
需要注意“:x”与“:wq”作用是一致的。
一般模式与编辑模式的转换
编辑模式是什么
在编辑模式下,我们可以对文件进行修改, 可以一个字符一个字符的写入,但是 不可以复制粘贴。
vim一般模式--->编辑模式
在一般模式下,我们输入字符‘i’在当前光标所在字符的前面,转为编辑模式。其实只要记住'i'这一个就可以了,但是有些骚年可能玩的花一点,想秀操作,学其他的命令也可以。只不过这些其他的指令,都可以用i来实现。
命令 |
描述 |
i |
在当前光标所在字符的前面,转为编辑模式 |
I |
在当前光标所在行的行首转换为编辑模式 |
a |
在当前光标所在字符的后面,转为编辑模式 |
A |
在光标所在行的行尾,转换为编辑模式 |
o |
在当前光标所在行的下方,新建一行,并转为编辑模式 |
O |
在当前光标所在行的上方,新建一行,并转为编辑模式 |
编辑模式--->vim一般模式
从编辑模式到vim的一般模式转换很简单,按一下ESC键即可。(多按几次也可以,不影响)
一般模式与命令行模式的转换
(1)看到下面这张图,有人可能会有疑惑了。按照上面的切换图,vim的一般模式转换到终端命令行模式不是也需要输入':'吗?那么,一般模式转换为终端命令行的过程,是不是经过了编辑模式呢?我认为是要经过的。
(2)按ESC键,就可以从编辑模式回到一般模式了。
在编辑模式下可进行的操作
vim的编辑模式下进行删除按Backspace,换行按Enter。和Windows的一样,只不过不可以用鼠标大范围的复制,只能一个字符一个字符的操作。
在命令行模式下可进行的操作
显示行号
我们发现,这个操作文本的时候,看不见行号,很麻烦。于是我们可以在命令行模式下,输入" :set number"用于显示行号。
隐藏行号
有时候我们不需要看行号了,感觉行号有点麻烦,只需要输入" :set nonumber"即可隐藏。
跳转光标
有时候我们想让光标跳转到指定行号,只需要输入" :行号"即可跳转到指定行号。
替换
有的时候,我们会想将指定的字符全局替换掉。只需要输入" :%s/p1/p2/g" 即可将文件中所有的 p1 均用 p2 替换。
删除
在编辑模式下删除麻烦了,只能一个一个字符的删除。在命令行模式下可以指定行进行删除。格式:" :起始行,结束行d "
一般模式下可进行的操作
光标移动
移动到第一行
在一般模式下,输入gg即可将跳转到第一行。
跳转到最后一行
输入“ G”即可跳转到最后一行。但是 一般都是小写输入状态,所以需要先按住shift键再输入g。
跳转到指定行
有时候我们想跳转到指定行数,输入“ ngg”即可跳转到第n行。
翻页
有时,我们想一页一页的翻看。Ctrl+F(PageDown) : 下翻一屏Ctrl+B(PageUp) : 上翻一屏
光标上下左右移动
这个我觉得用 键盘中的上下左右键就可以移动了。不过,还可以按HJKL键(个人感觉没必要,键盘的上下左右键有相同功能)。K: 向上移动;J: 向下移动;H: 向左移动;L: 向右移动
复制粘贴
方法1
先找到我们需要复制的字符字首,输入字符' v',移动光标(这里可使用"ngg"进行快速移动光标),按下字符'y'即可复制成功。
找到要粘贴的地方,按下字符' p',即可粘贴成功。
方法2
通过快捷键复制粘贴。如果我们想 复制当前行输入" yy",如果我们想 复制当前行及其以下的n-1行可以输入" nyy"。粘贴键按p。
yy |
复制当前行 |
nyy |
复制当前行及其后的 n-1 行 |
p |
粘贴 |
删除
输入" dd" 删除当前行," ndd" 删除当前行及其下面的n-1行。
撤销
有时候我们会不小心删除误删需要撤销。只需要在 一般模式下输入字符' u'即可。
查找
(1)在windows系统中,我们想在文本中查找指定文字,只需要输入Ctrl+F即可。而在vim编辑器中,在一般模式下,输入" /要查找的字符"就可以了。因为在一个文本中, 不可能只有一个符合要查找的字符,所以按下回车键之后,输入 n 即可向下查找。
(2)但是有时候,我们想查找光标纸上的符合条件的字符,输入" ?要查找的字符", 然后按 n 即可向上查找。