AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 5647
Accepted

        Gareth
Gareth
Asked: 2009-05-07 22:51:02 +0800 CST2009-05-07 22:51:02 +0800 CST 2009-05-07 22:51:02 +0800 CST

系统管理员 .vimrc 中的条目建议

  • 772
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

至少我总是在 /etc/vim/vimrc 中取消注释“syntax on”

linux vim command-line-interface dotfiles vimrc
  • 10 10 个回答
  • 3275 Views

10 个回答

  • Voted
  1. drybjed
    2009-06-01T01:31:01+08:002009-06-01T01:31:01+08:00

    首先,如果您使用的机器不止几台,请考虑将您的~/.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:filetype=apache
    

    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.

      iabbrev xxsig <Esc>:r ![ -n "$SUDO_USER" ] && echo "$SUDO_USER `date '+\%Y\%m\%d'`" \|\| echo "$USER `date '+\%Y\%m\%d'`"<CR>I<BS><Esc>A
      
    • 插入注释“行”,例如# -- Some title -------------------{{{1,长度为 78 个字符 -\com#在正常模式下按下即可。您将自动处于替换模式,因此您可以添加标题:

      nmap \com# O# <Esc>72A-<Esc>3A{<Esc>A1<Esc><Home>4<Right>R<Space>
      

    您可以轻松地为其他评论系统( 、 等)修改它",//或者只检查我的配置文件。

    结束触摸

    如果您在 RCS 系统中有您的配置文件,您有时可能希望包含特定于某台机器的配置选项。为此,最好~/.vimrc.local在配置结束时自动包含文件(当然,如果它存在的话)。

    如果文件可读(展开(“~/.vimrc.local”))
            源 ~/.vimrc.local
    万一
    
    • 17
  2. Adam Gibbins
    2009-05-07T22:59:47+08:002009-05-07T22:59:47+08:00

    不太确定这其中的哪一部分与系统管理员特别相关,但我的要点是:

    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
    

    我还始终确保机器可以访问nginx 语法高亮文件。

    • 6
  3. quentin
    2009-05-07T23:06:01+08:002009-05-07T23:06:01+08:00

    如果您通常在用户处工作,则可以将文件“管道”到 sudo 以便保存。

    cmap w!! %!sudo tee > /dev/null %
    

    使用命令:

    :w!!
    

    调用 sudo 并保存文件。

    • 4
  4. Best Answer
    jtimberman
    2009-06-05T13:59:13+08:002009-06-05T13:59:13+08:00

    我们的 CTO在 GitHub 上有一个功能齐全的 Vim 配置。

    强调:

    • 语法高亮、2 个空格制表位、扩展制表符。
    • NERDtree,类似于 TextMate 的项目抽屉的文件树视图。
    • FuzzyFileFinder,用于执行 TextMate 的 cmd-T 功能的插件。
    • 很多颜色主题都有一个不错的(暮光之城)默认值。

    我发现它非常适合 Ruby 编码,因为我们的系统管理工具是用 Ruby 编写的。

    • 4
  5. p.campbell
    2009-05-08T04:26:46+08:002009-05-08T04:26:46+08:00

    您还可以查看这个 SO 问题:您的 vimrc 中有什么?

    • 3
  6. JD Frias
    2009-06-05T12:01:27+08:002009-06-05T12:01:27+08:00

    无耻的插头。这并不是真正的 .vimrc 更改,而是一个 VIM 插件。我在每个已安装的 VIM 版本上都使用 RCSVers。基本上,它使用 RCS 命令来保存您编辑的任何文件的版本。你不知道我搞砸了多少次配置文件,只是为了让 RCSVers 通过向我展示我所做的更改来拯救我。

    http://www.vim.org/scripts/script.php?script_id=563

    • 2
  7. Bruno Bronosky
    2009-06-11T10:00:25+08:002009-06-11T10:00:25+08:00

    不要使用 .vimrc 避免学习 VIM

    因为我知道很多 VIM 新人都会读到这个,所以我最好的建议是:“不要偷懒,把 map 条目放在你的 .vimrc 中” 在 VIM 中学习非标准的做事方式会让你感觉像当你没有你的 vimrc 时,这是一个完全的 gimp。vi 的学习曲线很陡峭,但选择不学习并没有给自己带来任何好处。

    • 2
  8. MikeyB
    2009-05-20T20:58:07+08:002009-05-20T20:58:07+08:00

    我的答案至少有一部分与我的编程.vimrc 相同:

    set hidden
    map <TAB> :e#<CR>
    
    map <F7> :set paste!<CR>
    map <F8> :set hlsearch!<CR>
    map <F9> :!co -l %<CR>:e<CR>
    map <F10> :!rcsdiff %<CR>
    map <F11> :!ci -u %<CR>:e<CR>
    

    如果您正在编辑的至少某些文件不在 RCS 中,那么它们应该在!:)

    • 0
  9. Alexandre Carmel-Veille
    2009-06-05T13:31:35+08:002009-06-05T13:31:35+08:00

    禁用所有“智能”缩进模式。非常适合编程,地狱般的配置文件。

    • 0
  10. jwp
    2011-06-04T21:16:29+08:002011-06-04T21:16:29+08:00

    我经常最终使用 strace 来追踪奇怪的问题。结果,尝试用语法高亮显示某些行可能会因大字符串而变得荒谬。在这种情况下,我使用 set synmaxcol=2048 将语法高亮限制为 2048 列。

    我也非常喜欢使用丰富标签的 taglist 插件。到目前为止,我已经能够推动编译的 ctags 二进制文件,并且没有遇到任何库问题。这让我可以快速浏览我使用的任何代码。那些通常是 Perl、Python 或 C。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve