vim
1.三种模式:
命令模式(输入vim命令进入)
插入模式(命令模式下按i进入)
退出模式(插入模式下按esc进入退出模式)
:q ##退出,在文件内容没有被改变时使用
:wq ##退出保存
:q! ##强制退出不保存,在改变文件后不想保存时使用
:wq! ##强制退出保存 在对只读文件编写时使用
2.vim 的用法信息
(1)工作模式
(a临时配置vim的工作模式(命令模式下设置)
:set nu ##显示行号
:set nonu ##取消行号
:set mouse=a ##设定鼠标可用
:set cursorline ##设定行线
(b永久设置vim的工作模式
vim /etc/vimrc
vim的配置文件(在后写入)
:set nu ##显示行号
:set nonu ##取消行号
:set mouse=a ##设定鼠标可用
:set cursorline ##设定行线
(2)字符搜索
/关键字
:
n向下匹配
N向上匹配
(3)字符管理
y:复制(未进入插入模式)
yl ##复制一个字母
y4l ##复制四个字母
yw ##复制一个单词
y2w ##复制两个单词
yy ##复制一行
y2y ##复制两行
d:删除(未进入插入模式)
dl ##删除一个字母
d3l ##删除三个字母
dw ##删除一个单词
d2w ##删除两个单词
dd ##删除一行
d2d ##删除两行
c:剪切(进入到插入模式)剪切后时需要推出插入模式进入命令模式按p粘贴
cl ##剪切一个字母
cw ##剪切一个单词
cc ##剪切一行
通用命令
p ##粘贴
u ##撤销
ctrl+r ##恢复撤销
复制单个单词
复制整行
删除整行
剪切一整行
(4)vim可视化模式
ctrl+v ##在这个模式下可以选择(上下键选择)区域进行操作
批量添加字符
(1)ctrl + v选中要加入字符所在的列
(2)按大写的I
(3)加入字符
(4)按[esc]
(5)字符替换
:%s/要替换的字符/替换成的字符/g
举例 :%s/hello/hi/g ##替换全文的hello为hi
举例 :1,5s/:/@/g ##替换1-5行的:为@
注意:
%s标示所有的行
g标示所有的列(即全部)
只加%s更改行
加%s和g更改行和列
(6)vim的分屏功能
:sp file2 ##同时编辑当前文件和file2
ctrl+w+上下左右键 ##光标移动到指定屏幕
ctrl+w s ##上下分屏
ctrl+w v ##左右分屏
ctrl+w c ##关闭光标所在屏幕
注意:空格标识先按前边的ctrl+w,放掉之后再按c
(7)在命令模式下移动光标
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后
数字 ##光标移动到指定行
当前行
按下gg
按下G
在插入模式下移动光标(命令模式下按键进入)
i ##光标所在位置插入
I ##光标所在行行首插入
o ##光标所在行下一行插入
O ##光标所在行上一行插入
a ##光标所在字符的下一个字符插入
A ##光标所在行行尾插入
s ##光标所在字符删除并插入
S ##光标所在行删除并插入
光标当前位置
按下a后
按下A后
按下o后
移动到第三行然后按下S后
3.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恢复正常工作