サーチ…


備考

Vim(または「Vi IMproved」)は、コンソールベースのマルチモード( モーダル )テキストエディタです。これは広く使われており、すべてのUnix、Linux、Apple OS Xシステムでデフォルトで利用可能です。 Vimは、活発なコミュニティと幅広いユーザー層を持っています。エディタはすべての一般的なプログラミング言語をサポートしており、多くのプラグインが機能を拡張することができます。

開発者は、速度、多くの設定オプション、および強力なエクスプレッションベースの編集のためのエディタが好きです。 「コマンド」モードでは、エディタはキーボードコマンドによって制御されるので、ユーザはGUIまたはマウスポインタに気を取られません。

Vimは1970年代に作成された初期のUnix "vi"エディタをベースにしており、1991年以来、絶え間なく開発されています。マクロとプラグインを使用すると、エディタは現代のIDEのほとんどの機能を提供します。スクリプト言語(vimscript)と正規表現を使用して大量のテキストを処理することも独自に可能です。

主なトピック:

Vimの標準スタートアップメッセージ

バージョン

バージョン発売日
8.0 2016-09-12
7.4 2013年8月10日
7.3 2010-08-15
7.2 2008年8月9日
7.1 2007-05-12
7.0 2006-05-07
6.0 2001年9月26日
5.0 1998-02-19
4.0 1996-05-29
3.0 1994-08-12
2.0 1993-12-14
1.14 1991-11-02

インストール

マシン上のVimは、クリップボードのサポート、構文の強調表示、プラグインの使用などの便利な機能がない「小さな」ビルドになる可能性が非常に高いです。

設定ファイルを素早く編集することが必要な場合には問題ありませんが、Vimをメインエディタにしようとするとすぐにいくつかの壁にヒットします。

したがって、一般的に完全なビルドをインストールすることをお勧めします。

Linux / BSDへのインストール

これらのシステムでは、GUIを起動するためのgvimコマンドとTUIを起動するためのvimコマンドの両方が付属しているGUIバージョンをインストールするだけです。

アーチとアーチベースのディストリビューション

$ sudo pacman -R vim
$ sudo pacman -S gvim

DebianとDebianベースのディストリビューション

$ sudo apt-get update
$ sudo apt-get install vim-gtk

GentooとGentooベースのディストリビューション

$ sudo emerge --sync
$ sudo emerge app-editors/gvim

RedHatおよびRedHatベースのディストリビューション

$ sudo yum check-update
$ sudo yum install vim-X11

フェドラ

$ sudo dnf check-update
$ sudo dnf install vim-X11

SlackwareとSlackwareベースのディストリビューション

$ sudo slackpkg update
$ sudo slackpkg install-new vim-gvim

OpenBSDおよびOpenBSDベースのディストリビューション

$ sudo pkg_add vim-x11

FreeBSDとFreeBSDベースのディストリビューション

$ sudo pkg install editors/vim

Mac OS Xでのインストール

この戦略はMac OS Xに似ています:GUIバージョンをインストールして、GUIとTUIの両方を取得します。最終的には、次のことができるはずです。

  • FinderでMacVimアイコンをダブルクリックし、
  • DockのMacVimアイコンをクリックし、
  • シェルで$ mvimしてMacVim GUIを開き、
  • シェルで$ mvim -vしてMacVim TUIを開きます。

通常のインストール

他のMac OS Xアプリケーションと同様に、公式のスナップショットをダウンロードしてインストールしください。

MacVimにバンドルされているmvimスクリプトを$PATHどこかに置きmvim

パッケージマネージャー

MacPorts:
$ sudo port selfupdate
$ sudo port install macvim
ホームブリュー:
$ brew install macvim

MacVimをデフォルトのコンソールVimにするには:

$ brew install macvim --with-override-system-vim

Windowsへのインストール

WindowsシステムにはデフォルトでVimはありません。 VimをTuxprojectサイトからダウンロードしてインストールすると、より最新のビルドや完全なビルドができます。また、公式のVimサイトからVimをダウンロードしてインストールすることもできます。

チョコレート

> choco install vim

ソースからVimを構築する

上記の方法があなたのニーズに合っていない場合は、必要なオプションだけで Vimを自分で構築することは可能です。

このトピックは、それ自身のセクションで議論されます(現在ドラフト中です)。

Vimを終了する

Vimを終了するには、まずEscを押して ノーマルモードになっていることを確認してください。

  • :q Enter (保存していない変更がある場合は終了しません - quit)

変更を破棄して Vimを終了するには:

  • :q! exitを強制して変更を破棄する場合は入力してください:quit!と混同しないように:!q )、
  • ZQは次のようなショートカットです:q!
  • :cq quitを入力してエラーを返します(コンパイラはこのファイルを再コンパイルしないようにすべての変更を破棄します)

