Vim用法
一.vim编辑文件
vim file -->按[i]进入insert模式-->书写内容-->按[esc]退出insert模式-->:wq退出保存
示例: vim hello.c
#include<stdio.h>
main()
{
printf("hello,world\n");
}
:wq
二.vim的常用功能
1.vim的三种模式
命令模式:浏览文件,临时更改vim的工作方式,对字符批量处理
插入模式:对文件内容进行编辑
退出模式:退出vim程序
(1)命令模式
1)调整vim的工作方式, 在vim程序中
:set 调整参数
:set nu 每一行前显示行号
:set nonu ##取消行号显示
:set mouse=a ##显示鼠标
:set cursorline ##显示行线
注意:
在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源
如果要永久保存vim的工作方式需要编辑vim的配置文件:/etc/vimrc
2) 字符的搜索
/关键字
n向下匹配
N向上匹配
3)字符的管理
复制: y
yl ##复制一个字母<C-F12>
y3l ##复制3个字母
yw ##复制一个单词
y3w ##复制3个单词
yy ##复制1行
y3y ##复制3行
删除:d
dl ##删除一个字母
d3l ##删除3个字母
dw ##删除1个单词
d3w ##删除3个单词
dd ##删除1行
d3d ##删除3行
剪切:c
cl ##剪切1个字母
c3l ##剪切3个字母
cw ##剪切1个单词
c3w ##剪切3个单词
cc ##剪切1行
c3c ##剪切3行
"注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴"
p : 粘贴 u : 撤销 ctrl+r :恢复撤销
4) vim可视化操作
a.在vim中不能使用鼠标直接框选,如果想要对一个区域进行操作,这时就需要进入可视化模式,按ctrl + v,然后键盘上下左右进行框选 , 在这个模式下就可以进行选择区域操作
b.批量加字符 ;ctrl + v 移动光标,选中要加入字符所在的列,按大写的I,进入插入模式,加入字符,按【esc】退出即可添加成功。
5)字符的替换
例 %s/要替换的字符/替换成的字符/g
%s/:/@/g ##替换全文的:为@
1,5s/:/@/g ##替换1-5行的:为@
将全文的:改为@
更改前:
更改后:
注意:%s标示所有的行 g标示所有的列
6) vim 的分屏功能
ctrl+w s ##上下分屏
ctrl+w v ##左右分屏
ctrl+w c ##关闭光标所在屏幕
ctrl+w 上下左右 ##光标移动到指定屏幕
:sp file2 ##同时编辑当前文件和file2
7)在命令模式下光标的移动
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后
:数字 ##光标移动到到指定的行
(2)插入模式
1) 插入模式下光标的移动
i ##光标所在位置插入
I ##光标所在行行首插入
o ##光标所在行下一行插入
O ##光标所在行的上一行插入
a ##光标所在字符的下一个字符插入
A ##光标所在行的行尾插入
s ##光标所在字符删除并插入
S ##光标所在行删除并插入
(3)退出模式
:q ##退出,在文件内容没有被改变时使用
:wq ##退出保存
:q! ##强制退出不保存,在改变文件后不想保存时使用
:wq! ##强制退出保存 在对只读文件编写时使用,注意,所编辑的只读文件必须时当前用户的文件
##或者当前操作的用户时root
注意:vim异常退出
当vim异常退出时会生成.file.swp文件
当再次打开此文件时会出现以下情况:
file name: ~kiosk/Desktop/hello
modified: YES
user name: kiosk host name: foundation0.ilt.example.com
process ID: 31820
If this already, delete the swap file ".hello.swp" <<<此文件中存放大是未保存的数据
Swap file ".hello.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
只读打开 继续编辑 恢复数据 删除swap文件 退出 退出
无论按[O] (E) (R) (Q) (A) 任何一个都不会删除.swp文件
那么再次打开hello文件是还会出现以上界面直到按(D),.swp文件被删除,vim恢复正常工作