vi 学习笔记

来源:互联网 发布:samba windows客户端 编辑:程序博客网 时间:2024/04/27 13:38

1 . 关于 vi 编辑器的特点
1) 用于编辑纯文本文件

2 . vi 编辑器的两种模式
1) 插入模式(输入的数据会写入到文件中)
2) 一般模式(非插入模式,键盘输入的都作为指令执行)

3 . vi 编辑器的两种模式之间的切换
1) 启动 vi 编辑器 进入一般模式
2) 一般模式 进入 插入模式
i 在光标之前插入字符
a 在光标之后插入字符
I 在当前行的开始插入字符
A 在当前行的末尾插入字符
o 在当前行的下一行插入行并接受输入
O 在当前行的上一行插入行并接受输入
r 进入插入模式,接受一个字符替换当前光标处的字符之后,回到一般模式
R 进入插入模式,每接受一个字符则覆盖当前光标处的字符,之后光标后移,继续接受输入
s 进入插入模式,接受一个字符替换当前光标处的字符之后,光标后移,之后接受输入全部插入在光标之前
3) 插入模式 进入 一般模式
按esc键(通常在键盘左上角)
4 . vi 编辑器一般模式下的移动光标命令
k 上
j 下
h 左
l 右
0 当前行首
$ 当前行末
G 文件的最后一行
gg 文件的第一行
nG 文件的第n 行
5 . vi 编辑器一般模式下的翻页命令
ctrl + [fF] 向下一页(forward)
ctrl + [bB] 向上一页(backward)

6 . vi 编辑器一般模式下的删除复制粘贴命令
dd 删除当前行,存入缓冲区
ndd 删除当前行以及向下的n-1行,存入缓冲区
d0 删除当前光标位置到当前行首的字符,存入缓冲区
d$ 删除当前光标位置到当前行末的字符,存入缓冲区
yy 复制当前行,存入缓冲区
nyy 复制当前行以及向下的n-1行,存入缓冲区
y0 复制当前光标到当前行首的所有字符,存入缓冲区(没怎么用到)
y$ 赋值当前光标到当前行末的所有字符,存入缓冲区(没怎么用到)
p 将缓冲区内的数据粘贴到当前行的下边
P 将缓冲区内的数据粘贴到当前行的上方

7 . vi 编辑器一般模式下的查找命令
/word 向光标后查找第一个word , 之后 ,按 n 会继续向后查找 ,按 N 会向前查找
?word 向光标前查找第一个word , 之后 , 按 n 会继续向前查找 , 按 N 会向后查找

8 . vi 编辑器一般模式下的替换命令
r 进入插入模式,接受一个字符替换当前光标处的字符之后,回到一般模式
R 进入插入模式,每接受一个字符则覆盖当前光标处的字符,之后光标后移,继续接受输入
s 进入插入模式,接受一个字符替换当前光标处的字符之后,光标后移,之后接受输入全部插入在光标之前

9 . vi 编辑器一般模式下的查找并替换命令
:bg,ends/word1/word2/ 从bg 行到 end 行每行查找到第一个word1 并替换成 word2
:bg,ends/word1/word2/c 从bg 行到 end 行每行查找到第一个word1 并替换成 word2 ,替换前先与用户确认(conform)
:bg,ends/word1/word2/g 从bg 行到 end 行每行查找到所有word1 并替换成 word2
:bg,ends/word1/word2/gc 从bg 行到 end 行每行查找到所有word1 并替换成 word2 ,替换前先与用户确认(conform)
注:bg 与 end 的位置可以填写 $ 表示末行

10. vi 编辑器一般模式下其它几个比较有用的命令
J 将当前行的下一行与当前行拼接起来,弥补了pP 命令不能粘贴在当前行末尾的缺陷
u 复原上一个操作
nu 取消已经做过的n个改变了文件内容的操作
. 重复上一个动作(鸟哥说好,我没觉得)
ctrl + r 重复上一个操作
:set nu 显示行号(非常有用)
:set nonu 不显示行号(非常有用)

11. 离开vi 编辑器
q! 不保存离开
q 在没有修改/或者没有权限修改文件的情况下,可以用这个命令离开
w 写文件,通常用于中途保存文件
w! 文件为只读时强制写,不过能不能成功得看用户使用文件的权限
wq 写并离开

12. 输入特殊字符
TAB 直接按 Tab 键即可
ESC 先按CTRL + v , 后按 Esc 键 , 该字符显示为 ^[ 并且颜色特别


13. ubuntu 下修改/etc/vim/vimrc并添加

set tabstop=2;#表示一个tab键占两个字符

set nu #打开文件时显示行号


14. ctrl+v 进入visual模式,之后使用kjhl键选中行列,之后按冒号,输入命令

15. shift+v 进入visual模式,之后使用kjhl键选中行列,之后按冒号,输入命令

16. 跨文件拷贝,非常有用

按 v 键进入visual模式;使用kjhl或者上下左右键移动光标以选中文本;按 Y 键以复制文本到缓冲区;按冒号:进入命令行模式,输入 e path-to-the-other-file/the-other-file 打开另一个文件;按 p 则缓冲区的内容粘贴到了另一个文件中,保存即可。

17. 行内编辑

先d后0,删除光标之前的字符

先d后$,删除光标以及之后的字符

先d后%,删除光标到右边第一个逗号之间的字符,含光标所在位置的字符

原创粉丝点击