変更を保存して Vimを終了するには:

  • :wq Enter:write:quit省略形)、
  • :x Enter:wqと同じですが、ファイルが変更されていない場合は書き込みません)、
  • ZZは次のようなショートカットです:x (ワークスペースを保存してエディタを終了する)、
  • :[range]wq! Enter ([範囲]に行を書き込む)

(複数のウィンドウやタブでも)複数のバッファを一度に閉じるには、上記のコマンド:始まるコマンド)のいずれかに文字aを追加します。たとえば、すべてのウィンドウを作成して終了するには、次のようにします。

  • :wqa Enterまたは
  • :xa Enter - 変更されたすべてのバッファを書き込み、Vimを終了します。読み込み専用であるか、別の理由で書き込めないファイル名のないバッファがある場合、Vimは終了しません
  • :xa! Enter - 変更されたすべてのバッファを読み込み専用バッファに書き出し、Vimを終了します。バッファがファイル名を持たないか、別の理由で書き込めない場合、Vimは終了しません
  • :qa Enter - 終了しようとしますが、未保存のファイルがあれば停止します。
  • :qa! Enter - 保存せずに終了する (保存されていないファイルの変更を破棄する)

ファイルを指定せずにVimを開いていて、終了する前にそのファイルを保存したい場合は、 E32: No file nameメッセージが表示されます。ファイルを保存して、次の方法で終了できます。

  • :wq filenameまたはを入力します。
  • :x filename 入力

説明:

キーストロークは実際にコマンドモードを開きます。コマンドqは、 exit writexquitw省略形:quit:write:exit入力することもできます)。始まらないショートカット:などZZZQ ノーマルモードキーのマッピングを参照してください。それらをショートカットと考えることができます。

!キーストロークは、強制的にコマンドの最後で使用されることがあります。この場合、 :q!の場合に変更を破棄できます:q! 。配置!コマンドの冒頭には別の意味があります。たとえば、間違って入力することができます:!q代わりに:q! vimは127エラーで終了します。

これを覚えやすい簡単な方法は考えることです!何かを実行することを主張する方法として。ちょうどあなたが書くときのように:「私はやめたい!

対話型のVimチュートリアル(vimtutorなど)

vimtutorは、テキスト編集の最も基本的な側面を扱うインタラクティブなチュートリアルです。

UNIX系システムでは、次の方法でチュートリアルを開始できます。

$ vimtutor

Windowsでは、 "Vim tutor"は、Windowsメニューの "すべてのプログラム"の "Vim 7.x"ディレクトリにあります。

詳細は:help vimtutorを参照してください。

その他のインタラクティブなチュートリアルには、次のブラウザベースのチュートリアルがあります

  • Vim Adventures - ウェブ上で利用可能なvimtutorの対話型ゲームバージョン。最初の数レベルだけが無料です。
  • Open Vim - 基本的なコマンドにフィードバックを与える対話型端末です。
  • Vim Genius - マクロとarglistを含む中間レッスンと上級レッスンを含むもう1つの対話型端末。

Vimで編集した読み取り専用ファイルを保存する

場合によっては、 sudo使わずにVimで書くことが許可されていないファイルを開くことがあります。

このコマンドを使用して、Vimで編集した読み取り専用ファイルを保存します。

:w !sudo tee > /dev/null %

あなたはマップすることができます:w!!あなたの.vimrc

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

画像のようにプロンプ​​トが表示されます。

Enterキーを押すか、コマンドを入力して続行します。 [O] K、(L)oadファイル:

Oを押すとファイルが保存されます。 vi / vimでさらに編集や読み込みを行うために開いたままにしておき、通常次のように入力することで終了できます:q!ファイルは読み取り専用として開いているためです。

コマンドの説明

:w ............................ isn't modifying your file in this case, 
   ............................ but sends the current buffer contents to 
   ............................ a substituted shell command
   !sudo ...................... call the shell 'sudo' command
         tee .................. the output of the vi/vim write command is redirected 
                                using the 'tee' command
             > /dev/null ...... throws away the standard output, since we don't need 
                                to pass it to other commands
                         % .... expands to the path of the current file

ソース:

vimを一時停止する

コマンドラインからvimを使用すると、 vimを停止して、実際にvimを終了させることなくプロンプトに戻ることができます。したがって、後で同じプロンプトからvimセッションを取り戻すことができます。

ノーマルモードの場合(存在しない場合はEscキーを押してください)、次のいずれかのコマンドを発行します。

:st enter

:sus enter

:stop enter enter

:suspend 入力

