sysadmins .vimrcのエントリに関する提案


21

少なくとも、/ etc / vim / vimrcの「syntax on」は常にコメント解除します。


常に可能に構文持つ、用心悪いあなたは、多くの場合、大きなファイルを編集する場合のアイデアを。大きなファイル(数十または数百MB)では、構文の強調表示により、vimがCPUを大量に消費するため、数秒間にわたって責任を負わなくなることがあります。巨大なXMLファイルを編集してみてください...もちろん、いつでも:syn offを実行できます(vimが回復したら...)。
sleske

回答:


4

CTOのGitHubには、機能が豊富なVim設定があります

ハイライト:

  • 構文の強調表示、2スペースのタブストップ、展開されたタブ。
  • NERDtree、TextMateのプロジェクトドロワーに似たファイルツリービュー。
  • FuzzyFileFinder、TextMateのcmd-T機能を実行するプラグイン。
  • 素敵なテーマ(トワイライト)がデフォルトである多くのカラーテーマ。

私たちのシステム管理ツールはRubyで書かれているため、Rubyのコーディングには最適だと思います。


これらの多くを試したばかりで、リストしたvimの設定でさらに調査する必要がありますが、適切なデフォルト設定と便利な機能に対する私の期待に合っています。コミュニティwikiでどのように「回答済み」として投票できるかわかりませんが、とにかく。ありがとう!
ガレス

17

まず、あなたはより多くのあなたがで作業カップルのマシンよりも持っている場合は、あなたを置くことを検討~/.vim/~/.vimrcおよび他の有用な設定ファイル(screenリビジョン管理システムでは、シェル、など)。使用するdarcsことを好みます-Debianシステムでは安価で(Haskellコンパイラをインストールする必要はなく、パッケージを直接インストールするだけです)、配布され、優れたインタラクティブモードを備えています。あなたが知っている/好きならgit、あなたもそれに固執することができます。

現在の構成ファイルは、darcsリポジトリーで入手できますhttp://repo.harnir.net/。私の~/.vimrcフォローからいくつかの特定の例。申し訳ありませんが、スクリプトなどへのリンクはありません。私は新しいユーザーですが、で見つけることができるすべてのものですhttp://vim.org/

システム管理者向けの基本的なViMスクリプト

  • リモートファイルを編集する場合、バックアップスクリプトは必須です。I使用cbackup.vim自動的に中央ディレクトリ内の各編集されたファイルの最後の10のコピーを保持し、スクリプトは、古いものを削除します-ちょうどあなたの中に入れ~/.vim/plugins/たディレクトリとそれを忘れ:-)

  • TaskListを使用するとFIXME、キーを1回押すだけで、現在のファイル内の、XXXおよびTODOタグをすばやく検索して表示し、タグに移動できます。これらのタグを使用する場合は、このタグをインストールすることを検討してください

  • dbextはすべてのDBAにとって不可欠であり、データベースを扱うプログラマーにとっても非常に便利です。クエリを実行し、データベースの構造などを確認しましょう。それは本質的のようなツールのためのフロントエンドでmysqlsqlite3sqlplus、その他。データベースを使用する場合、必須です!

構文ファイル

野生では多くの便利な構文を見たことはありません。システム管理者が扱うほとんどのファイルは設定ファイルで/etcあり、通常かなり強調表示されています。私~/.vim/syntax/は現在、CSSカラーの構文を持っていますが、これは素晴らしい(Web開発者にとっても良い)ですが、残りはあまり書かれていません。おそらく空いた時間に更新するでしょう。追加の構文ファイルは、dhcpd.conf、/ etc / network / interfacesnginx構成ファイル、およびSpamAssassinのlocal.cf用です。

構文に関する便利なヒント:構成ファイルが認識されない場合(のような奇妙な名前を持っている場合、名前に/etc/apache2/sites-enabled/some.domain.com正しい拡張子を追加する(この場合.conf)か、末尾にViMモードラインを追加することができます):

#vim:filetype = apache

ViM構成オプション

