1. vim进入编辑模式
i 进入编辑模式,光标不会移动,在当前字符的前面插入
a 进入编辑模式,光标不会移动,在当前字符的后面插入
shift a 光标会跳到行尾,在行尾的位置进行插入
shift i 光标会跳到行首,在行首的位置进行插入
o
从光标所在的下面一行开始写
shift o 从光标所在的上面一行开始写
2. vim命令模式
1. 搜索
/ + 关键字 可以查找关键字,并且高亮显示
n 向下查找
shift n 向上查找
? + 关键字 也可以查找,用法和反斜杠是一样的
2.指定行替换
:1,90s/loging/luole/g
1,90 表示1到90行
s 表示替换
/logging/luole/ 表示将logging替换为luole
g 表示全局替换,如果不加g,那么一行如果有两个logging,只会替换前面一个
3.全部替换
:1.$s/logging/luole/g
$表示全部,表示1到最后一行,把第一行到最后一行的loging替换为luole
4.如果替换中出现特殊符号,那么使用脱义符
:1,$s/\/var\/log/luole/g #替换的字符中有"/",那么需要使用"\"进行脱义
:1,$s#/var/log#luole#g #使用"#"代替"/"也可以
将1到末尾的/var/log全部替换为luole,\表示脱译,
也可以这样:1,$s#/var/log#luole#g ,同样用@也可以
5. :wq 保存退出
:wq! 强制保存退出
:q! 不保存强制退出
:set nu 显示行号
:set nonu 不显示行号
:nohl 取消高亮显示
:x x
命令和wq是一样的,但是如果文件只是打开了,没有做任何操作,wq保存退出的话会更改mtime,x则不会更改
6. vim给文件加密与解密
1.加密:
:X 大写的X给文件加密,回车后输入密码即可,再重新打开就需要密码,使用cat或者more等命令查看文件的时候会显示乱码
2.解密:
vim命令模式下输入X回车,输入密码的时候设置为空即可解密
或者输入:set key= 回车也可以解密
7.客户端putty, xshell连接linux中vim的小键盘问题
在putty上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键)。解决方法:
putty:选项Terminal->Features里,找到Disable application keypad mode,选上就可以了
Xshell:修改session 属性 -> 终端->VT模式->初始数字键盘模式>
选择 设置为普通。
8.vim 粘贴代码自动缩进解决方法
用vim打开一个空白文档,然后把已经复制的代码给粘贴进来,发现它有自动缩进功能,最终导致粘贴的文本一行比一行靠右,看起来乱成一团。比较快的解决办法是,在粘贴文档前,在命令行模式下,输入
:set noai nos
然后按'i' 进入编辑模式,再粘贴已经复制的代码内容,这样就不会自动缩进了。
有时候,这样的方法不好用,可以尝试这种:
:set paste