1.基本用法
1.1.编辑模式
1.2.底行模式
1.3.环境配置
1.4.使用时发现的
2.编辑多个文档
3.选项
1.1.编辑模式
插入
插入命令
插入位置
i
光标左侧
a
光标右侧
o
前增加一行
I
行开头
A
行末尾
O
后增加一行
移动光标
命令
说明
h j k l
左 下 上 右
gg
文件首行
G
文件末行
H
屏幕首行
M
屏幕中间一行
L
屏幕末行
nH
屏幕的第 n 行
nL
屏幕的第 n 行(倒数)
w
下一个词的开头(暂时这样理解)
e
下一个词的末尾
b
前一个词的开头
行首
$
行尾
^
行非空字符首
n
下一个匹配项目
N
上一个匹配项目
翻屏
操作
ctrl + f
下翻一屏
ctrl + b
上翻一屏
ctrl + d
下翻半屏
ctrl + u
上翻半屏
删除
x
删除光标处的字符
nx
删到光标后 n 各字符
X
上出光标前一个字符
D
删除至行尾
dw
删除光标右一个词
ndw
删除右边 n 个词
db
删除光标左一个词
ndb
删除左边 n 个词
dd
删除一行(剪切)
ndd
删除 n 行
取代
r
取代光标处字符
R
取代字符(按 ESC 停止取代)
复制、粘贴、取消
yy
复制行
nyy
复制 n 行
yw
复制光标到字尾的字符
p
光标后新建一行粘贴
P
光标前新建一行粘贴
u
撤销
ctrl + r
恢复
yG
复制到最后一行
3y
从当前行算起,复制3行
其他操作
.
重复前一次的编辑操作
v
可视化模式
1.2.底行模式
设定、查找、删除、保存、退出
:set nu
显示行号
:set nonu
取消行号
/sunny
向下搜索“sunny”
?sunny
向上搜索“sunny”
:1,3d
从第一行删到第三行
:wq
保存退出
:q!
不保存退出
不常用设定
命名格式
:set ic
忽略大小写
:set noic
:set ai
自动缩进
:set hls
高亮显示搜索
:set nohls
:syn on
高亮显示语法
:syn off
:r file1.txt
从光标位置读取一个文件的内容到这里
:w file2.txt
另存为……
:! cat file1.txt
执行系统命令
替换命令
cat str.txt “举例时,下边展示的只有三行,是为了节约该页面在手机上打开时的流量。”
命令格式
作用说明
:s/8/ok/
替换光标所在行的头一个匹配的字符“8”,不管光标在行首还是行尾巴
:s/7/ok/g
替换当前行所有的字符“7”
:8,12s/6/ok/
替换8到12行第一个出现的字符“6”,不管光标位于何处
:8,12s/6/ok/g
这就不用说了
:.,$s/3/ok/
当前行到最后一行
:11s/0/ok/
替换11行的首个字符“0”
1.3.环境配置
设置行号
当需要进入时就显示行号。在用户目录下,新建一个隐藏文件。
进入时同样对于 vi、 vim 都有效果。
1.4.使用时发现的
使用经验:
① 使用“dd”剪贴一行,在粘贴以前,按下数字“6”,然后粘贴,就会同时粘贴 6 行出来。
② 使用编辑器时,当光标落到某一个单词:“strcpy”、“printf”、“memcpy”、“const”。按下一个大写的 k 键(K),等效于“man strcpy”、“man printf”、“man memcpy”、“man const”。
如果有对应的条目会显现出来,没有按回车会返回。
③ 编辑文件时,按下“end”键,会切换字母的大小写。(大写变小写、小写变大写)
2.1.打开多个文档
以标签方式打开
切换方式“g t”
以窗口模式打开
不管是标签方式还是窗口方式,都可以通过命令行“:n”、“:N”方式切换。
窗口模式下,可以用“ctrl+w w”、“ctrl+w ‘方向键’”完成切换。保存退出、退出时,先退出最后一次光标所在的文件。一次全部退出,“:qa”。
编辑多个文档,意义在于,可以在多个文件之间完成复制、粘贴、剪切动作。
2.2.先打开一个文档
在vim的编辑模式,输入“split dir/file”、“vsplit dir/file”打开一个新的文件窗格。还可以在这个命令前带上数字,多打开一个空的窗格。打开空的窗格:“new”、“vnew”。
上下窗格结构:
●调整窗格大小,调整为13行:“13 Ctrl+w _”。当前窗格增加5行:“3 Ctrl+w +”;缩减2行:“2 Ctrl+w -”。调整为最大行:“Ctrl+w _”。
●当前窗格拆分:按下“ctrl+w”,按下“s”或者“v”,就可以实现竖直拆分、横向拆分。
调整窗格位置:
●“Ctrl+W”跟上表示方向的字母键的大写,当前窗格右移“Ctrl+W L”。
在vim的编辑模式,输入“tabedit dir/file”打开一个新的标签页。
打开文件直接定位到某行、末行
打开时直接匹配到某行
简单配置