syntax on
set background=dark
set shiftwidth=2
set tabstop=2
if has("autocmd")
filetype plugin indent on
endif
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set incsearch " Incremental search
首先,如果您使用的机器不止几台,请考虑将您的
~/.vim/
和~/.vimrc
其他有用的配置文件(screen
、您的 shell 等)放在修订控制系统中。我更喜欢使用darcs
- 它在 Debian 系统上很便宜(无需安装 Haskell 编译器,直接安装软件包即可),分布式,并且具有很好的交互模式。如果你知道/喜欢git
,你也可以坚持下去。我当前的配置文件在我的 darcs 存储库中可用,
http://repo.harnir.net/
.~/.vimrc
我关注的一些具体例子。抱歉,没有脚本等的链接,因为我是新用户,但您可以在http://vim.org/
.系统管理员必备的 ViM 脚本
当您编辑远程文件时,备份脚本是必须的。我使用cbackup.vim脚本,它将每个已编辑文件的最后 10 个副本保存在中央目录中,并自动删除旧的 - 只需放入您的
~/.vim/plugins/
目录并忘记它 :-)TaskList让您快速搜索当前文件中的
FIXME
,XXX
和TODO
标签,一键显示并转到标签。如果您使用这些标签,请考虑安装此标签dbext对于所有 DBA 来说都是必不可少的,对于使用数据库的程序员也非常有用。让您运行查询,检查数据库的结构等等。
mysql
它本质上是、sqlite3
等工具的前端sqlplus
。如果您使用数据库,这是必须的!语法文件
我还没有看到很多有用的语法,系统管理员使用的大多数文件都是配置文件
/etc
,它们通常被很好地突出显示。在我的文章~/.vim/syntax/
中,我目前有CSS 颜色的语法,这很棒(对 Web 开发人员也有好处),但其余的写得不是很好,我可能会在空闲时间更新它们。其他值得拥有的语法文件有:dhcpd.conf、/etc/network/ interfaces、nginx配置文件和SpamAssassin的 local.cf。有用的语法提示:如果无法识别配置文件(具有奇怪的名称
/etc/apache2/sites-enabled/some.domain.com
,.conf
如ViM 配置选项
大多数配置选项都非常受欢迎,例如
set nocompatible ruler
等。非常好的选项是:set gdefault
:反转g
模式s///g
- 默认情况下将使用该选项/g
,因此您不需要每次都添加它 - 只需添加它即可将其关闭set incsearch ignorecase smartcase hlsearch
: 搜索文件必不可少 - 增量,实时显示匹配,搜索忽略大小写,除非您使用大写字母set pastetoggle=<F6>
: 或您喜欢的其他键,在paste
和nopaste
模式之间切换,如果您从 ServerFault 之类的网页复制粘贴某些内容,则必须这样做:-)set noerrorbells visualbell t_vb=
:每次做某事时摆脱烦人的铃声或视觉铃声;)功能,键盘映射
将您的用户名和当前日期粘贴到文件中,如果您在团队中工作并在文件中添加关于谁何时更改内容的评论,这很有用。只需写入
xxsig
并按空格,它将更改为harnir 20090531
. 要使此功能与 root 一起正常工作(即写您的用户名而不是root
),您需要使用sudo
.插入注释“行”,例如
# -- Some title -------------------{{{1
,长度为 78 个字符 -\com#
在正常模式下按下即可。您将自动处于替换模式,因此您可以添加标题:您可以轻松地为其他评论系统( 、 等)修改它
"
,//
或者只检查我的配置文件。结束触摸
如果您在 RCS 系统中有您的配置文件,您有时可能希望包含特定于某台机器的配置选项。为此,最好
~/.vimrc.local
在配置结束时自动包含文件(当然,如果它存在的话)。不太确定这其中的哪一部分与系统管理员特别相关,但我的要点是:
我还始终确保机器可以访问nginx 语法高亮文件。
如果您通常在用户处工作,则可以将文件“管道”到 sudo 以便保存。
使用命令:
调用 sudo 并保存文件。
我们的 CTO在 GitHub 上有一个功能齐全的 Vim 配置。
强调:
我发现它非常适合 Ruby 编码,因为我们的系统管理工具是用 Ruby 编写的。
您还可以查看这个 SO 问题:您的 vimrc 中有什么?
无耻的插头。这并不是真正的 .vimrc 更改,而是一个 VIM 插件。我在每个已安装的 VIM 版本上都使用 RCSVers。基本上,它使用 RCS 命令来保存您编辑的任何文件的版本。你不知道我搞砸了多少次配置文件,只是为了让 RCSVers 通过向我展示我所做的更改来拯救我。
http://www.vim.org/scripts/script.php?script_id=563
不要使用 .vimrc 避免学习 VIM
因为我知道很多 VIM 新人都会读到这个,所以我最好的建议是:“不要偷懒,把 map 条目放在你的 .vimrc 中” 在 VIM 中学习非标准的做事方式会让你感觉像当你没有你的 vimrc 时,这是一个完全的 gimp。vi 的学习曲线很陡峭,但选择不学习并没有给自己带来任何好处。
我的答案至少有一部分与我的编程.vimrc 相同:
如果您正在编辑的至少某些文件不在 RCS 中,那么它们应该在!:)
禁用所有“智能”缩进模式。非常适合编程,地狱般的配置文件。
我经常最终使用 strace 来追踪奇怪的问题。结果,尝试用语法高亮显示某些行可能会因大字符串而变得荒谬。在这种情况下,我使用 set synmaxcol=2048 将语法高亮限制为 2048 列。
我也非常喜欢使用丰富标签的 taglist 插件。到目前为止,我已经能够推动编译的 ctags 二进制文件,并且没有遇到任何库问题。这让我可以快速浏览我使用的任何代码。那些通常是 Perl、Python 或 C。