vi/vim 笔记(一)
vi/vim 笔记(一)
1. 打开文件:
vi [filename] 文件名是可选的,如果没有文件名,则打开一个未命名的缓冲区;如果文件不存在,则以此文件名新建一个文件。
2. 两种模式:命令模式和插入模式。进入vi/vim的时默认是命令模式,此时所有的按键都代表命令,命令模式下区分大小写。如果此时按下i键(大写I,以当前光标所在行首为插入点),以当前光标所在处为插入点。
3. 文件保存与退出
在命令模式下输入:
:w 保存文件
:e! 取消所有编辑,回到原文件打开时状态
:q 若未编辑过文件,则退出vi/vim,如果编辑过文件则无法退出
:wq 是退出并保存已编辑的文件
:q! 退出,但不保存已编辑的文件
4. 移动光标
在命令模式下输入:
h 光标向左一个字符
l 光标向右一个字符
j 光标向下一行
k 光标向上一行
以外,键盘上的四个方向键也和上面四个功能按键作用一样;
光标能移到第一行的首字符位置到~ (波浪符)之间的位置,波浪符的位置代表没有文本的地方;
如果在h, l, j, k 前加上数字n,则光标一次移动n个单位的位置,如, 4k,是从当前所在光标一次向上移4行;
o 移到行首[奇怪,在我的机器上是:在光标所在行下面产生一个新行,并移到行首。而书上的意思是移到当前所在行首]
$ 移到当前所在行尾
w 光标向右移一个单词,符号与标点也算作一个单词
W 光标向右移一个单词,跳过符号和标点
b 光标向左移一个单词,符号与标点算作一个单词
B 光标向左移一个单词,跳过符号与标点
如果在w,W,b,B 前加数字,光标一次移动n个单词的位置
G 移动文件最后一行行首(空行也算是文件内容),如果在G前面加上数字n,则移到指定行n的行首,如果n大于文件内容的最大行,则也是移到最后一行的行首;