标签存档: vim

gentoo重设crontab默认编辑器

今天在gentoo的机器上运行crontab命令来设置计划任务,结果出现如下错误:

/bin/sh: /bin/nano: 没有那个文件或目录
crontab: "/bin/nano" exited with status 127

原来是gentoo默认的编辑器为nano,虽然安装了vim,但没有把默认编辑器改成vim。网上的教程都是说用select-editor来修改,可gentoo中并没有这个命令,怎么办?其实很简单,方法如下:

eselect editor list

显示如下:

Available targets for the EDITOR variable:
[1]   /usr/bin/ex
[2]   /usr/bin/vi
[ ]   (free form)

设置:

eselect editor set 2

[转]vim多窗口使用技巧

来源:http://blog.csdn.net/devil_2009/article/details/7006113

1、打开多个窗口
打开多个窗口的命令以下几个:
横向切割窗口
:new+窗口名(保存后就是文件名)
:split+窗口名,也可以简写为:sp+窗口名
纵向切割窗口名
:vsplit+窗口名,也可以简写为:vsp+窗口名
2、关闭多窗口
可以用:q!,也可以使用:close,最后一个窗口不能使用close关闭。使用close只是暂时关闭窗口,其内容还在缓存中,只有使用q!、w!或x才能真能退出。
:tabc 关闭当前窗口
:tabo 关闭所有窗口
3、窗口切换
:ctrl+w+j/k,通过j/k可以上下切换,或者:ctrl+w加上下左右键,还可以通过快速双击ctrl+w依次切换窗口。
4、窗口大小调整
纵向调整
:ctrl+w + 纵向扩大(行数增加)
:ctrl+w – 纵向缩小 (行数减少)
:res(ize) num  例如::res 5,显示行数调整为5行
:res(ize)+num 把当前窗口高度增加num行
:res(ize)-num 把当前窗口高度减少num行
横向调整
:vertical res(ize) num 指定当前窗口为num列
:vertical res(ize)+num 把当前窗口增加num列
:vertical res(ize)-num 把当前窗口减少num列
5、给窗口重命名
:f file
6、vi打开多文件
vi a b c
:n 跳至下一个文件,也可以直接指定要跳的文件,如:n c,可以直接跳到c文件
:e# 回到刚才编辑的文件
7、文件浏览
:Ex 开启目录浏览器,可以浏览当前目录下的所有文件,并可以选择
:Sex 水平分割当前窗口,并在一个窗口中开启目录浏览器
:ls 显示当前buffer情况
8、vi与shell切换
:shell 可以在不关闭vi的情况下切换到shell命令行
:exit 从shell回到vi

我的vim学习记录

现在打算多学一学vim操作,以下会记录并不断补充一些实用的vim操作:

1、vim显示行号:

echo "set nu" >> ~/vimrc

2、h、j、k、l和i、a这几个用的最多,今天又学习了几个(注:2012年5月2日):

yy复制整行、p粘贴到下一行、gg是文首、G是文尾、0是行首、$是行尾

3、复制其他文件中的内容:

先保存文件,再输入“:e 其他文件名”,yy或其他方式复制字符,然后Ctrl+^退出,最后p到本文件中

4、增加php补全功能:

下载php_funclist到~/.vim/文件夹中,然后添加如下代码到~/.vimrc

au FileType php call PHPFuncList()
function PHPFuncList()
set dictionary-=~/.vim/php_funclist.txt
set dictionary+=~/.vim/php_funclist.txt
set complete-=k complete+=k
endfunction

使用时输入部分字符后按Ctrl+n/p即可

来源:http://onopc.com/2010/12/30/154.html

5、清空整个文件(2012/05/05)

gg然后dG

6、查找

向下查找是/,向上查找是?,下一个是n
7、vim删除^M(2012/05/09)
vim命令模式下输入下列字符:

:%s/^M$//g

?% 指匹配整个文件,s 是置换的意思,^M 注意要用 Ctrl + V Ctrl + M 来输入,M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。