写在一起之前: 命令行输入 vimtutor 你会有惊喜, 全部做完,恭喜你,入门了!!!!!!!!!
主要内容:
vim主要模式介绍
vim命令模式
vim插(输)入模式
vim命令(末)行模式
设置vim开发环境
主要模式
vim 主要有 命令模式 插(输)入模式 命令(末)行模式 三种模式, 意义和转换如下图:
命令模式
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
字符操作
i当前字符之前插入I行首插入a当前字符之后插入A行尾插入esc退出当前模式o下一行插入O上一行插入x向后删除一个字符delX向前删除一个字符u撤销一步
定位
gg定位到行首G定位到最后一行,行首nG定位到某一行:n定位到某一行ngg定位到某一行
n 代表行号
行操作
home键或^行首end或$行尾dd删除一行ndd删除以当前行开始的n行ddp上下两行的内容互换dG删除从当前行至文件未尾的所有行。yy复制一行Nyy复制N行p将复制行粘贴 P上粘- 扩展:剪切=先删除,再粘贴
d + HOME 或^删除到行首d + END 或$删除到行尾
词操作
dw删除一个词,删除时要将光标移动到这个词的行首。 另外,如果光标不在行首,则删除光标之后的字母。yw复制一个词w切换单词
块操作
大D 或d+$删至行尾d+^删至行首y+$复制至尾y+^复制至首"+y复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用 +需要显式输入。 :reg 可查看支付支持+寄存器
v 模式
进入v模式 移动光标选择区域、
编程的时候需要进行多行注释:
1、注释:ctrl+v 进入列编辑模式
2向下或向上移动光标
3把需要注释的行的开头标记起来
4然后按大写的I
5再插入注释符,比如”#”。
6再按Esc,就会全部注释了。
删除多行注释:
删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标 ;选中注释部分,然后按d, 就会删除注释符号。
输入模式
字符就是字符本身,用来编辑内容
命令(末)行模式
保存退出
:w保存 save:q没有进行任何修改,退出 quit:q!修改了,不保存,强制退出:wq保存并退出:wq!强制保存并退出。替换
:%s /this/that#每一行的第一个this被替换成that:s /emacs/vim#在当前行中把第一个emacs替换成vim。:%s /this/that/g#将文本中所有的this替换成that:2,5s /this/that/g#替换第二行到第五行中sbin
注意:替换内容中本身有/符号, 外面的/可以用#替换。 比如 :%s #this#that#g:set nu/nonu#显示行号查找
/正向查找 :/targetn往下查找,N往上查找
去消高亮显示: noh 或 随便查找一组没有的字符:! command运行shell命令:r /etc/ssh/sshd_config.bak读取其他文件
设置vim开发环境
在命令模式下用set命令设置的东西是不能保存的,下次打开vim时又要重新设置。所以vim提供了一个配置文件叫vimrc,可以保存你的配置信息。
~/.vimrc
输入:set nu #显示行数set history=10 #set autoindent #自动缩排,如当前行是从第3个字符的位置开始编辑的,按回车后光标会自动定位在下一行第三3个字符的位置。set paste #置粘贴模式,这样粘贴过来的程序代码就不会错位了。
等等
vim同时打开多个文件
用法: vim -[o/O] filename
大写 O 左右分屏,小写的 o 上下分屏, ctrl+WW 在文件之间进行切换