<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ponkotuy2</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ponkotuy2"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Ponkotuy2"/>
	<updated>2026-04-12T02:18:23Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Systemd-boot&amp;diff=41175</id>
		<title>Systemd-boot</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Systemd-boot&amp;diff=41175"/>
		<updated>2025-11-30T15:56:38Z</updated>

		<summary type="html">&lt;p&gt;Ponkotuy2: 重複文言の削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase title}}&lt;br /&gt;
[[Category:ブートローダー]]&lt;br /&gt;
[[de:Gummiboot]]&lt;br /&gt;
[[en:Systemd-boot]]&lt;br /&gt;
[[es:Systemd-boot]]&lt;br /&gt;
[[pt:Systemd-boot]]&lt;br /&gt;
[[ru:Systemd-boot]]&lt;br /&gt;
[[zh-hans:Systemd-boot]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Arch ブートプロセス}}&lt;br /&gt;
{{Related|ブートローダー}}&lt;br /&gt;
{{Related|セキュアブート}}&lt;br /&gt;
{{Related|Unified Extensible Firmware Interface}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&#039;&#039;&#039;systemd-boot&#039;&#039;&#039; (旧名 &#039;&#039;&#039;gummiboot&#039;&#039;&#039;。ドイツ語で「ゴムボート」)は、 設定された EFI イメージを実行するシンプルな [[UEFI]] [[ブートマネージャー]]です。デフォルトのエントリは設定されたパターン (glob) または矢印キーで操作する画面上のメニューによって選択されます。{{Pkg|systemd}} に含まれており、Arch システムにデフォルトでインストールされます。&lt;br /&gt;
&lt;br /&gt;
systemd-boot は EFI 実行可能ファイル ([[EFISTUB]]、[[UEFI シェル]]、[[GRUB]]、[https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/boot-and-uefi#understanding-the-windows-boot-manager Windows ブートマネージャ]) のみを起動できることに注意してください。&lt;br /&gt;
&lt;br /&gt;
== サポートされているファイルシステム ==&lt;br /&gt;
&lt;br /&gt;
systemd-boot はファイルシステムのサポートを [[Arch ブートプロセス#UEFI|ファームウェア]] から引き継ぎます (少なくとも FAT12、FAT16、FAT32) さらに、{{ic|&#039;&#039;esp&#039;&#039;/EFI/systemd/drivers/}} にある [[Unified Extensible Firmware Interface#UEFI ドライバ|UEFI ドライバ]] を全てロードします。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;systemd-boot&#039;&#039; は、{{Pkg|base}} メタパッケージの依存関係である {{Pkg|systemd}} パッケージとともに出荷されるため、追加のパッケージを手動でインストールする必要はありません。&lt;br /&gt;
&lt;br /&gt;
== EFI ブートマネージャのインストール ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;systemd-boot&#039;&#039; の EFI ブートマネージャをインストールする場合、まず UEFI モードでシステムが起動しているかどうか、[[Unified Extensible Firmware Interface#UEFI 変数|UEFI 変数]] が利用できるかどうか確かめてください。{{ic|efivar --list}} コマンドを実行することでチェックできます。または、efivar がインストールされていない場合は、{{ic|ls /sys/firmware/efi/efivars}} を実行してください (ディレクトリが存在する場合、システムは UEFI モードにブートされます)&lt;br /&gt;
&lt;br /&gt;
このページでは ESP のマウントポイントを {{ic|&#039;&#039;esp&#039;&#039;}} として表します (大抵の場合は {{ic|/efi}} か {{ic|/boot}} です) これは、システムのマウントポイントに [[chroot]] していることを前提としています。&lt;br /&gt;
&lt;br /&gt;
{{man|1|bootctl}} を使用して EFI システムパーティションに &#039;&#039;systemd-boot&#039;&#039; をインストールします:&lt;br /&gt;
&lt;br /&gt;
 # bootctl install&lt;br /&gt;
&lt;br /&gt;
これにより、&#039;&#039;systemd-boot&#039;&#039; UEFI ブートマネージャーが ESP にコピーされ、その UEFI ブートエントリが作成され、UEFI ブート順序の最初に設定されます。&lt;br /&gt;
&lt;br /&gt;
* x64 UEFI では、{{ic|/usr/lib/systemd/boot/efi/systemd-bootx64.efi}} は {{ic|&#039;&#039;esp&#039;&#039;/EFI/systemd/systemd-bootx64.efi}} と {{ic|&#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTX64.EFI}} にコピーされます。&lt;br /&gt;
* IA32 UEFI では、{{ic|/usr/lib/systemd/boot/efi/systemd-bootia32.efi}} は {{ic|&#039;&#039;esp&#039;&#039;/EFI/systemd/systemd-bootia32.efi}} と {{ic|&#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTIA32.EFI}} にコピーされます。&lt;br /&gt;
&lt;br /&gt;
UEFI ブートエントリは &amp;quot;Linux Boot Manager&amp;quot; と呼ばれ、UEFI のビット数によって、ESP 上の {{ic|EFI}systemd-bootx64.efi}} か {{ic|EFI}systemd-bootia32.efi}} を指します。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* {{ic|bootctl install}} を実行すると、&#039;&#039;systemd-boot&#039;&#039; は ESP を {{ic|/efi}},{{ic|/boot}},{{ic|/boot/efi}} に配置しようとします。{{ic|&#039;&#039;esp&#039;&#039;}} を別の場所に設定するには、{{ic|1=--esp-path=&#039;&#039;esp&#039;&#039;}} オプションを渡す必要があります。(詳細は {{man|1|bootctl|OPTIONS}} を参照)&lt;br /&gt;
* systemd-boot&#039;&#039; をインストールすると既存の {{ic|&#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTX64.EFI}} は上書きされます。(または、{{ic|&#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTIA32.EFI}} の IA32 UEFI)、例えば Microsoft 版のファイルなどです。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
インストールを完了するには、&#039;&#039;systemd-boot&#039;&#039; を[[systemd-boot#設定|設定]]します。&lt;br /&gt;
&lt;br /&gt;
=== XBOOTLDR を使用したインストール ===&lt;br /&gt;
&lt;br /&gt;
カーネルと initramfs を ESP から分離するために、&amp;quot;Linux extended boot&amp;quot; タイプ (XBOOTLDR) の別の [[パーティショニング#/boot|/boot パーティション]]を作成することができます。これは、既存の [[EFI システムパーティション|ESP]] が小さすぎる [[Windows と Arch のデュアルブート]] 時に特に役立ちます。 &lt;br /&gt;
&lt;br /&gt;
通常どおり ESP を作成し、同じ物理ドライブに XBOOTLDR 用の別のパーティションを作成します。XBOOTLDR のパーティションタイプ GUID は {{ic|&amp;quot;bc13c2ff-59e6-4262-a352-b275fd6f7172}} である必要があります。XBOOTLDR パーティションのサイズは、インストールする全てのカーネルを収納できる 十分な大きさが必要です。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* systemd-boot は、 ESP の場合のようにファイルシステムチェックを行いません。 したがって、他のファイルシステムを使用することは可能ですが、 UEFI 実装が起動中にそれを読み取ることができる場合に限ります。&lt;br /&gt;
* &amp;quot;fast boot&amp;quot; モードが有効の場合、UEFI ファームウェアは ESP 以外のパーティションのロードをスキップすることがあります。これにより、&#039;&#039;システム起動&#039;&#039; が XBOOTLDR パーティション上のエントリを見つけられなくなる可能性があります。XBOOTLDRを使用するには、&amp;quot;fast boot&amp;quot; を無効にする必要があります。&lt;br /&gt;
* XBOOTLDR パーティションは、system-boot が認識できるように ESP と同じ物理ディスク上になければならない場合があります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
インストール中に、ESP を {{ic|/mnt/efi}} にマウントし、 {{ic|&#039;&#039;boot&#039;&#039;}} を {{ic|/mnt/boot}} にマウントします。&lt;br /&gt;
&lt;br /&gt;
chroot になったら、次のコマンドを使用します:&lt;br /&gt;
&lt;br /&gt;
 # bootctl --esp-path=/efi --boot-path=/boot install&lt;br /&gt;
&lt;br /&gt;
インストールを完了するには &#039;&#039;systemd-boot&#039;&#039; を[[#設定|設定]]します。&lt;br /&gt;
&lt;br /&gt;
=== UEFI ブートマネージャの更新 ===&lt;br /&gt;
&lt;br /&gt;
新しいバージョンの &#039;&#039;systemd-boot&#039;&#039; がリリースされるたびに、UEFI ブートマネージャはオプションでユーザーによって再インストールできます。これは手動または自動で行うことができ、以下にその2つの方法を説明します。&lt;br /&gt;
&lt;br /&gt;
{{Note|UEFI ブートマネージャは独立した EFI 実行可能ファイルであり、任意のバージョンを使用してシステムをブートできます(部分的な更新は適用されません。pacman は &#039;&#039;systemd-boot&#039;&#039; インストーラーのみをインストールし、&#039;&#039;systemd-boot&#039;&#039; 本体はインストールしません)ただし、新しいバージョンは新機能を追加したり、バグを修正したりする可能性があるため、&#039;&#039;systemd-boot&#039;&#039; の更新はおそらく良いアイデアです。}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|[[セキュアブート]] が有効な場合、ブートローダーの更新に署名する必要があります。詳細は [[#セキュアブートのための署名]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
==== 手動で更新 ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;bootctl&#039;&#039; を使用して &#039;&#039;systemd-boot&#039;&#039; を更新:&lt;br /&gt;
&lt;br /&gt;
 # bootctl update&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|bootctl install}} と同様に、&#039;&#039;systemd-boot&#039;&#039;は ESP を {{ic|/efi}}、{{ic|/boot}}、{{ic|/boot/efi}} に配置しようとします。{{ic|&#039;&#039;esp&#039;&#039;}} を別の場所に設定するには、{{ic|1=--esp-path=&#039;&#039;esp&#039;&#039;}} オプションを渡す必要があります。}}&lt;br /&gt;
&lt;br /&gt;
==== 自動で更新 ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;systemd-boot&#039;&#039; を自動的に更新するには、[[systemd#ユニットを使う|systemd サービス]] または [[pacman フック]] を使用してください。これらの2つの方法については、以下に説明します。&lt;br /&gt;
&lt;br /&gt;
===== systemd サービス =====&lt;br /&gt;
&lt;br /&gt;
バージョン 250 以降、{{Pkg|systemd}} には {{ic|systemd-boot-update.service}} が同梱されています。このサービスを [[有効化]] すると、次回の起動時にブートローダーが更新されます。&lt;br /&gt;
&lt;br /&gt;
===== Pacman フック =====&lt;br /&gt;
&lt;br /&gt;
{{AUR|systemd-boot-pacman-hook}} パッケージは {{Pkg|systemd}} がアップグレードされる度に実行される pacman フックを追加します。&lt;br /&gt;
&lt;br /&gt;
systemd-boot-pacman-hook をインストールするのではなく、次のファイルを {{ic|/etc/pacman.d/hooks/}} に手動で配置することをお勧めします:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pacman.d/hooks/95-systemd-boot.hook|2=&lt;br /&gt;
[Trigger]&lt;br /&gt;
Type = Package&lt;br /&gt;
Operation = Upgrade&lt;br /&gt;
Target = systemd&lt;br /&gt;
&lt;br /&gt;
[Action]&lt;br /&gt;
Description = Gracefully upgrading systemd-boot...&lt;br /&gt;
When = PostTransaction&lt;br /&gt;
Exec = /usr/bin/systemctl restart systemd-boot-update.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== セキュアブートのための署名 ===&lt;br /&gt;
&lt;br /&gt;
[[セキュアブート]] が有効な場合、パッケージのアップグレード時にブートマネージャを自動的に署名するために、pacmanフックを追加したい場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pacman.d/hooks/80-secureboot.hook|2=&lt;br /&gt;
[Trigger]&lt;br /&gt;
Operation = Install&lt;br /&gt;
Operation = Upgrade&lt;br /&gt;
Type = Path&lt;br /&gt;
Target = usr/lib/systemd/boot/efi/systemd-boot*.efi&lt;br /&gt;
&lt;br /&gt;
[Action]&lt;br /&gt;
Description = Signing systemd-boot EFI binary for Secure Boot&lt;br /&gt;
When = PostTransaction&lt;br /&gt;
Exec = /bin/sh -c &#039;while read -r i; do sbsign --key &#039;&#039;/path/to/keyfile.key&#039;&#039; --cert &#039;&#039;/path/to/certificate.crt&#039;&#039; &amp;quot;$i&amp;quot;; done;&#039;&lt;br /&gt;
Depends = sh&lt;br /&gt;
Depends = sbsigntools&lt;br /&gt;
NeedsTargets&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;/path/to/keyfile.key&#039;&#039;}} と {{ic|&#039;&#039;/path/to/certificate.crt&#039;&#039;}} をそれぞれ署名鍵と証明書に置き換えてください。このフックの詳細な理解には、{{man|1|sbsign}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
作成された {{ic|/usr/lib/systemd/boot/efi/systemd-boot*.efi.signed}} は、{{ic|bootctl install}} または {{ic|bootctl update}} によって自動的に認識されます。詳細は {{man|1|bootctl|SIGNED .EFI FILES}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
別の方法としてこちらも参照、[[Unified Extensible Firmware Interface/セキュアブート#pacman フックを使って自動的に署名する|sbctl]]&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
=== ローダー設定 ===&lt;br /&gt;
&lt;br /&gt;
ローダーの設定は {{ic|&#039;&#039;esp&#039;&#039;/loader/loader.conf}} ファイルに保存されます。詳細は、{{man|5|loader.conf|OPTIONS}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
ローダーの設定例を以下に示します:&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/loader.conf|&lt;br /&gt;
default  arch.conf&lt;br /&gt;
timeout  4&lt;br /&gt;
console-mode max&lt;br /&gt;
editor   no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* systemd-boot はインデント用のタブを受け入れません。代わりにスペースを使用してください。&lt;br /&gt;
* {{ic|default}} と {{ic|timeout}} はブートメニューで変更することができ、変更した場合は EFI 変数として保存されます。上記のオプションよりも優先して設定されます。&lt;br /&gt;
* ​{{ic|bootctl set-default &amp;quot;&amp;quot;}} を使用すると、 {{ic|default}} オプションに優先して EFI 変数をクリアできます。&lt;br /&gt;
* 基本的なローダーの設定ファイルは {{ic|/usr/share/systemd/bootctl/loader.conf}} に存在します。&lt;br /&gt;
* {{ic|timeout 0}} を設定している場合、{{ic|Space}} を押すことでブートメニューにアクセスできます。&lt;br /&gt;
* ブートローダー(エントリ選択中)が歪んで表示される場合や、誤った解像度が使用されている場合は、{{ic|console-mode}} を {{ic|auto}}(最適な解像度を選択するためのヒューリスティックスを使用)、{{ic|keep}}(ファームウェアが提供する解像度を維持)、または {{ic|2}}(最初の非 UEFI 標準解像度を選択しようと試みる)に設定してみることができます。}}&lt;br /&gt;
&lt;br /&gt;
=== ローダーの追加 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;bootctl&#039;&#039; は {{ic|&#039;&#039;esp&#039;&#039;/loader/entries/*.conf}} からブートメニューのアイテムを検索します – 各ファイルにそれぞれひとつだけローダーを記述してください。利用可能なオプション:&lt;br /&gt;
&lt;br /&gt;
* {{ic|title}} – オペレーティングシステムの名前。&#039;&#039;&#039;必須。&#039;&#039;&#039;&lt;br /&gt;
* {{ic|version}} – カーネルバージョン、同じ title のエントリが複数存在する場合にのみ表示されます。任意。&lt;br /&gt;
* {{ic|machine-id}} – {{ic|/etc/machine-id}} のマシン識別子、title と version が同じエントリが複数存在する場合にのみ表示されます。任意。&lt;br /&gt;
* {{ic|efi}} – 起動する EFI プログラム、ESP ({{ic|/boot}}) からの相対パス。例: {{ic|/vmlinuz-linux}}。このオプションか {{ic|linux}} (下を参照) のどちらか一方が&#039;&#039;&#039;必須&#039;&#039;&#039;です。&lt;br /&gt;
* {{ic|options}} – EFI プログラムに渡すコマンドラインオプションまたは[[カーネルパラメータ]]。任意ですが、Linux を起動する場合 {{ic|1=initrd=&#039;&#039;efipath&#039;&#039;}} と {{ic|1=root=&#039;&#039;dev&#039;&#039;}} が最低限必要になります。&lt;br /&gt;
&lt;br /&gt;
Linux を起動する場合、{{ic|efi}} と {{ic|options}} を使う代わりに以下のオプションが使用できます:&lt;br /&gt;
* {{ic|linux}} と {{ic|initrd}} で ESP の適切なファイルの相対パスを指定します。例: {{ic|/vmlinuz-linux}}。この値は自動で {{ic|efi &#039;&#039;path&#039;&#039;}} と {{ic|1=options initrd=&#039;&#039;path&#039;&#039;}} に翻訳されます – この文法は利便性のためにサポートされており機能に違いはありません。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;arch_os&#039;&#039; というラベルが付いたパーティションから Arch を起動して Intel CPU の[[マイクロコード]]をロードするローダーファイルの例:&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/arch.conf|2=&lt;br /&gt;
title   Arch Linux&lt;br /&gt;
linux   /vmlinuz-linux&lt;br /&gt;
initrd  /initramfs-linux.img&lt;br /&gt;
options root=UUID=&#039;&#039;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&#039;&#039; rw&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/arch-fallback.conf|2=&lt;br /&gt;
title   Arch Linux (fallback initramfs)&lt;br /&gt;
linux   /vmlinuz-linux&lt;br /&gt;
initrd  /initramfs-linux-fallback.img&lt;br /&gt;
options root=UUID=&#039;&#039;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&#039;&#039; rw&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;bootctl&#039;&#039; は自動的に &amp;quot;Windows Boot Manager&amp;quot; ({{ic|/EFI/Microsoft/Boot/Bootmgfw.efi}}), &amp;quot;EFI Shell&amp;quot; ({{ic|/shellx64.efi}}), &amp;quot;EFI Default Loader&amp;quot; ({{ic|/EFI/BOOT/bootx64.efi}}) をチェックします。また、{{ic|/EFI/Linux}} にカーネルファイルが存在しないかもチェックされます。これらが検出された場合、自動的に適切なエントリが生成されます ({{ic|auto-windows}}, {{ic|auto-efi-shell}}, {{ic|auto-efi-default}})。これらのエントリを手動でローダー設定する必要はありません。ただし、([[rEFInd]] など) 他の EFI アプリケーションは自動検出されないため、Linux カーネルを起動するには、手動で設定してエントリを作成する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Windows とデュアルブートする場合、Windows のデフォルトオプションである[[Windows と Arch のデュアルブート#高速スタートアップ|高速スタートアップ]]を無効にすることを強く推奨します。&lt;br /&gt;
* 必要な場合は {{ic|initrd}} で Intel のマイクロコードをロードしてください。例は[[マイクロコード#systemd-boot]] を参照。&lt;br /&gt;
* {{ic|1=blkid -s PARTUUID -o value /dev/sd&#039;&#039;xY&#039;&#039;}} コマンドを使うことで root パーティションの PARTUUID を確認できます。{{ic|&#039;&#039;x&#039;&#039;}} はデバイス文字、{{ic|&#039;&#039;Y&#039;&#039;}} はパーティション番号に置き換えて下さい。確認するのは root パーティションだけで大丈夫です。{{ic|&#039;&#039;esp&#039;&#039;}} は確認する必要がありません。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* 設定済みのブートエントリは {{ic|bootctl list}} コマンドで確認できます。&lt;br /&gt;
* サンプルエントリファイルが {{ic|/usr/share/systemd/bootctl/arch.conf}} に存在します。&lt;br /&gt;
* [[LVM]], [[LUKS]], [[dm-crypt]] などで必要な[[カーネルパラメータ]]についてはそれぞれのページを確認してください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== EFI シェルや他の EFI アプリ ====&lt;br /&gt;
&lt;br /&gt;
[[Unified Extensible Firmware Interface#UEFI シェル|UEFI シェル]] を {{Pkg|edk2-shell}} パッケージとともにインストールした場合、&amp;quot;systemd-boot&amp;quot; は EFI ファイルが {{ic|&#039;&#039;esp&#039;&#039;/shellx64.efi}} に配置されると自動的に検出して新しいエントリを作成します。&lt;br /&gt;
これを実行するには、パッケージをインストールした後に以下のようなコマンドを使用します:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/share/edk2-shell/x64/Shell.efi /boot/shellx64.efi&lt;br /&gt;
&lt;br /&gt;
それ以外の場合は、[[rEFInd#ツール|その他の EFI アプリケーション]] を ESP にインストールした場合、次のスニペットを使用できます。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|efi}} 行のファイルパスパラメータは、[[EFI システムパーティション]] のルートに対して相対的です。もし EFI システムパーティションが {{ic|/boot}} にマウントされていて、EFI バイナリが {{ic|/boot/EFI/xx.efi}} と {{ic|/boot/yy.efi}} に存在する場合、それぞれのパラメータは {{ic|efi /EFI/xx.efi}} と {{ic|efi /yy.efi}} のように指定します。}}&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/fwupd.conf|&lt;br /&gt;
title  Firmware updater&lt;br /&gt;
efi     /EFI/tools/fwupdx64.efi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/gdisk.conf|&lt;br /&gt;
title  GPT fdisk (gdisk)&lt;br /&gt;
efi     /EFI/tools/gdisk_x64.efi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== Memtest86+ =====&lt;br /&gt;
&lt;br /&gt;
これを機能させるには、{{pkg|memtest86+-efi}} をインストールする必要があります。また、セキュアブートを使用するときに EFI バイナリに署名する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/memtest.conf|&lt;br /&gt;
title Memtest86+&lt;br /&gt;
efi /memtest86+/memtest.efi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== Netboot =====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;systemd-boot&amp;quot; は [[Netboot]] をチェーンロードできます。{{ic|ipxe-arch.efi}}  EFI バイナリとその署名をダウンロードし、それを検証した後、提案された場所に {{ic|&#039;&#039;esp&#039;&#039;/EFI/arch_netboot/arch_netboot.efi}} として配置します。&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/arch_netboot.conf|&lt;br /&gt;
title Arch Linux Netboot&lt;br /&gt;
efi /EFI/arch_netboot/arch_netboot.efi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;systemd-boot&#039;&#039; は [[GRUB]] をチェーンロードできます。{{ic|grubx64.efi}} バイナリの場所は、GRUB が ESP にインストールされた際に使用された {{ic|1=--bootloader-id=}} と一致します。&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/grub.conf|&lt;br /&gt;
title GRUB&lt;br /&gt;
efi /EFI/GRUB/grubx64.efi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== 別のディスクから起動 ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;systemd-boot&amp;quot; は起動元の ESP や同一ディスク上のXBOOTLDRパーティション以外のパーティションからEFIバイナリを起動 [https://github.com/systemd/systemd/issues/3252 できませんが、] [[UEFI シェル]] を使ってそれを行うことができます。&lt;br /&gt;
&lt;br /&gt;
まず、上記の [[#EFI シェルや他の EFI アプリ]] のセクションに従って、{{Pkg|edk2-shell}} パッケージをインストールします。UEFI シェルで &amp;quot;map&amp;quot; コマンドを使用して、対応する PARTUUID を持つパーティションの &#039;&#039;&#039;FS エイリアス&#039;&#039;&#039; (例:HD0a66666a2、HD0b、FS1、BLK7) を確認します。&lt;br /&gt;
&lt;br /&gt;
次に、{{ic|exit}} コマンドを使用して Linux に戻り、UEFI シェルを通じてターゲット EFI プログラムを実行するための新しいローダーエントリを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/windows.conf|&lt;br /&gt;
title   Windows&lt;br /&gt;
efi     /shellx64.efi&lt;br /&gt;
options -nointerrupt -nomap -noversion HD0b:EFI\Microsoft\Boot\Bootmgfw.efi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|efi}} パスは、 {{ic|shellx64.efi}} がコピーされた &amp;quot;esp&amp;quot; パーティション内の場所と一致していることを確認してください。また、{{ic|shellx64.efi}} EFI ファイルは、&amp;quot;systemd-boot&amp;quot; による自動エントリ作成を避けるために他の場所に移動することもできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|HD0b}} は、前述の &amp;quot;FS エイリアス&amp;quot; に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
* {{ic|-nointerrupt}} オプションは、{{ic|Ctrl+c}} でターゲット EFI プログラムを中断しないようにします。&lt;br /&gt;
* {{ic|-nomap -noversion}} オプションは、デフォルトの UEFI シェルの挨拶を非表示にします。&lt;br /&gt;
* ターゲットEFIプログラムが終了した場合(例えばエラーで)にUEFIシェルが自動的にブートローダーに戻るようにするには、{{ic|-exit}}  オプションを追加します。&lt;br /&gt;
* もし UEFI シェル内にまだ不要な出力がある場合、{{ic|-noconsoleout}}  オプションを追加できます。&lt;br /&gt;
&lt;br /&gt;
=== UEFI ファームウェアセットアップの起動 ===&lt;br /&gt;
&lt;br /&gt;
systemd-boot は、デバイスのファームウェアが OS からセットアップに再起動することをサポートしている場合、UEFI ファームウェアセットアップに起動するエントリを自動的に追加します。&lt;br /&gt;
&lt;br /&gt;
=== ハイバネーション ===&lt;br /&gt;
&lt;br /&gt;
[[サスペンドとハイバネート]]の記事を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== パスワードで保護されたカーネルパラメータエディタ ===&lt;br /&gt;
&lt;br /&gt;
{{ic|password}} 設定オプションをサポートしている {{AUR|systemd-boot-password}} をインストールすることもできます。{{ic|sbpctl generate}} を使ってオプションで指定する値を生成できます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;systemd-boot-password&#039;&#039; は以下のコマンドでインストールしてください:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=# sbpctl install &#039;&#039;esp&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
カーネルパラメータを編集する前にパスワードの入力が求められるようになります。&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== ブートメニューで使用できるキー ===&lt;br /&gt;
&lt;br /&gt;
ブートメニューで使用できるキー割り当てについては、{{man|7|systemd-boot|KEY BINDINGS}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== 再起動後の起動対象を選択する ===&lt;br /&gt;
&lt;br /&gt;
ブートマネージャーは systemctl コマンドに統合されており、再起動後に起動させるオプションを選択できます。例えば、カスタムカーネルのエントリファイルが {{ic|&#039;&#039;esp&#039;&#039;/loader/entries/arch-custom.conf}} にあるとき、次のようにするとデフォルト設定はそのままにカスタムカーネルが起動します:&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reboot --boot-loader-entry=arch-custom&lt;br /&gt;
&amp;lt;!-- To see a list of possible entries pass the {{ic|--help}} option. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
マザーボードのファームウェアを起動させるときは次のようにします:&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reboot --firmware-setup&lt;br /&gt;
&lt;br /&gt;
=== ユニファイドカーネルイメージ を使う ===&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;esp&#039;&#039;/EFI/Linux/}} にある [[ユニファイドカーネルイメージ|Unified kernel image]] (UKI)は、systemd-boot によって自動的に読み込まれ、{{ic|&#039;&#039;esp&#039;&#039;/loader/entries}} にエントリを追加する必要はありません。(Unified kernel image は、systemd-boot によって識別されるためには、{{ic|.efi}} 拡張子を持っている必要があります。)&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{ic|&#039;&#039;esp&#039;&#039;/loader/entries/}} 内のファイルは、{{ic|&#039;&#039;esp&#039;&#039;/loader/loader.conf}} に {{ic|default}} が設定されていない場合、最初に起動されます。それらのエントリを削除するか、フルファイル名でデフォルトを設定してください。例:{{ic|1=default arch-linux.efi}}}}&lt;br /&gt;
&lt;br /&gt;
=== ESP 上の Grml ===&lt;br /&gt;
&lt;br /&gt;
{{Note|以下の手順は、Grml 専用ではありません。​若干の調整で他のソフト (例: [http://www.system-rescue-cd.org/ SystemRescueCD]) のインストールも可能です。}}&lt;br /&gt;
{{Tip|{{ic|PKGBUILD}} が利用可能です: {{AUR|archiso-systemd-boot}}}}&lt;br /&gt;
&lt;br /&gt;
[https://grml.org/ Grml] ​は、システム管理とレスキュー用のソフトウェアを集めた小さなライブシステムです。&lt;br /&gt;
&lt;br /&gt;
​Grml を ESP にインストールするには、カーネル {{ic|vmlinuz}}、 initramfs {{ic|initrd.img}}、 圧縮イメージ {{ic|grml64-small.squashfs}} を iso ファイルから ESP にコピーするだけです。そのためには、まず [https://grml.org/ grml64-small.iso] ファイルをダウンロードして(マウントポイントは以降 &#039;&#039;mnt&#039;&#039; と表記される) ファイルをマウントします。​カーネルと initramfs は {{ic|&#039;&#039;mnt&#039;&#039;/boot/grml6 small/}} にあり、圧縮されたイメージは {{ic|&#039;&#039;mnt&#039;&#039;/live/grml64-small/}} にあります。&lt;br /&gt;
&lt;br /&gt;
​次に、Grml 用のディレクトリを ESP に作成します:&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p &#039;&#039;esp&#039;&#039;/grml&lt;br /&gt;
&lt;br /&gt;
​上記のファイルをコピーします:&lt;br /&gt;
&lt;br /&gt;
 # cp &#039;&#039;mnt&#039;&#039;/boot/grml64small/vmlinuz &#039;&#039;esp&#039;&#039;/grml&lt;br /&gt;
 # cp &#039;&#039;mnt&#039;&#039;/boot/grml64small/initrd.img &#039;&#039;esp&#039;&#039;/grml&lt;br /&gt;
 # cp &#039;&#039;mnt&#039;&#039;/live/grml64-small/grml64-small.squashfs &#039;&#039;esp&#039;&#039;/grml&lt;br /&gt;
&lt;br /&gt;
​最後のステップで、システムブートローダー用のエントリを作成します。 {{ic|&#039;&#039;esp&#039;&#039;/loader/entries}} 次の内容の {{ic|grml.conf}} ファイルを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/grml.conf|2=&lt;br /&gt;
title   Grml Live Linux&lt;br /&gt;
linux   /grml/vmlinuz&lt;br /&gt;
initrd  /grml/initrd.img&lt;br /&gt;
options apm=power-off boot=live live-media-path=/grml/ nomce net.ifnames=0}}&lt;br /&gt;
&lt;br /&gt;
​使用可能なブートオプションの概要については、 [http://git.grml.org/?p=grml-live.git;a=blob_plain;f=templates/GRML/grml-cheatcodes.txt;hb=HEAD cheatcode for Grml]&lt;br /&gt;
&lt;br /&gt;
=== ESP 上の Archiso ===&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{ic|PKGBUILD}} が利用可能です: {{AUR|archiso-systemd-boot}}}}&lt;br /&gt;
&lt;br /&gt;
Grml と同様に、Arch Linux の ISO を使用することができます。そのためには、ISO ファイルからカーネル {{ic|vmlinuz-linux}}、initramfs {{ic|initramfs-linux.img}}、および squashfs イメージ {{ic|airootfs.sfs}} を EFI システムパーティションにコピーする必要があります。&lt;br /&gt;
&lt;br /&gt;
最初に [https://archlinux.org/download/ archlinux-yyy.mm.dd-x86_64.iso] をダウンロードします。&lt;br /&gt;
&lt;br /&gt;
次に、ESP に Archiso のディレクトリを作成します:&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p &#039;&#039;esp&#039;&#039;/EFI/archiso&lt;br /&gt;
&lt;br /&gt;
そこに {{ic|arch}} ディレクトリの内容を抽出します:&lt;br /&gt;
&lt;br /&gt;
 # bsdtar -v -x --no-same-permissions --strip-components 1 -f archlinux-&#039;&#039;YYYY&#039;&#039;.&#039;&#039;MM&#039;&#039;.&#039;&#039;DD&#039;&#039;-x86_64.iso -C &#039;&#039;esp&#039;&#039;/EFI/archiso arch&lt;br /&gt;
&lt;br /&gt;
最後のステップでは、systemd-boot Loader のブートエントリを作成します:{{ic|&#039;&#039;esp&#039;&#039;/roader/entries}}:&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entries/arch-rescue.conf|2=&lt;br /&gt;
title   Arch Linux (rescue system)&lt;br /&gt;
linux   /EFI/archiso/boot/x86_64/vmlinuz-linux&lt;br /&gt;
initrd  /EFI/archiso/boot/x86_64/initramfs-linux.img&lt;br /&gt;
options archisobasedir=/EFI/archiso archisosearchfilename=/EFI/archiso/boot/x86_64/vmlinuz-linux&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
利用可能なブートオプションの概要については、[https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio-archiso/-/blob/master/docs/README.bootparams README.bootparams for mkinitcpio-archiso] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== BIOS システムでの systemd-boot ===&lt;br /&gt;
&lt;br /&gt;
[https://systemd.io/BOOT_LOADER_SPECIFICATION/ ブートローダーの仕様] に従う BIOS システム用のブートローダーが必要な場合は、 BIOS システムで systemd-boot を押してサービスを開始できます。 [[Clover]] ブートローダーは BIOS システムからの起動をサポートし、シミュレートされた EFI 環境を提供します。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== systemd-boot がブートエントリを表示しない ===&lt;br /&gt;
&lt;br /&gt;
これは、カーネルへのパスが間違って指定されているなど、設定ファイルに関するさまざまな問題が原因である可能性があります。確認するには、次のコマンドを実行してください:&lt;br /&gt;
&lt;br /&gt;
 # bootctl&lt;br /&gt;
&lt;br /&gt;
=== BIOS モードで起動後にインストール ===&lt;br /&gt;
&lt;br /&gt;
{{Note|こちらの起動方法は推奨されません。}}&lt;br /&gt;
&lt;br /&gt;
BIOS モードで OS を起動したいときも &#039;&#039;systemd-boot&#039;&#039; をインストールすることは可能です。ただし、起動時に &#039;&#039;systemd-boot&#039;&#039; の EFI ファイルを実行するようにファームウェアを設定する必要があります:&lt;br /&gt;
&lt;br /&gt;
* 他の場所に機能する UEFI Shell がある場合。&lt;br /&gt;
* ファームウェアのインターフェイスから起動時にロードされる EFI ファイルを設定する。&lt;br /&gt;
* 一部のファームウェアは、UEFI に他のエントリが設定されていない場合、デフォルトで {{ic|&#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTX64.EFI}} を使用することがあります。&lt;br /&gt;
&lt;br /&gt;
設定できる場合、インストールは簡単です: EFI シェルやファームウェアの設定インターフェイスを開いて、マシンのデフォルトの EFI ファイルを {{ic|&#039;&#039;esp&#039;&#039;/EFI/systemd/systemd-bootx64.efi}} (32ビット環境の場合 {{ic|systemd-bootia32.efi}}) に変更してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|Dell Latitude シリーズのファームウェアインターフェースは、UEFI ブートの設定に必要なすべてを提供しますが、UEFI シェルはコンピュータの ROM に書き込むことができません。}}&lt;br /&gt;
&lt;br /&gt;
=== efibootmgr を使って手動エントリを追加する ===&lt;br /&gt;
&lt;br /&gt;
{{ic|bootctl install}} コマンドが失敗した場合、{{Pkg|efibootmgr}} ユーティリティを使って EFI ブートエントリを手動で作成することができます:&lt;br /&gt;
&lt;br /&gt;
 # efibootmgr --create --disk /dev/sd&#039;&#039;X&#039;&#039; --part &#039;&#039;Y&#039;&#039; --loader &#039;\EFI\systemd\systemd-bootx64.efi&#039; --label &amp;quot;Linux Boot Manager&amp;quot; --unicode&lt;br /&gt;
&lt;br /&gt;
{{ic|/dev/sdXY}} は [[EFI システムパーティション]]に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
{{Note|EFI イメージのパスでは区切り文字としてバックスラッシュ ({{ic|\}}) を使用します。}}&lt;br /&gt;
&lt;br /&gt;
=== Windows の bcdedit を使用した手動入力 ===&lt;br /&gt;
&lt;br /&gt;
何らかの理由で Windows から EFI ブートエントリを作成する必要がある場合は、管理者プロンプトから次のコマンドを使用してください。&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; bcdedit /copy {bootmgr} /d &amp;quot;Linux Boot Manager&amp;quot;&lt;br /&gt;
 &amp;gt; bcdedit /set {&#039;&#039;guid&#039;&#039;} path \EFI\systemd\systemd-bootx64.efi&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;guid&#039;&#039;}} を最初のコマンドによってリターンされた ID に置き換えます。これをデフォルトのエントリとして設定するには:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; bcdedit /default {&#039;&#039;guid&#039;&#039;}&lt;br /&gt;
&lt;br /&gt;
=== Windows をアップグレードした後にメニューが表示されない ===&lt;br /&gt;
&lt;br /&gt;
[[Unified Extensible Firmware Interface#Windows によってブート順序が変わってしまう]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Windows BitLocker TPM ロック解除のサポートを追加 ===&lt;br /&gt;
&lt;br /&gt;
BitLocker による回復キーの要求を停止するには、次の行を &#039;&#039;loader.conf&#039;&#039; に追加します。&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/loader.conf|&lt;br /&gt;
reboot-for-bitlocker yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
これにより、&#039;&#039;BootNext&#039;&#039; UEFI 変数が設定され、BitLocker が回復キーを必要とせずに &#039;&#039;Windows ブートマネージャー&#039;&#039; がロードされます。これは 1 回限りの変更であり、&#039;&#039;systemd-boot&#039;&#039; がデフォルトのブートローダーのままです。Windows が自動検出された場合は、エントリとして指定する必要はありません。&lt;br /&gt;
&lt;br /&gt;
これは実験的な機能なので、必ず {{man|5|loader.conf}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* https://systemd.io/BOOT/&lt;br /&gt;
* https://bbs.archlinux.org/viewtopic.php?id=254374&lt;br /&gt;
* https://uapi-group.org/specifications/specs/boot_loader_specification/&lt;/div&gt;</summary>
		<author><name>Ponkotuy2</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Vim&amp;diff=40522</id>
		<title>Vim</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Vim&amp;diff=40522"/>
		<updated>2025-07-06T06:40:34Z</updated>

		<summary type="html">&lt;p&gt;Ponkotuy2: Update vim ver&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:テキストエディタ]]&lt;br /&gt;
[[Category:コンソールアプリケーション]]&lt;br /&gt;
[[de:Vim]]&lt;br /&gt;
[[en:Vim]]&lt;br /&gt;
[[es:Vim]]&lt;br /&gt;
[[pt:Vim]]&lt;br /&gt;
[[ru:Vim]]&lt;br /&gt;
[[zh-hans:Vim]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|アプリケーション一覧/ドキュメント#Vi テキストエディタ}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[[Wikipedia:ja:Vim|Vim]] は、ターミナルテキストエディタです。[[vi]] の拡張版で、シンタックスハイライト、包括的なヘルプシステム、ネイティブスクリプト (Vim script)、テキスト選択のためのビジュアルモード、ファイルの比較 ({{man|1|vimdiff|pkg=vim}}) といった追加機能、および {{man|1|rview|pkg=vim}} や {{man|1|rvim|pkg=vim}} など制限付きのツールが含まれています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
以下のどちらかのパッケージをインストールしてください:&lt;br /&gt;
* {{Pkg|vim}} パッケージは Python, Lua, Ruby, Perl インタプリタをサポート、GTK/X はサポートされません。&lt;br /&gt;
* {{Pkg|gvim}} パッケージは上の {{ic|vim}} パッケージと同じものに加えて GTK/X サポートが付属。&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
* {{Pkg|vim}} パッケージには [[Xorg]] のサポートが組み込まれていません。従って、{{ic|+clipboard}} 機能がないため、Vim は X11 のプライマリ・クリップボードの[[クリップボード|セレクションバッファ]]を利用することができません。{{Pkg|gvim}} パッケージには {{ic|+clipboard}} が有効になっている完全な X サポートが入った Vim の CLI バージョンも含まれています。&lt;br /&gt;
* 非公式の [[非公式ユーザーリポジトリ#herecura|herecura]] リポジトリには様々な種類の Vim / gVim が取り揃えられています: {{ic|vim-cli}}, {{ic|vim-gvim-common}}, {{ic|vim-gvim-gtk}}, {{ic|vim-gvim-qt}}, {{ic|vim-rt}}, {{ic|vim-tiny}}}}&lt;br /&gt;
&lt;br /&gt;
==使用方法==&lt;br /&gt;
&lt;br /&gt;
これは Vim の使用方法に関する基本的な概略です。また、{{Ic|vimtutor}} もしくは {{Ic|gvimtutor}} を実行すると25-30分ほどの vim のチュートリアルが起動します。&lt;br /&gt;
&lt;br /&gt;
Vim には4つのモードが備わっています:&lt;br /&gt;
&lt;br /&gt;
* コマンドモード: キー入力はコマンドとして解釈されます。&lt;br /&gt;
* 挿入モード: キー入力はファイルに挿入されます。&lt;br /&gt;
* ビジュアルモード: キー入力でテキストを選択・カット・コピーします。&lt;br /&gt;
* Ex モード: 追加的なコマンドのための入力モード (例: ファイルの保存, テキストの置換...)&lt;br /&gt;
&lt;br /&gt;
===編集の基本===&lt;br /&gt;
&lt;br /&gt;
次のように Vim を起動すると:&lt;br /&gt;
&lt;br /&gt;
 $ vim somefile.txt&lt;br /&gt;
&lt;br /&gt;
空のドキュメントが表示されます (somefile.txt が存在しない場合。存在するときは、その中身が表示されます) このまま編集することはできません – 今いるのはコマンドモードです。このモードではキーボードを使って Vim にコマンドを実行させることができます。&lt;br /&gt;
&lt;br /&gt;
{{Note|Vim は典型的な古典的 Unix スタイルのソフトウェアです。学習曲線は急峻ですが、一度初めてしまえば、Vim がとても強力なのがわかるでしょう。また、全てのコマンドは大文字・小文字を区別します。場合によって大文字のコマンドはその元のコマンドを「大雑把にした」コマンドだったり ({{ic|s}} は文字を置き換え、{{ic|S}} は行を置き換えます)、または全く違うコマンドだったりします ({{ic|j}} は下に移動しますが、{{ic|J}} は2行を結合します)}}&lt;br /&gt;
&lt;br /&gt;
{{ic|i}} コマンドで (カーソルの前に) テキストを挿入します。{{ic|I}} (大文字の &#039;&#039;&#039;i&#039;&#039;&#039;) は行の最初にテキストを挿入します。テキストの追記 (カーソルの後ろにテキストを記述、ほとんどの人が予期するであろう挿入) には {{ic|a}} を使います。{{ic|A}} を入力するとカーソルが行末に置かれます。&lt;br /&gt;
&lt;br /&gt;
{{ic|Esc}} を押すことでいつでもコマンドモードに戻ることができます。&lt;br /&gt;
&lt;br /&gt;
===移動===&lt;br /&gt;
&lt;br /&gt;
Vim では、矢印キーを使ってカーソルを移動することができますが、これは &#039;&#039;&#039;Vim の流儀&#039;&#039;&#039;とは言えません。標準のタイピングポジションから矢印キーまで右手を動かしたり、戻したりすることになります。楽しくありません。&lt;br /&gt;
&lt;br /&gt;
Vim においては {{ic|j}} を押すことで下に移動できます。“j” は垂れ下がっていると覚えて下さい。逆に {{ic|k}} を押すことでカーソルを上に移動できます。左は {{ic|h}} で (“j” の左にあります)、右は {{ic|l}} です (小文字の &#039;&#039;&#039;L&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
{{ic|^}} はカーソルを行の最初に、{{ic|$}} は最後に移動します。&lt;br /&gt;
&lt;br /&gt;
{{Note|一般的に {{ic|^}} と {{ic|$}} は正規表現で、行の最初と最後にマッチするものとして使われます。正規表現はかなり強力で *nix 環境では大抵使われています。初めは取っ掛かりにくいように感じられるかもしれませんが、そのうちにほとんどのキーマッピングにはある「思想」が共通していることに気がつくでしょう。}}&lt;br /&gt;
&lt;br /&gt;
次の単語に進むには、{{ic|w}} キーを押します。{{ic|W}} はより多くの文字列を単語として考えます (例えばアンダースコアやダッシュを単語の一部としてみなします) 前の単語に戻るには、{{ic|b}} を使います。同じように、{{ic|B}} は Vim が単語としてみなすものにより多くの文字列を含めます。単語の末尾に移動するには、{{ic|e}} を使い、{{ic|E}} はより多くの文字列を含めて考えます。&lt;br /&gt;
&lt;br /&gt;
文の最初に移動したいときは、{{ic|(}} を使います。{{ic|)}} は反対に、センテンスの最後まで移動します。もっと大きな単位で移動したい場合は、{{ic|{}} で段落の最初まで移動できます。{{ic|&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;}} はパラグラフ全体の終末まで移動します。&lt;br /&gt;
&lt;br /&gt;
画面の一番上の行に移動するには、{{ic|H}} を使います。{{ic|M}} は画面の真ん中まで移動し、{{ic|L}} は一番下の行に移動します。{{ic|gg}} はファイルの先頭まで飛び、{{ic|G}} はファイルの一番最後まで行きます。{{ic|Ctrl+D}} はページごとにスクロールします。&lt;br /&gt;
&lt;br /&gt;
===コマンドの繰り返し===&lt;br /&gt;
&lt;br /&gt;
コマンドの前に数字を付けると、その回数分コマンドが繰り返し実行されます (ただし {{ic|s}} コマンドなど例外はあります) 例えば、{{ic|3i}} → “Help! ” → {{ic|Esc}} と入力すると “Help! Help! Help!“ と書かれます。{{ic|&amp;lt;nowiki&amp;gt;2}&amp;lt;/nowiki&amp;gt;}} なら2段落だけ前に進みます。これは次のコマンドで役に立ちます。&lt;br /&gt;
&lt;br /&gt;
===削除===&lt;br /&gt;
&lt;br /&gt;
{{ic|x}} コマンドはカーソル上の文字を削除します。{{ic|X}} はカーソルの前の文字を消します。先の繰り返しと組み合わせると便利です。{{ic|6x}} は6文字分削除します。{{ic|.}} (ドット) を押すと直前の動作が繰り返されます。例えば、何箇所に &amp;quot;foobar&amp;quot; という単語を書いていたとして、あれやこれやと考えた末、“foo” だけにしたくなったとします。その際は、&amp;quot;b&amp;quot; のところまでカーソルを移動して、{{ic|3x}} と入力して、次の &amp;quot;foobar&amp;quot; に移って {{ic|.}} (ドット) を押せば &amp;quot;bar&amp;quot; を簡単に削除できます。&lt;br /&gt;
&lt;br /&gt;
{{ic|d}} は Vim に何かを削除したいことを伝えます。{{ic|d}} を押した後、Vim に削除したいものを指定してください。移動コマンドを使うことで指定することができます。{{ic|dW}} は次の単語を削除します。{{ic|d^}} は行の先頭まで削除を行います。削除コマンドの前に数字を付けることもできます: {{ic|3dW}} は次の3つの単語を削除します。{{ic|D}} (大文字) は行末まで削除するショートカットです (つまり {{ic|d$}}) {{ic|dd}} と入力すると一行まるまる削除されます。&lt;br /&gt;
&lt;br /&gt;
単語を削除して置き換えたいときは、単語の上にカーソルを移動して {{ic|cw}} コマンドを実行してください。単語を削除してから挿入モードに移行します。一文字だけ置換するときは {{ic|r}} を使います。&lt;br /&gt;
&lt;br /&gt;
===アンドゥとリドゥ===&lt;br /&gt;
&lt;br /&gt;
Vim にはクリップボードが内蔵されています (バッファとも呼ばれます) 操作は {{ic|u}} で元に戻し {{ic|Ctrl+r}} でやり直すことができます。&lt;br /&gt;
&lt;br /&gt;
===ビジュアルモード===&lt;br /&gt;
&lt;br /&gt;
{{ic|v}} を押すことでビジュアルモードに入ることができます。ビジュアルモードではあちこち移動して文章を選択し、選択したら、{{ic|y}} を押して文章をバッファにヤンク (コピー) したり、{{ic|c}} でカットすることが可能です。カーソルの後ろには {{ic|p}} でペーストし、{{ic|P}} はカーソルの前にペーストします。{{ic|V}} は行単位で選択するビジュアルラインモードです。{{ic|Ctrl+v}} は矩形選択を行います。&lt;br /&gt;
&lt;br /&gt;
{{Note|何かを削除した時はいつでも、その何かはバッファの中に保存され、貼り付けることが可能です。}}&lt;br /&gt;
&lt;br /&gt;
===検索と置換===&lt;br /&gt;
&lt;br /&gt;
ファイル内の単語または文字を検索するには、{{ic|/}} を使って検索したい文字列を入力してエンターを押します。次の検索結果を見るには {{ic|n}} を、前の結果に戻るには {{ic|N}} を押して下さい。&lt;br /&gt;
&lt;br /&gt;
検索と置換をしたいときは代わりに {{ic|:s/}} コマンドを使います。構文は: {{Ic|[range]s///[arguments]}}。例:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
Command         Outcome&lt;br /&gt;
:s/xxx/yyy/     Replace xxx with yyy at the first occurrence&lt;br /&gt;
:s/xxx/yyy/g    Replace xxx with yyy at every occurrence in the current line&lt;br /&gt;
:s/xxx/yyy/gc   Replace xxx with yyy global with confirm&lt;br /&gt;
:%s/xxx/yyy/g   Replace xxx with yyy global in the whole file&lt;br /&gt;
:#,#s/xxx/yyy/g Replace xxx with yyy line number range&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
グローバル {{ic|:g/}} コマンドを使えばパターン検索をしてマッチした部分でコマンドを実行することができます。構文は: {{Ic|[range]:g//[cmd]}}。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
Command  Outcome&lt;br /&gt;
:g/^#/d  Delete all lines that begins with #&lt;br /&gt;
:g/^$/d  Delete all lines that are empty&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===保存と終了===&lt;br /&gt;
&lt;br /&gt;
保存や終了したいときは、Ex モードを使う必要があります。Ex モードのコマンドには {{ic|:}} を前に付けます。ファイルを保存するには {{ic|:w}} を使い、名前を付けてファイルを保存するには {{ic|&#039;&#039;&#039;:w&#039;&#039;&#039; filename}} を使います。終了は {{ic|:q}} です。変更を保存しないときには {{ic|:q!}} を使って下さい。保存して終了は {{ic|:x}} です。&lt;br /&gt;
&lt;br /&gt;
=== その他のコマンド ===&lt;br /&gt;
&lt;br /&gt;
# {{ic|s}} を押すとカーソルの文字が消され、挿入モードに変わります。{{ic|S}} は行全体を消去して、挿入モードに移行します。&lt;br /&gt;
# {{ic|o}} は行の下に新しい行を追加して挿入モードに変わります、{{ic|O}} 行の上に新しい行を追加して挿入モードに移行します。&lt;br /&gt;
# {{ic|yy}} は行全体をヤンクします。&lt;br /&gt;
# {{ic|cc}} はカーソルがある行を削除して挿入モードに入ります。&lt;br /&gt;
# {{ic|*}} は単語をハイライトして、{{ic|n}} はその単語を検索します。&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
Vim のユーザー別の設定ファイルはホームディレクトリに配置されます: {{ic|~/.vimrc}}。カレントユーザーの Vim ファイルは {{ic|~/.vim/}} の中に配置されます。グローバルな設定ファイルは {{ic|/etc/vimrc}} にあります。グローバルな Vim ファイルは {{ic|/usr/share/vim/}} の中にあります。&lt;br /&gt;
&lt;br /&gt;
gVim の場合、ユーザー固有の設定ファイルは {{ic|~/.gvimrc}} にあり、グローバル設定ファイルは {{ic|/etc/gvimrc}} にあります。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* シンタックスハイライトなどの一般的な機能は {{ic|defaults.vim}} で有効になっており、{{ic|~/.vimrc}} が存在しない場合にロードされます。{{ic|1=let skip_defaults_vim=1}} を {{ic|/etc/vimrc}} に追加することで {{ic|defaults.vim}} のロードを完全に無効化できます [https://github.com/vim/vim/issues/1033]&lt;br /&gt;
* gVim は Vim と gVim の設定ファイルの両方をロードしますが、Vim は Vim の設定ファイルのみをロードします。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 set wrapscan&lt;br /&gt;
&lt;br /&gt;
=== クリップボード ===&lt;br /&gt;
&lt;br /&gt;
{{ic|:yank}} や {{ic|:paste}} などの Vim コマンドは名前のないレジスタを使用しますが、デフォルトでは {{ic|&amp;quot;*}} レジスタがこれにあたります。{{ic|+clipboard}} 機能が有効になっている場合、{{ic|&amp;quot;*}} レジスタは X の {{ic|PRIMARY}} バッファになります。&lt;br /&gt;
&lt;br /&gt;
デフォルトのレジスタを変更するには {{ic|1=:set clipboard=unnamedplus}} で {{ic|&amp;quot;+}} レジスタを使うことができます。{{ic|&amp;quot;+}} レジスタは X の {{ic|CLIPBOARD}} バッファに相当します。&lt;br /&gt;
{{ic|clipboard}} オプションはカンマ区切りの値に設定できることに注意してください。{{ic|1=:set Clipboard=unnamedplus,unnamed}} の場合、ヤンク操作では、ヤンクされたテキストが {{ic|&amp;quot;+}} レジスタに加えて {{ic|&amp;quot;*}} レジスタにもコピーされます。(ただし、削除、変更、および配置の操作は、依然として {{ic|&amp;quot;+}} レジスタに対してのみ実行されます)&lt;br /&gt;
&lt;br /&gt;
詳細については、{{ic|:help &#039;clipboard&#039;}}を参照してください。{{ic|clipboard}} 機能に設定できる値は他にもあります。{{ic|:help Clipboard-unnamed}} を使用すると、この機能に設定できる最初の有効な値のヘルプ トピックに移動し、続いて他のすべての有効な値のヘルプに移動できます。&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* コピー&amp;amp;ペースト操作のためのカスタムショートカットを作成できます。{{ic|Ctrl+c}}、{{ic|Ctrl+v}}、および {{ic|Ctrl+x}} のバインディングについては、[https://superuser.com/a/189198] を参照してください。&lt;br /&gt;
* X クリップボードは vim が終了するとフラッシュされます。vim の選択を X クリップボード内で永続的にするには、[[クリップボードマネージャ]] が必要です。あるいは、 {{ic|autocmd VimLeave * call system(&amp;quot;echo -n $&#039;&amp;quot; . escape(getreg(), &amp;quot;&#039;&amp;quot;) . &amp;quot;&#039; {{!}} xsel --input --clipboard&amp;quot;)}} を {{ic|.vimrc}} に追加します。({{Pkg|xsel}} パッケージが必要です)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===シンタックスハイライト===&lt;br /&gt;
&lt;br /&gt;
シンタックスハイライトを有効にするには (Vim は膨大な数のプログラミング言語をサポートしています):&lt;br /&gt;
&lt;br /&gt;
 :filetype plugin on&lt;br /&gt;
 :syntax on&lt;br /&gt;
&lt;br /&gt;
=== インデント ===&lt;br /&gt;
&lt;br /&gt;
特定のファイルタイプのインデントファイルをロードするには:&lt;br /&gt;
&lt;br /&gt;
 :filetype indent on&lt;br /&gt;
&lt;br /&gt;
=== 折返し表示 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|wrap}} オプションはデフォルトでオンになっており、ウィンドウの幅より長い行を折り返し、残りの行を次の行に表示するように Vim に指示します。{{ic|wrap}} オプションはテキストの表示方法のみに影響し、テキスト自体は変更されません。&lt;br /&gt;
&lt;br /&gt;
折り返しは通常、単語の途中であっても、ウィンドウに収まる最後の文字の後に行われます。よりインテリジェントな折り返しは {{ic|linebreak}} オプションで制御できます。{{ic|set linebreak}} で有効にすると、{{ic|breakat}} 文字列オプションにリストされた文字の後に折り返しが発生します。&lt;br /&gt;
&lt;br /&gt;
折り返された行は通常、インデントに関係なく次の行の先頭に表示されます。[https://retracile.net/wiki/VimBreakIndent breakindent] オプションは、長い行を折り返すときにインデントを考慮し、折り返された行が前に表示されていた行と同じインデントを保つように Vim に指示します。{{ic|breakindent}} の動作は {{ic|breakindentopt}} オプションで微調整することができ、例えば Python ファイルでは折り返す行をさらに 4 スペース右にずらすことができます (詳細は{{ic|:help breakindentopt}} を参照してください):&lt;br /&gt;
&lt;br /&gt;
 autocmd FileType python set breakindentopt=shift:4&lt;br /&gt;
&lt;br /&gt;
===マウスを使う===&lt;br /&gt;
&lt;br /&gt;
Vim にはマウスを利用できるようにする機能がありますが、特定のターミナルでしか機能しません (Linux なら [[xterm]] と {{Pkg|gpm}} による Linux コンソール、あるいは [[PuTTY]]、詳しくは[[コンソールマウスサポート]] を参照)&lt;br /&gt;
&lt;br /&gt;
この機能を有効にするには次の行を {{ic|~/.vimrc}} に追加してください:&lt;br /&gt;
 set mouse=a&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.vimrc}} が存在しない場合 {{ic|1=mouse=a}} オプションを {{ic|defaults.vim}} に設定することで読み込まれます。&lt;br /&gt;
&lt;br /&gt;
{{Note|ターミナルでマウスを有効にすると、X サーバーにアクセスできる場合、コピー&amp;amp;ペーストは {{ic|&amp;quot;*}} レジスタを使うようになります。Shift キーを押すことで xterm によるマウスボタンの処理を利用できます。{{ic|clipboard}} オプションも参照してください。}}&lt;br /&gt;
&lt;br /&gt;
===矢印キーによる行移動===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、行頭で {{ic|←}} を押したり、行末で {{ic|→}} を押しても、カーソルは前の行や次の行に移動しません。&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.vimrc}} ファイルに {{ic|1=set whichwrap=b,s,&amp;lt;,&amp;gt;,[,]}} を追加することでこのデフォルトの挙動を変更することができます。&lt;br /&gt;
&lt;br /&gt;
== ファイルのマージ ==&lt;br /&gt;
&lt;br /&gt;
Vim には差分エディタが入っています。2つ (もしくはそれ以上) のファイルの差分をマージするのを助けるプログラムです。{{ic|vimdiff}} は横にマルチペイン表示を行って差分を色でハイライトします、それぞれのペインには確認・編集するファイルが開かれます。Vim には[[#使用方法|複数のモード]]が存在しますが、重要なのは文章を編集する&#039;&#039;&#039;挿入モード&#039;&#039;&#039;と、ウィンドウや行をわたってカーソルを移動する&#039;&#039;&#039;コマンドモード&#039;&#039;&#039;の2つです。{{ic|vimdiff file1 file2}} を実行して起動します。以下はいくつかのコマンドの例です。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! アクション          !! ショートカット&lt;br /&gt;
|-&lt;br /&gt;
| 次の差分     || {{ic|]c}}&lt;br /&gt;
|-&lt;br /&gt;
| 前の差分 || {{ic|[c}}&lt;br /&gt;
|-&lt;br /&gt;
| カーソルが (ハイライトされた) 差分の上にあるとき、もうひとつのウィンドウから現在のウィンドウに差分をコピー     || {{ic|do}}&lt;br /&gt;
|-&lt;br /&gt;
| 現在のウィンドウからもうひとつのウィンドウへ差分をコピー        || {{ic|dp}}&lt;br /&gt;
|-&lt;br /&gt;
| 折り畳まれた文章を開く       || {{ic|zo}}&lt;br /&gt;
|-&lt;br /&gt;
| 折り畳まれた文章を閉じる      || {{ic|zc}}&lt;br /&gt;
|-&lt;br /&gt;
| ファイルの差分を再スキャン    || {{ic|:diffupdate}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
作業を完遂するための特定のユーザーのトリック。&lt;br /&gt;
&lt;br /&gt;
===行番号===&lt;br /&gt;
&lt;br /&gt;
* {{Ic|:set number}} で行番号を表示。&lt;br /&gt;
* {{ic|:set relativenumber}} で相対的な行番号を表示。&lt;br /&gt;
* {{Ic|:&amp;lt;line number&amp;gt;}} でその行番号にジャンプ。&lt;br /&gt;
&lt;br /&gt;
ジャンプはジャンプリストに記録されます。詳しくは {{ic|:h jump-motions}} を参照。&lt;br /&gt;
&lt;br /&gt;
=== スペルチェック ===&lt;br /&gt;
&lt;br /&gt;
 set spell&lt;br /&gt;
&lt;br /&gt;
この設定を使うと、Vim はスペルが間違っている単語をハイライトします。ミススペルの単語にカーソルを載せて {{ic|1=z=}} を入力すればスペルのサジェストが表示されます。&lt;br /&gt;
&lt;br /&gt;
デフォルトでは英語の辞書しかインストールされていません、他の辞書は[[公式リポジトリ]]からインストールできます。利用可能な言語のリストを表示するには:&lt;br /&gt;
&lt;br /&gt;
 # pacman -Ss vim-spell&lt;br /&gt;
&lt;br /&gt;
言語辞書は [http://ftp.vim.org/vim/runtime/spell/ Vim FTP archive] からも入手できます。ダウンロードした辞書は {{ic|~/.vim/spell}} フォルダに配置して、次を入力して辞書をセットしてください: {{ic|1=:setlocal spell spelllang=LL}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* LaTeX (または TeX) 文章のスペルチェックのみを有効にしたいときは、{{ic|1=autocmd FileType tex setlocal spell spelllang=en_us}} を {{ic|~/.vimrc}} や {{ic|/etc/vimrc}} に追加して、Vim を再起動してください。英語以外の言語のスペルチェックを使う場合は、{{ic|en_us}} を適当な言語で置き換えて下さい。&lt;br /&gt;
* 2つの言語のスペルチェックを有効にするには (例えば英語とドイツ語)、{{ic|1=set spelllang=en,de}} を {{ic|~/.vimrc}} や {{ic|/etc/vimrc}} に追加して、Vim を再起動してください。&lt;br /&gt;
* FileType プラグインとファイルタイプを検出するカスタムルールを使うことで任意のファイルタイプ (例: *.txt) のスペルチェックを有効にすることができます。名前の最後が {{ic|*.txt}} で終わるファイルのスペルチェックを有効にするには、{{ic|/usr/share/vim/vimfiles/ftdetect/plaintext.vim}} ファイルを作成して、{{ic|autocmd BufRead,BufNewFile *.txt    setfiletype plaintext}} という行をファイルの中に記述します。そうしたら、{{ic|1=autocmd FileType plaintext setlocal spell spelllang=en_us}} を {{ic|~/.vimrc}} や {{ic|/etc/vimrc}} に追加して、Vim を再起動してください。もしくは、{{ic|~/.vimrc}} または {{ic|/etc/vimrc}} に {{ic|autocmd BufRead,BufNewFile *.txt setlocal spell}} 行を追加してから Vim を再起動してください。スペルチェックを使用するファイルタイプ ({{ic|*.txt}}) を指定するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
=== 実行状態の保存 ===&lt;br /&gt;
&lt;br /&gt;
通常、{{ic|vim}} を終了すると、開いているファイル、コマンドラインの履歴、ヤンクしたテキストなど、必要のない情報はすべて破棄されます。この情報を保存するかどうかは、以下の方法で設定できます。&lt;br /&gt;
&lt;br /&gt;
==== viminfo ファイル ====&lt;br /&gt;
&lt;br /&gt;
また、{{ic|viminfo}} ファイルには、コマンドライン履歴、検索文字列履歴、入力行履歴、レジスタの内容、ファイルのマーク、ファイル内の位置マーク、最後の検索/置換パターン (セッション内で {{ic|n}} と {{ic|&amp;amp;}} による検索モードで使用)、バッファリスト、定義済みのあらゆるグローバル変数を保存するために使用されることがあります。{{ic|viminfo}} モダリティを使用するには、インストールした {{ic|vim}} のバージョンが {{ic|+viminfo}} 機能付きでコンパイルされている必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ic|viminfo}} ファイルに何を残すかを設定するには、例えば {{ic|~/.vimrc}} ファイルに以下のように記述します。&lt;br /&gt;
&lt;br /&gt;
 set viminfo=&#039;10,&amp;lt;100,:100,%,n~/.vim/.viminfo&lt;br /&gt;
&lt;br /&gt;
各パラメータの前には識別子が付きます:&lt;br /&gt;
&lt;br /&gt;
 &#039;q  : q, 記憶された編集済みファイルの数&lt;br /&gt;
 &amp;lt;m  : m, 各レジスタに保存される行数&lt;br /&gt;
 :p  : p, 記憶された履歴コマンド行の数&lt;br /&gt;
 %   : バッファリストを保存して復元します&lt;br /&gt;
 n...: viminfo ファイルへの完全修飾パス (これはリテラル &amp;quot;&#039;&#039;n&#039;&#039;&amp;quot; であることに注意してください。)&lt;br /&gt;
&lt;br /&gt;
既存の {{ic|viminfo}} ファイルが現在のセッション情報、例えばあなたが終了しようとしている現在のセッションのいくつかのバッファから更新されるときに、どのように変更されるかの詳細については、公式 [https://vimdoc.sourceforge.net/htmldoc/options.html#&#039;viminfo&#039; viminfo documentation] をご覧ください。&lt;br /&gt;
&lt;br /&gt;
==== セッションファイル ====&lt;br /&gt;
&lt;br /&gt;
セッションファイルは、任意の数の特定のセッションの状態を長期にわたって保存するために使用できます。各セッションやプロジェクトに1つの個別のセッションファイルを使用することができます。このモダリティを使用するには、インストールした {{ic|vim}} のバージョンが {{ic|+mksession}} 機能付きでコンパイルされている必要があります。&lt;br /&gt;
&lt;br /&gt;
セッション内で {{ic|:mksession[!] [&#039;&#039;my_session_name.vim&#039;&#039;]}} はカレントディレクトリの {{ic|&#039;&#039;my_session_name.vim&#039;&#039;}} に vim-script を書き出します。ファイル名を &#039;&#039;not&#039;&#039; にするとデフォルトで {{ic|Session.vim}} が使われます。オプションの {{ic|!}} は、同じ名前とパスの既存のセッションファイルを破棄します。&lt;br /&gt;
&lt;br /&gt;
{{ic|vim}} セッションは、ターミナルから &#039;&#039;vim&#039;&#039; を起動するときに再開できます:&lt;br /&gt;
&lt;br /&gt;
 $ vim -S [&#039;&#039;my_session_name.vim&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
または、vim コマンドを実行して、既に開いているセッション バッファーで次のようにします。&lt;br /&gt;
&lt;br /&gt;
 :source &#039;&#039;my_session_name.vim&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
保存される内容やセッションファイルのオプションの詳細については、[https://vimdoc.sourceforge.net/htmldoc/usr_21.html#21.4 vim documentation] で詳しく説明されています。コメント付きの例は、[https://vim.wikia.com/wiki/Go_away_and_come_back ここ] にあります。&lt;br /&gt;
&lt;br /&gt;
==== カーソル位置の保存 ====&lt;br /&gt;
&lt;br /&gt;
こちらを参照 [https://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session Restore cursor to file position in previous editing session]&lt;br /&gt;
&lt;br /&gt;
===vi コマンドを vim で置き換える===&lt;br /&gt;
&lt;br /&gt;
{{ic|vi}} を {{ic|vim}} にする [[Bash#エイリアス|エイリアス]] を作成してください。&lt;br /&gt;
&lt;br /&gt;
もしくは、{{ic|sudo vi}} と入力したときに {{ic|vim}} が起動するようにしたい場合、{{AUR|vi-vim-symlink}} をインストールしてください。{{ic|vi}} が削除され {{ic|vim}} のシンボリックリンクで置き換えられます。&lt;br /&gt;
&lt;br /&gt;
=== DOS/Windows のキャリッジリターン (CR)===&lt;br /&gt;
&lt;br /&gt;
行末に &amp;quot;^M&amp;quot; が表示されることがあります。これは MS-DOS や Windows で作成したテキストファイルを編集しようとしたときに起こります。&lt;br /&gt;
&lt;br /&gt;
解決方法:&lt;br /&gt;
次のコマンドで &amp;quot;^M&amp;quot; を全て置換:&lt;br /&gt;
&lt;br /&gt;
{{bc|:%s/^M//g}}&lt;br /&gt;
&lt;br /&gt;
注意、&amp;quot;^&amp;quot; は制御文字なので、{{ic|Ctrl+Q}} を押して正しい &amp;quot;^&amp;quot; を取得してください。&lt;br /&gt;
&lt;br /&gt;
もしくは、公式リポジトリから {{pkg|dos2unix}} パッケージをインストールして、{{ic|dos2unix &amp;lt;file name here&amp;gt;}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|fileformat}} の設定を変えるという方法もあります。{{ic|&amp;lt;nowiki&amp;gt;set ff=unix&amp;lt;/nowiki&amp;gt;}} で DOS/Windows の改行コードが使われているファイルを Unix の改行コードに変換できます。逆をしたい場合、{{ic|&amp;lt;nowiki&amp;gt;set ff=dos&amp;lt;/nowiki&amp;gt;}} で Unix の改行コードが DOS/Windows の改行コードに変換されます。}}&lt;br /&gt;
&lt;br /&gt;
=== gVim ウィンドウの底部の空きスペース ===&lt;br /&gt;
&lt;br /&gt;
ウィンドウサイズのヒントを無視するように設定された[[ウィンドウマネージャ]]を使っている場合、gVim は空の領域を GTK テーマの背景色で塗りつぶします。&lt;br /&gt;
&lt;br /&gt;
解決方法はウィンドウ下部の gVim が確保するスペースを調整することです。ゼロに設定した場合、下の横スクロールバーが見えなくなってしまうことがあるので注意してください。次の行を {{ic|~/.vimrc}} に記述します:&lt;br /&gt;
&lt;br /&gt;
 set guiheadroom=0&lt;br /&gt;
&lt;br /&gt;
=== Vim をページャとして使う ===&lt;br /&gt;
&lt;br /&gt;
スクリプトを使える Vim は [[アプリケーション一覧/ユーティリティ#ターミナルページャ]] として使用することができ、配色などの様々な Vim の機能を得ることができます。&lt;br /&gt;
&lt;br /&gt;
Vim には {{ic|/usr/share/vim/vim91/macros/less.sh}} スクリプトが付属しており、その [[エイリアス]] を作成することで利用できます。このスクリプトは {{man|1|less|OPTIONS}} で述べられているコマンドラインフラグをサポートしていないことに注意してください。&lt;br /&gt;
&lt;br /&gt;
代わりに、{{Pkg|vimpager}} という Vim スクリプトもあります。Vim スクリプトもあります。デフォルトのページャーを変更するには、環境変数 {{ic|PAGER}} を [[export]] してください。全てのコマンドラインフラグに対応しているわけではないことに注意してください。対応するフラグの一覧は、こちらを参照してください。 [https://github.com/rkitover/vimpager#command-line-options available on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== 検索結果の強調表示 ===&lt;br /&gt;
&lt;br /&gt;
検索の入力中に検索で一致する最初の文字列を強調表示するには、{{ic |~/.vimrc}} に次の行を追加します。&lt;br /&gt;
&lt;br /&gt;
 set incsearch&lt;br /&gt;
&lt;br /&gt;
検索の入力中に検索で一致するすべての文字列を強調表示するには、検索が実行された後、{{ic |~/.vimrc}} に次の行を追加します。&lt;br /&gt;
&lt;br /&gt;
 set hlsearch&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* {{ic|hlsearch}} を設定すると、さらに検索が行われるまで、すべての一致が強調表示されたままになります。この動作は望ましくない場合があるため、次の検索まで一時的に強調表示を無効にするには、{{ic|:nohlsearch}} を実行します。このコマンドを頻繁に実行する場合は、コマンドをキーにバインドすることを検討してください。&lt;br /&gt;
* この動作は、{{ic|s}} や {{ic|g}} などの正規表現を含む他のコマンドで正規表現を照合するときにも表示されます。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== XDG Base Directory 仕様の回避策 ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/vim/vim/commit/6a459902592e2a4ba68 7.3.1178] 以降、{{ic|~/.vimrc}} が見つからない場合、vim は {{ic|~/.vim/vimrc}} を検索します。&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;quot;$XDG_CONFIG_HOME&amp;quot;/vim/vimrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
set runtimepath^=$XDG_CONFIG_HOME/vim&lt;br /&gt;
set runtimepath+=$XDG_DATA_HOME/vim&lt;br /&gt;
set runtimepath+=$XDG_CONFIG_HOME/vim/after&lt;br /&gt;
&lt;br /&gt;
set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim&lt;br /&gt;
set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after&lt;br /&gt;
&lt;br /&gt;
let g:netrw_home = $XDG_DATA_HOME.&amp;quot;/vim&amp;quot;&lt;br /&gt;
call mkdir($XDG_DATA_HOME.&amp;quot;/vim/spell&amp;quot;, &#039;p&#039;)&lt;br /&gt;
&lt;br /&gt;
set backupdir=$XDG_STATE_HOME/vim/backup | call mkdir(&amp;amp;backupdir, &#039;p&#039;)&lt;br /&gt;
set directory=$XDG_STATE_HOME/vim/swap   | call mkdir(&amp;amp;directory, &#039;p&#039;)&lt;br /&gt;
set undodir=$XDG_STATE_HOME/vim/undo     | call mkdir(&amp;amp;undodir,   &#039;p&#039;)&lt;br /&gt;
set viewdir=$XDG_STATE_HOME/vim/view     | call mkdir(&amp;amp;viewdir,   &#039;p&#039;)&lt;br /&gt;
&lt;br /&gt;
if !has(&#039;nvim&#039;) | set viminfofile=$XDG_STATE_HOME/vim/viminfo | endif&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.profile|2=&lt;br /&gt;
export GVIMINIT=&#039;let $MYGVIMRC=&amp;quot;$XDG_CONFIG_HOME/vim/gvimrc&amp;quot; {{!}} source $MYGVIMRC&#039;&lt;br /&gt;
export VIMINIT=&#039;let $MYVIMRC=&amp;quot;$XDG_CONFIG_HOME/vim/vimrc&amp;quot; {{!}} source $MYVIMRC&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|[G]VIMINIT}} 環境変数は、Neovim にも影響します。Vim と Neovim に個別の設定が必要な場合は、次の方が適切な選択になります:&lt;br /&gt;
 export GVIMINIT=&#039;let $MYGVIMRC = !has(&amp;quot;nvim&amp;quot;) ? &amp;quot;$XDG_CONFIG_HOME/vim/gvimrc&amp;quot; : &amp;quot;$XDG_CONFIG_HOME/nvim/init.gvim&amp;quot; | so $MYGVIMRC&#039;&lt;br /&gt;
 export VIMINIT=&#039;let $MYVIMRC = !has(&amp;quot;nvim&amp;quot;) ? &amp;quot;$XDG_CONFIG_HOME/vim/vimrc&amp;quot; : &amp;quot;$XDG_CONFIG_HOME/nvim/init.vim&amp;quot; | so $MYVIMRC&#039;&lt;br /&gt;
&lt;br /&gt;
* https://jorengarenar.github.io/blog/vim-xdg&lt;br /&gt;
* https://tlvince.com/vim-respect-xdg&lt;br /&gt;
&lt;br /&gt;
== プラグイン ==&lt;br /&gt;
&lt;br /&gt;
vim にプラグインを追加することで、Vim の機能が拡張され、生産性が向上します。プラグインは、Vim の UI の変更、新しいコマンドの追加、コード補完サポートの有効化、他のプログラムやユーティリティと Vim との統合、追加言語のサポートの追加などを行うことができます。&lt;br /&gt;
&lt;br /&gt;
{{Tip|人気のあるプラグインのリストについては、[https://vimawesome.com/ Vim Awesome] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
=== インストール ===&lt;br /&gt;
&lt;br /&gt;
==== 内蔵のパッケージマネージャを使う ====&lt;br /&gt;
&lt;br /&gt;
Vim 8 では、サードパーティのプラグインをネイティブにロードできる機能が追加されました。この機能は、サードパーティのパッケージを {{ic|~/.vim/pack}} フォルダーに保存することで使用できます。このフォルダーの構造は、通常プラグインごとに1つのディレクトリを持つ一般的なプラグインマネージャーの構造とは少し異なります。以下は一般的なインストール手順とディレクトリ構造です (例として [https://github.com/tpope/vim-surround Tim Pope の vim-surround プラグイン] を使用):&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/.vim/pack/tpope/start&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.vim/pack/tpope}} はパッケージディレクトリであり、[https://vimhelp.org/repeat.txt.html#packages Vim documentation] では1つ以上のプラグインを含むディレクトリとして大まかに定義されていることに注意することが重要です。ただし、プラグインリポジトリはこのディレクトリにダウンロードしないでください。パッケージディレクトリの名前も任意です。すべてのプラグインを1つのパッケージディレクトリに保存するか、この例のように作成者の GitHub 名 {{ic|tpope}} を使用するかを選択できます。&lt;br /&gt;
&lt;br /&gt;
パッケージディレクトリには次のサブフォルダーを含めることができます:&lt;br /&gt;
&lt;br /&gt;
* {{ic|start}} - このサブフォルダーのプラグインは、Vim の起動時に自動的にロードされます。ここは最も頻繁に使用される場所です。&lt;br /&gt;
* {{ic|opt}} - このサブフォルダーのプラグインは、Vim 内で {{ic|:packadd}} コマンドを発行することでオンデマンドでロードできます。&lt;br /&gt;
&lt;br /&gt;
次に、{{ic|start}} フォルダーに移動し、プラグインリポジトリをチェックアウトします:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/.vim/pack/tpope/start&lt;br /&gt;
 $ git clone https://tpope.io/vim/surround.git&lt;br /&gt;
&lt;br /&gt;
これにより、追加のサブフォルダー {{ic|~/.vim/pack/tpope/start/surround}} が作成され、そこにプラグインファイルが配置されます。&lt;br /&gt;
&lt;br /&gt;
次に、プラグインにヘルプファイルが含まれている場合は、ヘルプインデックスを更新します:&lt;br /&gt;
&lt;br /&gt;
 $ vim -u NONE -c &amp;quot;helptags surround/doc&amp;quot; -c q&lt;br /&gt;
&lt;br /&gt;
これで Vim の起動時にプラグインが自動的にロードされるようになります。プラグイン固有のオプションを除き、{{ic|~/.vimrc}} を変更する必要はありません。&lt;br /&gt;
&lt;br /&gt;
==== プラグインマネージャを使う ====&lt;br /&gt;
&lt;br /&gt;
プラグインマネージャーは、Vim プラグインをインストール、管理、更新するプラグインです。これは、Arch Linux 以外のプラットフォームでも Vim を使用していて、プラグインを更新する一貫した方法が必要な場合に役立ちます。&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/junegunn/vim-plug Vim-plug] はミニマルな Vim プラグインマネージャです。必要に応じてプラグインをロードしたり並列アップデートなどの多数の機能を備えています。{{AUR|vim-plug}} または {{AUR|vim-plug-git}} として利用できます。&lt;br /&gt;
* [https://github.com/gmarik/Vundle.vim Vundle] {{AUR|vundle}} または {{AUR|vundle-git}} として利用できます。&lt;br /&gt;
* [https://github.com/tpope/vim-pathogen pathogen.vim] Vim のランタイムパスを管理するためのシンプルなプラグインで、{{AUR|vim-pathogen}} または {{AUR|vim-pathogen-git}} として利用できます。&lt;br /&gt;
* [https://github.com/Shougo/dein.vim Dein.vim] [https://github.com/Shougo/neobundle.vim NeoBundle] に代わるプラグインマネージャーで、{{AUR|vim-dein}} または {{AUR|vim-dein-git}} として入手できます。&lt;br /&gt;
&lt;br /&gt;
==== Arch のリポジトリを使う ====&lt;br /&gt;
&lt;br /&gt;
{{Grp|vim-plugins}} グループには様々なプラグインが入っています。{{ic|pacman -Sg vim-plugins}} コマンドを使うことで pacman で[[インストール]]できるパッケージのリストを確認できます。&lt;br /&gt;
&lt;br /&gt;
=== 注目のプラグイン ===&lt;br /&gt;
&lt;br /&gt;
==== cscope ====&lt;br /&gt;
&lt;br /&gt;
[http://cscope.sourceforge.net/ Cscope] はプロジェクトを閲覧するためのツールです。単語/シンボル/関数まで移動して (ショートカットキーを使って) cscope を呼び出すことで次のことがわかります: 関数を呼び出している関数や、関数の定義など。コードベースを検索するには複数の手順が必要です。&lt;br /&gt;
&lt;br /&gt;
{{Pkg|cscope}} パッケージを [[インストール]] してください。&lt;br /&gt;
&lt;br /&gt;
cscope のデフォルトファイルを vim が自動的に読み取るところへコピーします:&lt;br /&gt;
 mkdir -p ~/.vim/plugin&lt;br /&gt;
 wget -P ~/.vim/plugin http://cscope.sourceforge.net/cscope_maps.vim &lt;br /&gt;
&lt;br /&gt;
{{Note|Vim 7.x で cscope ショートカットを有効にするには、おそらく {{ic|~/.vim/plugin/cscope_maps.vim}} でこれらの行のコメントを解除する必要があります。:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
set timeoutlen=4000&lt;br /&gt;
set ttimeout&lt;br /&gt;
}}}}&lt;br /&gt;
&lt;br /&gt;
cscope にインデックス化して欲しいファイルを記述したファイルを作成 (Cscope は多数の言語を扱えますがこの例では .c, .cpp, .h ファイルを find しています):&lt;br /&gt;
&lt;br /&gt;
 $ cd &#039;&#039;/path/to/project/dir&#039;&#039;&lt;br /&gt;
 $ find . -type f -print | grep -E &#039;\.(c(pp)?|h)$&#039; &amp;gt; cscope.files&lt;br /&gt;
&lt;br /&gt;
cscope が読み取るデータベースファイルを作成します:&lt;br /&gt;
&lt;br /&gt;
 cscope -bq&lt;br /&gt;
&lt;br /&gt;
{{Note|この場所からプロジェクトファイルを閲覧するか、{{ic|$CSCOPE_DB}} 変数を設定して {{ic|cscope.out}} ファイルの場所を指定してください。}}&lt;br /&gt;
&lt;br /&gt;
デフォルトのキーボードショートカット:&lt;br /&gt;
&lt;br /&gt;
  Ctrl-\ and&lt;br /&gt;
       c: Find functions calling this function&lt;br /&gt;
       d: Find functions called by this function&lt;br /&gt;
       e: Find this egrep pattern&lt;br /&gt;
       f: Find this file&lt;br /&gt;
       g: Find this definition&lt;br /&gt;
       i: Find files #including this file&lt;br /&gt;
       s: Find this C symbol&lt;br /&gt;
       t: Find assignments to&lt;br /&gt;
&lt;br /&gt;
ショートカットは自由に変更することができます。&lt;br /&gt;
&lt;br /&gt;
 #Maps ctrl-c to find functions calling the function &lt;br /&gt;
 nnoremap &amp;lt;C-c&amp;gt; :cs find c &amp;lt;C-R&amp;gt;=expand(&amp;quot;&amp;lt;cword&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Taglist ====&lt;br /&gt;
&lt;br /&gt;
[http://vim-taglist.sourceforge.net/ Taglist] はソースコードファイルの構造の概観を提供し、様々なプログラミング言語で書かれたソースコードファイルを効率的に閲覧できるようにします。&lt;br /&gt;
&lt;br /&gt;
{{AUR|vim-taglist}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.vimrc}} に記述する有用なオプション:&lt;br /&gt;
 let Tlist_Compact_Format = 1&lt;br /&gt;
 let Tlist_GainFocus_On_ToggleOpen = 1&lt;br /&gt;
 let Tlist_Close_On_Select = 1&lt;br /&gt;
 nnoremap &amp;lt;C-l&amp;gt; :TlistToggle&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== gVim が遅い ===&lt;br /&gt;
&lt;br /&gt;
Vim の GTK3GUI は GTK2 バージョンよりも遅い場合があります({{Bug|51366}} を参照)  {{Aur|gvim-gtk2}} を回避策としてインストールしてみて下さい。&lt;br /&gt;
&lt;br /&gt;
=== 双方向サポート ===&lt;br /&gt;
&lt;br /&gt;
Vim は依然として [[双方向テキスト#サポート|完全な双方向サポートが不足]] であり、これは端末によって異なります。&lt;br /&gt;
&lt;br /&gt;
{{ic|:rightleft}} を使用してテキストの位置を強制的に揃えます。以下を使用してキーバインドに割り当てることができます。&lt;br /&gt;
&lt;br /&gt;
 inoremap &amp;lt;C-X&amp;gt; &amp;lt;C-O&amp;gt;:silent if &amp;amp;rl &amp;lt;Bar&amp;gt; set rl! &amp;lt;Bar&amp;gt; else &amp;lt;Bar&amp;gt; set rl &amp;lt;Bar&amp;gt; endif&amp;lt;CR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vim には独自の文字整形機能があります。いくつかの [https://github.com/vim/vim/issues/14115 レンダリングの問題] にもかかわらず、これは [[alacritty]] や [[st]] のような文字整形をサポートしていない端末でも機能します。整形は [http://unicode.org/charts/PDF/UFE70.pdf アラビア語プレゼンテーションフォーム-B (U+FE70–FEFF)] に依存するため、フォントにこれらの文字のサポートが含まれていることを確認してください。これらの文字を完全にサポートする既知の等幅フォントがないため、追加のフォールバックフォント (例: {{pkg|ttf-dejavu}} へのフォールバックを備えた {{AUR|vazir-code-fonts}}) が必要です。端末フォントの設定例については、[[St#アラビア語シェーピングのサポート]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
ただし、端末が gnome-terminal やその他の libvte ベースの端末のような文字整形をサポートしている場合、Vim と端末の文字整形が競合する可能性があります。現在の回避策は、{{ic|:set arabicshape!}} による整形を無効にすることですが、これにより、{{ic|:set rightleft}} のときにテキストが反転してしまうことに注意してください。詳細については、[https://vim-jp.org/vimdoc-en/arabic.html :set arabic] を参照してください。&lt;br /&gt;
&lt;br /&gt;
==参照==&lt;br /&gt;
&lt;br /&gt;
===公式===&lt;br /&gt;
* [http://www.vim.org/ ホームページ]&lt;br /&gt;
* [http://vimdoc.sourceforge.net/ ドキュメント]&lt;br /&gt;
* [http://vim.wikia.com Vim Wiki]&lt;br /&gt;
* [http://www.vim.org/scripts/ Vim Scripts]&lt;br /&gt;
&lt;br /&gt;
=== チュートリアル ===&lt;br /&gt;
&lt;br /&gt;
* [https://danielmiessler.com/study/vim/ vim Tutorial and Primer]&lt;br /&gt;
* [http://usalug.org/vi.html vi Tutorial and Reference Guide]&lt;br /&gt;
* [http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html Graphical vi-Vim Cheat Sheet and Tutorial]&lt;br /&gt;
* [http://blog.interlinked.org/tutorials/vim_tutorial.html Vim Introduction and Tutorial]&lt;br /&gt;
* [http://www.openvim.com/ Open Vim] - Vim 学習ツールのコレクション。&lt;br /&gt;
* [http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ Learn Vim Progressively]&lt;br /&gt;
* [http://benmccormick.org/learning-vim-in-2014/ Learning Vim in 2014]&lt;br /&gt;
* [http://www.moolenaar.net/habits.html Seven habits of effective text editing]&lt;br /&gt;
* [http://bencrowder.net/files/vim-fu/ Basic Vim Tips]&lt;br /&gt;
&lt;br /&gt;
==== 動画 ====&lt;br /&gt;
&lt;br /&gt;
* [http://vimcasts.org/ Vimcasts] - &#039;&#039;.ogg&#039;&#039; 形式のスクリーンキャスト。&lt;br /&gt;
* [http://derekwyatt.org/vim/tutorials/ Vim Tutorial Videos] - 基本事項から高度な話題までカバー。&lt;br /&gt;
&lt;br /&gt;
==== チートシート ====&lt;br /&gt;
&lt;br /&gt;
* https://devhints.io/vim&lt;br /&gt;
* https://vim.rtorr.com/ - モバイルフレンドリーな Vim のチートシート。 - [https://github.com/rtorr/vim-cheat-sheet Sources]&lt;br /&gt;
&lt;br /&gt;
==== ゲーム ====&lt;br /&gt;
&lt;br /&gt;
* [http://vim-adventures.com/ Vim Adventures]&lt;br /&gt;
* [http://vimgolf.com/ VimGolf]&lt;br /&gt;
&lt;br /&gt;
===設定===&lt;br /&gt;
* [https://web.archive.org/web/20131020125020/http://nion.modprobe.de/setup/vimrc nion&#039;s]&lt;br /&gt;
* [http://amix.dk/vim/vimrc.html A detailed configuration from Amir Salihefendic]&lt;br /&gt;
* [https://web.archive.org/web/20131004071740/http://www.jukie.net/~bart/conf/vimrc Bart Trojanowski]&lt;br /&gt;
* [https://github.com/spf13/spf13-vim Steve Francia&#039;s Vim Distribution]&lt;br /&gt;
* [http://vimawesome.com/ Vim Awesome] - Vim プラグイン&lt;br /&gt;
* [https://github.com/W4RH4WK/dotVim W4RH4WK の Vim 設定]&lt;br /&gt;
* [https://www.askapache.com/linux/fast-vimrc/ Fast vimrc/colorscheme from askapache]&lt;br /&gt;
* [https://gist.github.com/anonymous/c966c0757f62b451bffa Basic vimrc]&lt;br /&gt;
* [http://www.usevim.com/ Usevim]&lt;br /&gt;
&lt;br /&gt;
====カラー====&lt;br /&gt;
&lt;br /&gt;
* [http://bytefluent.com/vivify/ Vivify] — Vim のカラースキームエディタ。&lt;br /&gt;
* [https://linuxtidbits.wordpress.com/2014/10/14/vim-customize-installed-colorschemes/ Vim colorscheme customization]&lt;/div&gt;</summary>
		<author><name>Ponkotuy2</name></author>
	</entry>
</feed>