代わりに、一部のシステムでは、 標準モードまたはビジュアルモードのときにCtrl + Z キーを押しても同じ効果が得られます。

注: autowriteが設定されている場合、変更とファイル名のバッファが書き出されます。 a !追加!避けるために入る 、例えば。 :st! 入力してください

後であなたがあなたのvimセッションに戻りたいときは、他の仕事を中断していなければ、以下を発行するとvimがフォアグラウンドジョブとして復元されます。

fg enter

さもなければあなたのvimセッションのジョブIDを見つけることが必要です。 jobs 入力してから、一致するジョブをfg %[job ID] 入力します。 fg %1 入力してください

基本

インタラクティブなvimチュートリアルを必要なだけ何度でも実行して、基本に慣れるようにします。

Vimには、 通常モード挿入モードコマンドラインモードなどのいくつかのモードがあります

ノーマルモードは、テキストを編集してナビゲートするモードです。このモードでは、 hjklはカーソルキー対応します。ノーマルモードのほとんどのコマンドには、 "count"という接頭辞を付けることができます。例えば、 3jは3行下に移動します。

挿入モードは、テキストを直接挿入するモードです。このモードでは、vimは他のより単純なテキストエディタに似ています。インサートモードにするには、 iをノーマルモードで押します。終了するには<ESC> (エスケープキー)を押します。

コマンドラインモードは、ファイルの保存やvimの終了など、より複雑なコマンドを実行するためのモードです。プレス:コマンドラインモードを開始します。このモードを終了するには、 <ESC>押すこともできます。変更をファイルに保存するには、 :w (または:write )を使用します。変更を保存せずにvimを終了するには、次のようにします:q! (または:quit! )。

これらはvimでより有用なコマンドのいくつかです:

コマンド説明
i (挿入)は現在のカーソル位置のに挿入モード入ります
I 現在の行の最初の印字可能文字のに挿入モード入ります
a (追加)現在のカーソル位置のに挿入モード入ります
A 現在の行の最後に印字可能な文字のに挿入モード入ります
x 現在のカーソル位置の文字を削除する
X 左の文字を現在のカーソル位置まで削除する
w 次の単語に移動する
b 前の単語に移動する
0 行頭に移動する
$ 行末に移動する
r 置換 - 1文字の置換モードに入ります。次の文字を入力すると、カーソルの下の文字が置き換えられます。
R 置換モードを無期限に入力します。入力したすべての文字がカーソルの下の文字を置き換え、カーソルを1つ進めます。
s 置換 - 現在のカーソル位置にある文字を削除し、挿入モードに入ります
S 現在カーソルがある現在の行を削除し、挿入モードにする
<Esc><Cc> 挿入モードを終了して通常モードに戻る
u 元に戻す
<Cr> やり直す
dddwdld$ 現在の行をカーソルから次の単語に、または文字を現在の行の現在の行の終わりまでそれぞれ切り捨てます。注意: Dd$
cccwcl 現在の行をカーソルから次の単語または文字にそれぞれ変更する
yyywyly$ 現在の行をカーソルから次の単語に、または文字を現在の行の終わりまでそれぞれヤンク(コピー)する
pP 現在位置の後、または前にそれぞれput( "paste")します。
oO 現在の行の前後に新しい空行を作成し、挿入モードに入る
:w 現在のバッファをディスクに書き込む
:q!ZQ 書かずに辞める
:x:wqZZ 書いてやめる
:help ヘルプファイルでウィンドウを開く
:help {subject} 特定の科目のヘルプを表示する
qz 録音を終了するにはz 、録音を終了するにはq 、録音を終了するにはq@zします。 zは任意の文字を使用できますqは便宜のためによく使用されます。続きを読む: マクロ

クラッシュの場合の対処方法

Vimはすべての保存されていない編集をスワップファイルに保存します。このファイルは、変更が保存されると削除されます。スワップファイルの名前は、通常、編集するファイルの名前の前にaを付けたもの. .swp接尾辞を付けてください( :sw見ることができます)。

そのため、vimプロセスが終了して編集内容を保存する前に、コマンドラインオプション-rを使用して、スワップファイルに含まれている変更を現在のファイルに適用して作業を復旧することができます。たとえば、 myFileが編集していたファイルの場合は、次のようにします。

$ vi -r myFile

コミットされていない変更を回復します。

スワップファイルが存在する場合、vimはリカバリオプションを求めるプロンプトを表示するはずです

$ vi myFile
E325: ATTENTION
Found a swap file by the name ".myFile.swp"
...
Swap file ".myFile.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

(R)ecoverを選択した場合、 swpファイルからの変更が適用されますが、スワップファイルは削除されませんので、リカバリに満足すれば、後でスワップファイルを削除することを忘れないでください。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow