好久不写博客了,距离上一篇差不多快一年了,这可真不是个好现象。
这两天闲一点,继续写起来。
今天来写一点自己在运用vi&&vim过程中的经验和体会,以下的内容基本都是本人实际使用过的。今后如果用到了什么新鲜玩意儿,再加进来。
写的比较简单,都是追求自己能看懂就行,奉行拿来主义的恐怕要实际操作和查资料才能明白了。
基本操作:(简单列举下,不多说了)
w、q、wq、q!、w!,
i、d
insert、delete、Backspace、pageup、pagedown、home、end、tab等等键盘上的几个键,用法不多说了。
g,文档开头
G,文档结尾
查找:
/,单斜杠,查找
n,下一个
N,或者是ctrl+n,上一个
撤销与恢复:
u,撤销这一步操作,多按几次就多撤几步,哈哈哈。
Ctrl + r, 撤销之撤销,也可以说是恢复吧,按u之后,再按这个Ctrl + r 可以抵消u的效果。
恩,我也只能解释这么多了,懂的自然懂。
替换:(我个人一般不倾向于用全局的替换,一般都是一个个的找出来替换掉,防止替换了什么不该换的东西)
用/查找到某一行或者光标放在某一行,然后输入
:s/${old}/${new} 这里解释一下${old}代表准备被替换的字符串,${new}代表用来替换的字符串
这条命令的作用只是替换当前行的首个目标字符串。替换本行全部目标字符串,需要用:s/${old}/${new}/g,我猜这个g应该是global的意思。
实际上这条命令还能实现删除指定字符的功能,只要把${new}设为空就好。
多选:
v,可以选中一行中的多个字符串或者整行,或者多行,甚至全文。
然后可以进行删除或者格式化的操作。
如果不是删除或者格式化的操作,而是按下了y, 那么选中的这段,可以粘贴在同一个编辑器的别的地方,记住,是同一个编辑器。
Ctrl + v,多选列,选中多个列然后下拉,可以对选中区域删除或修改。
删除:
d,删除整行,或者在v模式下删除整段。
也可以输入一个数字,然后按下dd删除多行,比如3,然后dd,删除本行在内的以下三行。
删除一列或多列:
其实还是多选的问题,还是要用到v这个命令,不过应该是Ctrl + v,
Ctrl v之后移动光标,选中要删除的几行几列,按x或者d都可以删除掉。
格式化代码:
我一般就是v,选中几行,然后按等号键=,当然,这是格式化某一段。
那格式化整篇代码怎么办呢,其实还是差不多啊。
按g回到页首,v进入visual模式,G(其实就是shift + g)到页尾,然后等号=搞定,
但是有个前提是你把vim的配置文件设置好缩进,后面会说这个设置文件。
代码比对:
vimdiff
命令模式下: vert diffsplit [filepath]
vim查看二进制文件:
vim -b ${filename} 打开文件,-b表示打开binary文件
:%!xxd xxd是binary转16位,%和!表示什么不是太清楚,%好像是表示当前路径,待考证。
vim显示行号:
:set number
或 set nu
取消显示行号:
:set nonumber
或 set nonu
其实set这个命令有很多功能呢,目前用到最多就是个显示行号,哈哈。
下面重头戏来了,vim的配置文件。
我在ls的时候总是习惯性的ls -a显示隐藏文件,哈哈哈,吐个槽。
言归正传:
cd /etc/vim/ 然后
vim vimrc 打开配置文件vimrc,这时候会显示一个有很多注释的配置文件
我们这时只需在文件下面加几行:
set tabstop=4 设置制表符宽度,tab、4个空格
-----------------------------
set expandtab 设置4空格替换tab
set noexpandtab 设置tab替换空格 这地方是个坑,不写这一句,tab键下去还是8个空格?我也不太确定
-----------------------------
set softtabstop=4 设置制表符宽度
set shiftwidth=4 设置缩进宽度,4个空格
set smartindent 设置智能缩进
set cindent 设置c/c++方式缩进
set nu 设置显示行号
set hlsearch 设置显示高亮
嗯,这么些差不多够用了,今后有什么再加吧。
2017,9,14补充:
vimdiff经常会将相同的部分折叠起来,
打开指定折叠: zo
收回已打开的折叠:zc
打开所有折叠:zr