rootdream 2017-05-13
维护linux服务器的时候,大部分时间都在安装服务器端的各种软件,依赖库,部署代码,导入mysql数据、备份mysql数据等等。无论做什么,都需要修改配置文件,而linux是命令行操作,几乎所有修改配置的操作都是去修改一个文本文件。这时候,linux上的最强大编辑器,vim就发挥它的作用了。
vim [文件的路径]
文件的路径可以为相对路径或绝对路径,而且放在中括弧里说明可以不填写文件。i 光标位置进入插入模式。
I 光标跳到行头进入插入模式。(相当于Home键,再i)
a 光标位置后一格进入插入模式。
A 光标跳到行尾进入插入模式。(相当于End键,再i)。
o 光标所处行往下新建一行进入插入模式。(相当于End键,再i,再回车)。
O 光标所处行往上新建一行进入插入模式。(相当于Home键,再i,再回车,再按向上键)。
2、复制粘贴很方便正常模式下:
yy 复制当前行
p 粘贴剪贴板内容到当前位置,如果用yy复制的,则从下一行开始插入内容(试试就知道了)。
N yy 复制N行,N是一个数字,你用数字键输入多少都行。
按v进入可视模式后,用上下左右键等进行选择,然后按y,可以复制内容,按x可以剪切内容。这时候复制的内容,一定要新建一行再粘贴!
dd 剪切当前行
N dd 剪切当前行往下的N行
任何模式下:
鼠标选则任何位置,按ctr+shift+c可以复制,ctr+shift+v可以粘贴,这里注意,在linux中,在vim中才需要加shift键,其它地方,跟windows一样,ctr+c,ctr+v,ctr+x,ctr+z,ctr+y都可以用。
在SecureCRT中,鼠标选择就是复制了,点右键可以粘贴(注意,这个不是vim的功能!!!)
3、移动光标方法:上下左右分别是:kjhl,用一用就知道,这个按键是很合理的。
gg 光标跑到第一行的行首,即整个文件最开头位置。
G 光标跑到最后一行的行首。
ctr+d 往后翻半屏。
ctr+u 往前翻半屏。
ctr+f 往下翻一屏
ctr+b 往上翻一屏(光标可能跑不到行首,所以我总是用ctr+d/u来翻页)。
30% 让光标翻到30%的位置。
:30 输入“:”会让编辑器进入命令模式,输入“:30”则会让光标定位到第30行行首。
zt 让当前行放到屏幕顶端(方便查看代码)
zb 让当前行放到屏幕底部(方便查看代码)
4、命令行的一些操作::set paste 进入不格式化的粘贴模式,否则你粘贴代码遇到注释会有问题,而且缩进会被打乱
:set nopaste 粘贴会格式化。当然如果这样粘贴后代码乱了,但没有造成正常代码也被注释的话,可以用v进入可视模式,选中代码区域,按等号“=”将代码格式化好。
:%s/str1/str2/g 替换每一行的 str1为 str2
:10,20s/str1/str2/g 替换从行10到行20之间的 str1为 str2
:10,$s/str1/str2/g 替换从行10到最后一行之间的 str1为 str2
:s/str1/str2/g 替换当前行的 str1为 str2
. 重复执行命令
5、注意:ctr+z 会造成vim暂停,回到命令行模式,这时候只要输入fg回车,就返回到vim了。
6、代码缩进:v进入可视模式后,选中代码,输入“>”可以将所选代码所在行往右缩进一个Tab的距离(插入的是tab还是4个空格根据vimrc设置而定)。输入“<”则相反,让代码往前缩进最多一个Tab的距离,也就是说,如果代码离行首只差4个一下的空白时,就会缩进到头了。
v进入可视化模式后,输入“=”可以格式化代码,相当好用!
" \ \ / /_ | / | _ \ / | / / _ | \ | | | / |. " \ \ / / | || |/| | |) | | | | | | | | | | | | | | _.