vim编辑文件时会在同一个目录生成一个.swap的隐藏文件(先将内容写进这个隐藏文件)
如果不是正常退出的话这个隐藏文件是不会消失的,并且推出之前编辑的内容是在这个隐藏文件里的
如果删除了这个隐藏文件,那么原文件就不会保留之前的编辑
vim -o file1 file2 以标签页形式打开多个文件
命令行模式
yy表示复制当前光标所在行
nyy表示n 为数字,复制光标所在的向下 n 行,例如 20yy 则是复制 20 行
ndd表示n 为数字。剪贴光标所在的向下 n 行,例如 20dd 则是剪贴 20 行,可用作删除
dd表示剪贴光标当前所在的行,可作删除
p粘贴上次复制的内容
gg表示到第一行行首
shift+g表示到最后一行行首
u表示撤销,rhel7.3中可以无限u
w表示跳过光标后的一个单词
q表示vim下录制宏
x表示删除光标处的字符,类似del键
X表示删除光标前的字符,类似退格键
(未完)
insert模式
o在光标所在的行下面空出一行并且进入insert模式
shift+o在光标所在行上面空出一行并且进入insert模式
i在光标处进入insert模式
I在光标所在行行首进入insert模式
(未完)
末行模式
:q直接退出
:q!强制退出
:wq保存退出
:wq!强制保存退出
:r [file]读取一个文件中的内容并复制到光标所在位置
:r! [command]执行命令并且将结果复制到光标所在位置
:[:digit:]将光标跳转到[:digit:]行
:X为当前文件设置密码,以后如果访问文件密码错误就会显示乱码,正确就会显示文件内容
有密码时再:X表示取消密码
/xxx表示在文档中光标下的内容搜索xxx并且高亮显示,n表示将光标移动到下一个搜索结果,shift+n表示将光标移动到上一个搜索结果
?xxx表示在文档中光标上的内容搜索xxx并且显示高亮
:noh取消[搜索]高亮
:s/被替换内容/替换内容/g表示替换文档中的内容
:1,10s/被替换内容/替换内容/g将文档中1-10号里的内容做替换
:%s/被替换内容/替换内容/g替换文档中所有符合的内容
:set number或者:set nu显示文档行号
:set nonumber或者:set nonu取消显示行号
:! [command]表示暂时离开 vim 到指令行模式下执行 command 的显示结果
(未完)
可视块模式
按住ctrl+v进入
可以进行批量操作
例如
加注释
- 光标置于行首 - ctrl + v,进入可视块模式 - 移动光标,选中的位置会有高亮显示 - shift + i,进入 insert 模式 - 输入¥- esc 解注释 - 光标置于行首 - ctrl + v,进入可视块模式 - 移动光标,选中的位置会有高亮显示 - 按d修改vim的配置文件/etc/vimrc可以让vim开始执行文件时默认做一些动作(例如显示行号)
linux中复制直接鼠标覆盖就是复制,鼠标中键就是粘贴(在光标位置)