首页 > 技术文章 > vim

dazzleC 2019-03-20 18:03 原文

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下录制宏https://blog.csdn.net/immeatea_aun/article/details/78678887

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中复制直接鼠标覆盖就是复制,鼠标中键就是粘贴(在光标位置)

 

推荐阅读