在熟悉vim编辑器常用操作之前,我们需要熟悉vim编辑器的三种模式。
命令行模式
只要按一下“ESC”键,即可使Vi进入命令行模式;在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。
文本输入模式
在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按”ESC”键即可。
末行模式 (又叫一般模式)
在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字。在这个模式下,可以进行的操作有:上下移动光标、删除某个字符、删除某行以及复制或粘贴一行或者多行。
复制操作
单行复制
光标定位到需要复制的行,按yy(末行模式)
多行复制
光标移动需要复制的行,按nyy(n为复制的行数)
eg:要复制42行道45行,只需要光标定位到location那里,然后按4yy即可。
粘贴
在末行模式下,光标定位要粘贴的行,按p
删除
删除一行
dd
删除多行
ndd
其中n代表要删除的行数
eg:删除两行2dd
打开多个文件
vim file1 file2
在命令行中,输入n切换到下一个文件,输入N切换到上一个文件.
打开文件时定位到指定的行
1.打开文件file 定位到第n行
vim +n file
2.打开file文件,定位到某个字符串
打开后,如下图
定位到多个location,怎么切换呢?
在末行模式下
向下切换,输入n
想上切换,输入#
3.撤销上一步操作
u
4.恢复上一步被撤销的操作
ctrl +r
查找
/pattern :向下查找pattern匹配字符串
?pattern:向上查找pattern匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
替换
s 命令来替换字符串
1.替换当前行的第一个指定的字符串
s/you/你
- 通过g替换当前行的所有指定的字符串
s/you/你/g
- 替换第 n 行开始到最后一行中每一行的第一个 you为 me(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
n,$s/you/me
- 替换第 n 行开始到最后一行中每一行所有 you为 me(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
n,$s/you/me /g
5.替换每一行第一个 you为 me
%s/you/me /
6.替换每一行所有 you为 me
%s/you/me /g
选择
全选
ggVG
定位
gg 让光标移到首行
G 光标移到最后一行
分割窗口
1、水平窗口分割:
split(开启另一个窗口察看同一文件)
split 文件名(开启另一个窗口察看指定文件)
2、垂直窗口分割:
vsplit(开启另一个窗口察看同一文件)
vsplit 文件名(开启另一个窗口察看指定文件)
3、在窗口之间进行切换:
cntl+w+w:按住cntl键,同时按下两次w键。
———————-待补充————————