vim 很强大,这个不用多说,下面就直接开撸!这篇东东只是简单说一些简单的使用和技巧,就讲4个内容(帮助,搜索,替换,分屏),都很简单的!
=====================================================================
首先先说说vim 的一些基本知识,vim 有分模式的,
a.Normal mode(普通模式)直接vim FileName 进去之后就是Normal mode,光标可以移动,翻页
b.visual mode(可视模式)按Ctrl+v或者v 就可以进入visual mode了,可以块选(按两次Esc 返回到Normal mode)
c.insert mode(插入模式)按i,o,O,就可以进入insert mode了,就可以编辑file了(按一下Esc 返回到Normal mode)
d.command mode(命令模式)先按Esc,再按:就可以进入命令模式了(按二次Esc 返回到Normal mode,输入完命令按回车就进入Normal mode)
然后再说说配置文件,在linux 下/etc/vim/vimrc(非隐藏文件)==>这个文件对linux 下的所有用户都有效,如果只对当前login用户有效,vim ~/.vimrc 即可!如果不知道你是谁的话,输入whoami 。
=====================================================================
帮助---->Linux 里面必须要学会help yourself
a.Ctrl+]==>跳转到该链接(蓝绿色的就可以跳转),Ctrl+o==>返回上一级,Ctrl+t==>重复该命令的上一个命令(hjkl 上下左右,使用vim,就不要使用键盘上方向键啦!)
b.命令模式下输入:help x ==>查找关于x开头的命令 ; :help number ==>找number 命令的帮助; :help index ==>各个模式下的命令索引 c.各个模式下的命令帮助查找方式如下图(解释一下,不同模式下都有前缀,假如是在visual mode 下,就可以是:help v_u==>在可视模式下把高亮的字母全部变成小写模式,看下面两个图)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@---------------------------------------------------------------------------如果英文看不懂,可能参考这个http://vimcdoc.sourceforge.net/doc/help.html==================================================================搜索,这个功能也经常用,用得好会高效很多,这里只说简单的使用,高级的使用自己搜搜了!
a.搜索用?或者是/ ,?是在当前位置向前搜索,/是在当前位置向后,n是搜索到内容的下一个,N是上一个,也可以设置搜索到的内容高亮,:set hlsearch,:set nohlsearch,不高亮显示搜索到的内容,当然也可以忽略大小写:set ignorecase 或者:set smartcase,准确查找:set noignorecase 可以直接:help / 或者:help ?或者:help f 来获取帮助当然也可以记住下面这个表,方便操作==================================================================替换这个功能也很强大,用得好会直接删除空行和空格会轻而易举的!
a.格式:[range]s[ubstitute]/{pattern}/{string}/[flags] [count],[]==>表示可以没有,{}==>表示必须要有b.分解,[range]表示替换范围,没有表示当前行的第一个,eg:"1,20":从第1行到第20行搜索到当前行的第一个,“.":当前行,“$”:文件尾部,“%”:整个文件,等于"1,$",{pattern}表示需要被替换的内容或者是模式,{string}表示要替换的内容,[flags]表示选项,[count]表示需要替换多少行(从当前行开始算),和range差不多1,3s/time/timeAA/g<==>s/time/timeAA/g3(光标要在第一行,这样这两个替换cmd就一样了),“g”:global,全部,当前行的全部或者范围内的全部,“c":逐一确认,"p":打印最后一个替换所在的行,“i":忽略大小写,"e":不显示错误c.注意:这个格式的的顺序不能错乱,不然解释会错乱,eg:s/time/timeAA/3g(wrong)==>s/time/timeAA/g3d.例子:把time替换成timeAA这里面只是举一个例子了,如果想了解更多,那就只能是:help substitute ==================================================================================分屏:这个功能也是很常用的,尤其是在参考东西的时候
//上下分屏 vim -on file1 file2 //o为小写字母,上下分,n是分屏的个数 或者是:sp file2 //左右分屏 vim -On file1 file2 //O为大写字母,左右分,n是分屏的个数 或者是:vsp file2 //移动光标 ctrl + w k //移动到光标上边的窗口 ctrl + w j //移动到光标下边的窗口 ctrl + w h //移动到光标左边的窗口 ctrl + w l //移动到光标右边的窗口 ctrl + w w //移动到光标下一个窗口 //设置窗口大小 ctrl + w + //增加当前窗口高度(对上下分屏才有用) ctrl + w - //减少当前窗口高度(对上下分屏才有用) ctrl + w > //增加当前窗口宽度(对左右分屏才有用) ctrl + w < //减少当前窗口宽度(对左右分屏才有用) ctrl + w = //前窗口高度(对上下分屏才有用) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 上面这个调整窗口大小的这些命令,如果不想用,可以直接:set mouse=a, 直接拖动就好,改动之后关闭mouse 功能就:set mouse="空格",:help mouse 看看就好了 当然也可以用:[vertical]resize [+|-]N N就是表示多少行,+N就是当前窗口添加N行, -N,就是减N行了,eg:resize +5,当前窗口高度加5行,:vertical resize 90,就是将当前 窗口宽度改成90行,这个用起来也挺方便的啦 //:znr eg:z10r ==>可以关注一下z,z10r 就是表示将当前行到10行显示到另外临时一个窗口上面 //移动分屏 ctrl + w L //将当前窗口移动到右边 ctrl + w H //将当前窗口移动到左边 ctrl + w J //将当前窗口移动到下边 ctrl + w K //将当前窗口移动到上边
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//刚刚上面的那四个命令,用得不太灵。。。有高手的话可以和我说说怎么弄,我一般用下面的命令 ctrl + w r //将当前窗口向右移动一个屏//当然了假如你分屏了很多个,你可以设置buffers 啦,这个功能就是把当前的窗口编辑内容改//成你要的那个,应该这个比较好用的,看下面的图:然后回车之后,输入:buffers 1 或者是:b 1@@@然后在第一个窗口里面就打开第三个文件了//对光标所在的窗口进行上下分屏,这个命令不是对每个终端都有效的,假如输入了不行,并且终端假死了,那就ctrl + q ctrl + w s //对光标所在的窗口进行左右分屏,这个命令不是对每个终端都有效的,假如输入了不行,并且终端假死了,那就ctrl + q ctrl + w v //只保留当前窗口 ctrl + w o or : only//新开一个窗口 ctrl + w n or :new//关闭当前窗口 ctrl + w c /*会显示type quit*/ or :q ctrl + w q /*关闭当前窗口并且如果是最后一个就退出vim @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@这里只是介绍一些基本的使用啦,ctrl +w 这个东西我觉得有些命令不太好用,还不如直接用命令方便,上面的这些窗口操作已经足够使用,ctrl+w # 可以使用下面这个命令查找一下帮助:help ctrl-w