設定オプションのほとんどは、set nocompatible rulerなどのように非常に人気があります。非常に良いオプションは次のとおりです。

  • set gdefaultgモードを反転しますs///g-そのオプション/gはデフォルトで使用されるため、毎回追加する必要はありません-単に追加してオフにします

  • set incsearch ignorecase smartcase hlsearch:ファイルの検索に不可欠-増分、リアルタイムで一致を表示、大文字を使用しない限り検索は大文字と小文字を区別しない

  • set pastetoggle=<F6>:またはあなたが好む他のキーpastenopasteモードとモードを切り替えます。ServerFaultのようなWebページから何かをコピー&ペーストする場合は必須です:-)

  • 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> <ホーム> 4 <右> R <スペース>
    

あなたは簡単に他のコメントシステム(のためにそれを修正することができ"//など)、またはちょうど私の設定ファイルを確認してください。

エンディングタッチ

RCSシステムに構成ファイルがある場合、特定のマシンに固有の構成オプションを含めることができます。そのために~/.vimrc.localは、設定の最後に自動的に含まれるファイルがあると便利です(もちろん存在する場合)。

ファイルが読める場合(expand( "〜/ .vimrc.local"))
        ソース〜/ .vimrc.local
エンディフ

最後のヒント-良いかもしれませんが-NFSマウントされたホームディレクトリがある場合は機能しません。どのマシンを使用していても、ホームディレクトリは同じです。また、そのヒントは「〜」の定義に依存していることに注意してください-一部のシェルはその短縮表記をサポートしていません。
メイ

システム管理者として、おそらく「root」アカウントのサーバーで作業します。これはローカルであり、NFSを介してマウントされてはなりません。この場合、/ root / .vimrc.localは正常に動作するはずです。
drybjed 2009年

6

これのどの部分が特にsysadminに関連するのかは確かではありませんが、私の本質は次のとおりです

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構文強調表示ファイルにアクセスできるようにします


.vimrcに関連する具体的な「プログラミング」とは何かを区別するために、そのように言いました。質問を変更する必要がありますか?
ガレス

Nahはそのままにしておきます。システム管理者に関連するものを持っている人がいると思いますが、私だけではありません。
アダムギビンズ

一般的にこれに同意します...しかし、タブは8スペースです。それ以外は、vimとless / tail / catで動作が異なります。しかし、それらの宗教的なものの一つかもしれません。
アレクサンドル・カーメル=ヴュー

4

通常、ユーザーで作業している場合は、ファイルをsudoに「パイプ」して保存できるようにします。

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

次のコマンドを使用します。

:w!!

sudoを呼び出してファイルを保存します。


面白い。tee代わりに使用するのはなぜcatですか?
デビッドシュミット

1
catはファイルに何も書き込みません。stdoutに書き込むだけです。
クリスジェスターヤング

cat->%同様に動作します。
オルレ


2

ハレンチプラグ。これは実際には.vimrcの変更ではなく、VIMプラグインです。VIMのすべてのインストール済みバージョンでRCSVersを使用しています。基本的に、RCSコマンドを使用して、編集したファイルのバージョンを保存します。RCSVersが私に行った変更を見せて私を救うためだけに設定ファイルを台無しにした回数はわかりません。

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


2

VIMの学習を避けるために.vimrcを使用しないでください

多くのVIMの新規参入者がこれを読むことを知っているので、私が持っている最良の提案は、「怠けたり、.vimrcにマップエントリを置いたりしない」ということです。あなたがvimrcなしでいるときの総ギンプ。viの学習曲線は急ですが、学習しないことを選択することで自分自身に恩恵を与えているわけではありません。


1
Vimには便利な機能があります。なぜそれを使用しないのですか?viに切り替える必要がある場合、それは一時的なものです。vimがインストールされていない場所で頻繁に作業する必要があると思われる場合は、インストールする価値があります。
リュックM

0

私の答えの少なくとも一部は、私のプログラミング.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

私はしばしば奇妙な問題を追跡するためにstraceを使うことになります。結果として、いくつかの行を構文強調表示しようとすると、大きな文字列文字列でばかげていることがあります。この場合、set synmaxcol = 2048を使用して、構文の強調表示を2048列に制限します。

私は熱狂的なタグを使用するタグリストプラグインのファンでもあります。これまでのところ、コンパイル済みのctagsバイナリをあちこちにプッシュすることができましたが、ライブラリの問題は発生していません。これにより、作業中のコード間をすばやく移動できます。一般的には、Perl、Python、またはCです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.