:w !sudo tee %
这题目读起来纠结,其实是很常见的,常常忘记了sudo 就直接用vim 编辑/etc 内的文件,(不过也不一定,vim 发现保存的文件无法保存时候会提示)等编辑好了,保存时候才发现没权限。曲线方法是先保存个临时文件,退出后再sudo cp 回去。不过实际上在vim 里面可以直接完成这个过程的,命令就是如此。
查阅vim 的文档(输入:help :w),会提到命令:w!{cmd},让vim 执行一个外部命令{cmd},然后把当前缓冲区的内容从stdin 传入。
tee 是一个把stdin 保存到文件的小工具。而%,是vim 当中一个只读寄存器的名字,总保存着当前编辑文件的文件路径。
所以执行这个命令,就相当于从vim 外部修
改了当前编辑的文件,好完工。
分窗口打开文件
vim -o file file2 垂直分屏打开两个文件
vim file 打开file
:split 分屏查看
:e file3 选中屏打开file3
vim查找文件
vim file
:vim /test/ ./**/*.txt 会搜当前目录下 所有是 txt 结尾的文件包含 test 这个单词 的文件 包括其子目录