少なくとも、私は常に/ etc/vim/vimrcの「構文オン」のコメントを解除します
私たちのCTOにはかなりの機能があります GitHubのVim構成 。
ハイライト:
私たちのシステム管理ツールはRubyで書かれているので、Rubyコーディングに最適だと思います。
まず、使用するマシンが2台以上ある場合は、~/.vim/
、~/.vimrc
、およびその他の便利な構成ファイル(screen
、シェルなど)をリビジョンに入れることを検討してください。制御システム。私はdarcs
を使用することを好みます-Debianシステムでは安価で(Haskellコンパイラをインストールする必要はなく、パッケージを直接インストールするだけです)、分散されており、優れたインタラクティブモードを備えています。 git
を知っている/好きなら、それを続けることもできます。
私の現在の設定ファイルは、私のdarcsリポジトリhttp://repo.harnir.net/
で入手できます。私の~/.vimrc
からのいくつかの特定の例を以下に示します。申し訳ありませんが、私は新しいユーザーなので、スクリプトなどへのリンクはありませんが、http://vim.org/
で見つけることができます。
リモートファイルを編集するときは、バックアップスクリプトが必須です。私はcbackup.vimスクリプトを使用します。このスクリプトは、編集された各ファイルの最後の10コピーを中央ディレクトリに保持し、古いファイルを自動的に削除します-~/.vim/plugins/
ディレクトリに配置するだけで、忘れてしまいます:-)
TaskListを使用すると、現在のファイルでFIXME
、XXX
、およびTODO
タグをすばやく検索して表示し、キーを1回押すだけでタグに移動できます。これらのタグを使用する場合は、これをインストールすることを検討してください
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モードラインを追加できます。それの終わりに:
#vim:filetype = Apache
set nocompatible ruler
など、ほとんどの構成オプションは非常に人気があります。非常に優れたオプションは次のとおりです。
set gdefault
:s///g
のg
モードを逆にします-そのオプションを使用すると、デフォルトで/g
が使用されるため、毎回追加する必要はありません-追加するだけですそれをオフにする
set incsearch ignorecase smartcase hlsearch
:ファイルの検索に不可欠-インクリメンタル、リアルタイムで一致を表示、大文字を使用しない限り検索は大文字と小文字を無視
set pastetoggle=<F6>
:またはその他の好みのキーで、paste
モードとnopaste
モードを切り替えます。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> <Home> 4 <Right> R <Space>
他のコメントシステム("
、//
など)用に簡単に変更するか、設定ファイルを確認するだけです。
RCSシステムに構成ファイルがある場合、特定のマシンに固有の構成オプションを含めることが必要になる場合があります。そのためには、構成の最後に自動的に含まれる~/.vimrc.local
ファイルを用意しておくとよいでしょう(もちろん、存在する場合)。
ファイル可読の場合(expand( "〜/ .vimrc.local")) ソース〜/ .vimrc.local endif
これのどの部分が特にシステム管理者に関連しているかはよくわかりませんが、私の重要事項は次のとおりです。
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構文強調表示ファイル にアクセスできることも常に確認します。
通常、ユーザーで作業している場合は、これよりもファイルをSudoに「パイプ」して保存できるようになります。
cmap w!! %!Sudo tee > /dev/null %
次のコマンドを使用します。
:w!!
sudoを呼び出してファイルを保存します。
これも見ることができますSO質問: vimrcには何がありますか ?
恥知らずなプラグ。これは実際には.vimrcの変更ではなく、VIMプラグインです。インストールされているすべてのバージョンのVIMでRCSVerを使用します。基本的にはRCSコマンドを使用して、編集したファイルのバージョンを保存します。私が行った変更を表示してRCSVerに保存させるためだけに、構成ファイルを台無しにした回数がわかりません。
多くのVIM新規参入者がこれを読むことを知っているので、私が持っている最良の提案は次のとおりです。「怠惰になってマップエントリを.vimrcに入れないでください」 VIMで物事を行うと、vimrcがないときに完全な弱虫のように感じるでしょう。viの学習曲線は急ですが、学習しないことを選択することで自分に有利なことをしていません。
すべての「スマート」インデントモードを無効にします。プログラミングに最適、設定ファイルには地獄。
奇妙な問題を追跡するためにstraceを使用することがよくあります。その結果、一部の行を構文で強調表示しようとすると、大きな文字列文字列でばかげている可能性があります。この場合、set synmaxcol = 2048を使用して、構文の強調表示を2048列に制限します。
私はまた、あふれんばかりのタグを使用するタグリストプラグインのかなりのファンです。これまでのところ、コンパイルされたctagsバイナリをプッシュすることができましたが、ライブラリの問題は発生していません。これにより、使用しているコード間をすばやく移動できます。それらは一般的にPerl、Python、またはCです。
私の答えの少なくとも一部は私のプログラミング.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にない場合は、そうする必要があります。 :)