tag:crieit.net,2005:https://crieit.net/tags/Vim/feed
「Vim」の記事 - Crieit
Crieitでタグ「Vim」に投稿された最近の記事
2021-06-02T11:51:03+09:00
https://crieit.net/tags/Vim/feed
tag:crieit.net,2005:PublicArticle/17351
2021-06-02T11:50:27+09:00
2021-06-02T11:51:03+09:00
https://crieit.net/posts/vim-60b6f1f3465e8
vim 各モード別コマンド集
<h2 id="ノーマルモード"><a href="#%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ノーマルモード</a></h2>
<h4 id="各モード切替え"><a href="#%E5%90%84%E3%83%A2%E3%83%BC%E3%83%89%E5%88%87%E6%9B%BF%E3%81%88">各モード切替え</a></h4>
<ul>
<li>「i」 インサートモードに移行</li>
<li>「:」 コマンドラインモードに移行</li>
<li>「v」 ビジュアルモードに移行</li>
<li>「a」 カーソル上の文字の次からテキストを追加するためにインサートモードに移行</li>
<li>「A」 行末にテキストを追加するためにインサートモードに移行</li>
<li>「o」 カーソルの下の行を開けて、インサートモードに移行</li>
<li>「O」 カーソルの上の行を開けて、インサートモードに移行</li>
<li>「Esc」 他のモードからノーマルモードに移行</li>
</ul>
<h4 id="カーソル移動"><a href="#%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB%E7%A7%BB%E5%8B%95">カーソル移動</a></h4>
<ul>
<li>「h」 左に移動</li>
<li>「j」 下に移動</li>
<li>「k」 上に移動</li>
<li>「l」 右に移動</li>
<li>「番号w」 単語の番号分前に移動</li>
<li>「番号e」 単語番号分の終端に移動</li>
<li>「[指定する行番号]gg」 指定した行番号にジャンプ</li>
<li>「g」 先頭行にジャンプ</li>
<li>「G」 最終行にジャンプ</li>
</ul>
<h4 id="文字列検索"><a href="#%E6%96%87%E5%AD%97%E5%88%97%E6%A4%9C%E7%B4%A2">文字列検索</a></h4>
<ul>
<li>「/検索したい文字」 検索したい文字を検索する<br />
※検索したい文字が複数存在する場合は、「n」キーを押すと次の位置へカーソルが移動する</li>
</ul>
<h4 id="文字及び行の削除"><a href="#%E6%96%87%E5%AD%97%E5%8F%8A%E3%81%B3%E8%A1%8C%E3%81%AE%E5%89%8A%E9%99%A4">文字及び行の削除</a></h4>
<ul>
<li>「x」 カーソルの位置の文字を1文字削除</li>
<li>「dw」 1単語単位で削除</li>
<li>「数字dw」 数字分の単語単位を削除</li>
<li>「de」 カーソルの位置から空白を含まない単語の末尾まで削除</li>
<li>「d$」 カーソルの位置から行末まで削除</li>
<li>「dd」 行を丸ごと削除</li>
</ul>
<h4 id="やり直し&取り消し"><a href="#%E3%82%84%E3%82%8A%E7%9B%B4%E3%81%97%EF%BC%86%E5%8F%96%E3%82%8A%E6%B6%88%E3%81%97">やり直し&取り消し</a></h4>
<ul>
<li>「u」 直前まで行ったコマンド1つを取り消しする※押した回数分やり直しができる</li>
<li>「U」 行全体のコマンドを取り消しする</li>
<li>「Ctrl+r」 やり直しの取り消しを行う</li>
</ul>
<h4 id="置換"><a href="#%E7%BD%AE%E6%8F%9B">置換</a></h4>
<ul>
<li>「r」 カーソル下の文字を置換</li>
<li>「R」 1文字以上の置換</li>
<li>「cw」 カーソルの位置から語の終わりまで置換</li>
<li>「c$」 行の終わりまで置換</li>
</ul>
<h4 id="行コピー&ペースト"><a href="#%E8%A1%8C%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%86%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%88">行コピー&ペースト</a></h4>
<ul>
<li>「y」 カーソル上の文字をコピー</li>
<li>「yy」 カーソル行の文字全部をコピー</li>
<li>「p」 カーソルの下の行へペースト</li>
</ul>
<h2 id="コマンドラインモード"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89">コマンドラインモード</a></h2>
<h4 id="コマンドラインモード移行はノーマルモードから「:」を入力して移行してコマンドを入力する"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89%E7%A7%BB%E8%A1%8C%E3%81%AF%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8B%E3%82%89%E3%80%8C%3A%E3%80%8D%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6%E7%A7%BB%E8%A1%8C%E3%81%97%E3%81%A6%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B">コマンドラインモード移行はノーマルモードから「:」を入力して移行してコマンドを入力する</a></h4>
<ul>
<li>「x」 保存して終了</li>
<li>「q!」 保存せずに終了</li>
<li>「!dir」、「!ls」 ディレクトリ一覧を見る</li>
<li>「!del(ファイル名)」、「!rm(ファイル名)」 ファイルを削除する</li>
<li>「w[ファイル名]」 ここではファイル名というファイルがディスクに書き込まれる</li>
<li>「r[ファイル名]」 ここではファイル名というファイルがディスクにより取り込まれカーソル下の位置に挿入</li>
<li>「r!dir」 dirコマンドの出力をカーソル位置下に読み込む</li>
<li>「set nu」 行数の表示</li>
<li>「set nonu」 行数の非表示</li>
<li>「s/元の単語/新しく置換する単語/g」 カーソルを合わせている文全体の対象を置換</li>
<li>「%s/元の単語/新しく置換する単語/g」 全業で対象部分が置換</li>
<li>「:help」 ヘルプウィンドウを表示</li>
<li>「:herp cmd」 コマンドヘルプを検索</li>
<li>「q」 ヘルプウィンドウを閉じる</li>
</ul>
<h2 id="ビジュアルモード"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ビジュアルモード</a></h2>
<h4 id="ビジュアルモードはノーマルモードから「v」で移行してコマンドを入力"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AF%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8B%E3%82%89%E3%80%8Cv%E3%80%8D%E3%81%A7%E7%A7%BB%E8%A1%8C%E3%81%97%E3%81%A6%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B">ビジュアルモードはノーマルモードから「v」で移行してコマンドを入力</a></h4>
<ul>
<li>vモーションで「:w[ファイル名]」でビジュアル選択行がファイルに保存される</li>
<li>「d」 選択した範囲を削除してノーマルモードに戻る</li>
<li>「y」 選択した範囲をコピーしてノーマルモードに戻る</li>
<li>「c」 選択した範囲を削除してインサートモードに移行する</li>
</ul>
ko00w1
tag:crieit.net,2005:PublicArticle/17324
2021-05-31T14:07:15+09:00
2021-05-31T14:07:15+09:00
https://crieit.net/posts/Vim-60b46f03d6dd5
Vimコマンド(ヴィジュアルモード編)
<h1 id="コマンド表"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E8%A1%A8">コマンド表</a></h1>
<pre><code>コマンド 効果
d 選択した範囲を削除してノーマルモードに戻る
y 選択した範囲をコピーしてノーマルモードに戻る
c 選択した範囲を削除してInsert modeへ移⾏する
</code></pre>
tobara
tag:crieit.net,2005:PublicArticle/17323
2021-05-31T13:54:41+09:00
2021-05-31T13:54:41+09:00
https://crieit.net/posts/Vim-60b46c119a0ee
Vimコマンド(インサートモード編)
<h1 id="コマンド表"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E8%A1%A8">コマンド表</a></h1>
<p>ここではノーマルモードからインサートモードに入るためのコマンドを記す</p>
<pre><code>コマンド 動作
a カーソルの右に移動後、Insert modeへ
i カーソルの位置からInsert modeへ
A カーソルのある⾏末からInsert modeへ
I カーソルのある⾏頭から...
o カーソルのある⾏の次の⾏頭から...
O カーソルのある⾏の次の⾏末から...
</code></pre>
tobara
tag:crieit.net,2005:PublicArticle/17322
2021-05-31T12:57:09+09:00
2021-05-31T12:57:09+09:00
https://crieit.net/posts/Vim-60b45e95babd9
Vimコマンド(コマンドラインモード編)
<h1 id="コマンド一覧"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E4%B8%80%E8%A6%A7">コマンド一覧</a></h1>
<p>コマンドラインモードは「:」キーを押して起動させれる。</p>
<pre><code>コマンド 説明 補⾜
x 保存して終了 変更が無い時はタイムスタンプの更新はしない
w 保存 変更が無い時もタイムスタンプを更新する
q 保存しないで終了 変更がある時は終了できない
q! 保存しないで強制終了 変更がある時でも保存しないで終了する
set nu ⾏番号を表⽰ .vimrcに設定してデフォルトにすることも可能
set paste ペーストモードにする 解除はset nopaste
s/⽂字列A/⽂字列B/g 置換(⽂字列Aを⽂字列Bに) カーソルのある⾏のみ置換対象
%s/⽂字列A/⽂字列B/g 置換(⽂字列Aを⽂字列Bに) 全⾏が置換対象
</code></pre>
tobara
tag:crieit.net,2005:PublicArticle/17320
2021-05-31T12:45:15+09:00
2021-05-31T14:33:57+09:00
https://crieit.net/posts/Vim-60b45bcb24d8f
Vimコマンドまとめ(ノーマルモード編)
<h1 id="コマンド一覧"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E4%B8%80%E8%A6%A7">コマンド一覧</a></h1>
<pre><code>コマンド 効果
x カーソル上の1⽂字を削除
dd カーソルのある⾏を削除
dw 1単語単位で削除
2dw 2単語単位で削除
yy カーソルを含む⾏全部をコピー
p カーソル⾏の下にコピーしたものをペースト
u やり直し(WindowsのCtrl + Zと同じ)
ctrl+r やり直しの取り消し(WindowsのCtrl + yと同じ)
[⾏数]gg 指定した⾏数へジャンプする、指定しない場合は先頭⾏へ
G 最終⾏へジャンプする
ZZ 保存して終了(︓キーが押せない場合の救世主︕)
/[文字列] 文字列検索ができる
</code></pre>
tobara
tag:crieit.net,2005:PublicArticle/17319
2021-05-31T12:33:19+09:00
2021-05-31T17:01:39+09:00
https://crieit.net/posts/vim-60b458ff9d660
vimざっくりまとめ
<h1 id="Vimとは"><a href="#Vim%E3%81%A8%E3%81%AF">Vimとは</a></h1>
<p>Linuxで標準的に使われるテキストエディタで、Windowsでいうところのメモ帳。<br />
しかしメモ帳とは比にならないぐらい難しい。</p>
<h1 id="Vim起動方法"><a href="#Vim%E8%B5%B7%E5%8B%95%E6%96%B9%E6%B3%95">Vim起動方法</a></h1>
<p>Linux上のCLIで</p>
<pre><code>vi [いじりたいファイル名]
</code></pre>
<p><strong>フル機能版のvim-enhancedをインストールした場合は「vim」で起動</strong></p>
<h1 id="Vimの特徴"><a href="#Vim%E3%81%AE%E7%89%B9%E5%BE%B4">Vimの特徴</a></h1>
<h2 id="①カーソル移動が[H][J][K][L]キー"><a href="#%E2%91%A0%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB%E7%A7%BB%E5%8B%95%E3%81%8C%5BH%5D%5BJ%5D%5BK%5D%5BL%5D%E3%82%AD%E3%83%BC">①カーソル移動が[H][J][K][L]キー</a></h2>
<p>[H]←<br />
[J]↓<br />
[K]↑<br />
[L]→<br />
のように対応している。<br />
<strong>十字キーでも移動できるけどサーバによってはできないときがある</strong>のでこれに慣れておく</p>
<h2 id="②モードで挙動が違う"><a href="#%E2%91%A1%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E6%8C%99%E5%8B%95%E3%81%8C%E9%81%95%E3%81%86">②モードで挙動が違う</a></h2>
<h5 id="ノーマルモード"><a href="#%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ノーマルモード</a></h5>
<p>Vim起動時に最初に入るモード<br />
hjklの移動はここでできる<br />
文字の入力はできない<br />
各アルファベットがコマンドのショートカットになっている<br />
ほかの各モードから戻るには</p>
<pre><code>Esc、またはctrl+[(大カッコキー)
</code></pre>
<p>を押す<br />
<a href="https://crieit.net/posts/Vim-60b45bcb24d8f">コマンドメモ</a></p>
<h4 id="コマンドラインモード"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89">コマンドラインモード</a></h4>
<p>いろんなコマンドが使えるようになるモード(別記事まとめ予定)<br />
ノーマルモード上で</p>
<pre><code>「:」キー
</code></pre>
<p>を押すとコマンドラインモードに入る<br />
慣れないうちは保存のxキーと保存しないで終了のqキーのコマンドを覚えておく<br />
<a href="https://crieit.net/posts/Vim-60b45e95babd9">コマンドメモ</a></p>
<h4 id="インサートモード"><a href="#%E3%82%A4%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89">インサートモード</a></h4>
<p>文字の入力や編集ができるモード<br />
ノーマルモード上で</p>
<pre><code>「i」、「a」、「o」
</code></pre>
<p>等のキーを押すと固有の動作をしてインサートモードへ移行する。<br />
慣れないうちは「i」(カーソルの位置からインサートモードに移行)だけ覚えてればOK<br />
<a href="https://crieit.net/posts/Vim-60b46c119a0ee">コマンドメモ</a></p>
<h4 id="ビジュアルモード"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ビジュアルモード</a></h4>
<p>文字の選択が行えるモード(GUIでいうマウスで範囲選択からのコピペ的なことができる)<br />
ノーマルモード上で</p>
<pre><code>「v」キー
</code></pre>
<p>を押すとビジュアルモードへ移行する<br />
<a href="https://crieit.net/posts/Vim-60b46f03d6dd5">コマンドメモ</a></p>
<h1 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h1>
<p>カーソル移動はhjklのキー操作。<br />
モードを切り替えないと文字の入力、保存や終了、文字選択からのコピペとかができない。</p>
tobara
tag:crieit.net,2005:PublicArticle/17318
2021-05-31T12:16:50+09:00
2021-05-31T12:16:50+09:00
https://crieit.net/posts/5-60b45522cd423
サーバ入門5 チュートリアルメモ
<p>vimにはチュートリアルが用意されている。</p>
<h2 id="vim-enhancedのインストール"><a href="#vim-enhanced%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">vim-enhancedのインストール</a></h2>
<p><code>$su -</code>※インストールするためにはroot権限が必要なため<br />
<code>#yum -y install vim</code><br />
<code>#exit</code>※インストールが終わったらroot権限は不要なため<br />
※su -の後には、rootユーザのパスワードを入力</p>
<h1 id="su(Substitate)コマンド"><a href="#su%28Substitate%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">su(Substitate)コマンド</a></h1>
<p><code>$su (オプション) [ユーザ名]</code><br />
<strong>ユーザを切り替えるコマンド</strong>。ユーザ名を省略すると、rootユーザが指定される。<br />
<オプション><br />
[-] <strong>対象ユーザがログインした時と同じログインシェルを環境にする。</strong><br />
[なし] <strong>現在のユーザのログインシェル環境を引き続き使用する。</strong><br />
※オプションの「‐」のあるなしでユーザ環境変数に違いが出るので要注意。環境によってはプログラムの動作に違いが出ることもあり得る。<br />
※rootユーザーで、<strong>操作を間違えると簡単にシステムを破壊する</strong>。</p>
<h1 id="yum(Yellowdog Updater Modifie(CentOS8はdnfに置き換わっている))コマンド"><a href="#yum%28Yellowdog+Updater+Modifie%28CentOS8%E3%81%AFdnf%E3%81%AB%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%82%8F%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%29%29%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">yum(Yellowdog Updater Modifie(CentOS8はdnfに置き換わっている))コマンド</a></h1>
<p>ソフトウエアのパッケージインストール・削除が行えるパッケージ管理システムのコマンド。RedHat系ディストリビューションで使える。<br />
パッケージ・・・すぐ使えるようにソフトウェアのソースコードをコンパイルしたもの。<br />
<code>#yum (オプション) [コマンド] [パッケージ名]</code></p>
<div class="table-responsive"><table>
<thead>
<tr>
<th>オプション</th>
<th>効果</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>-y</strong></td>
<td><strong>全ての問い合わせに「yes」で応答したものとして実行する</strong></td>
</tr>
<tr>
<td>-x</td>
<td>指定したパッケージを除外する</td>
</tr>
</tbody>
</table></div>
<div class="table-responsive"><table>
<thead>
<tr>
<th>コマンド</th>
<th>効果</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>install</strong></td>
<td><strong>インストールする</strong></td>
</tr>
<tr>
<td>remove</td>
<td>アインストールする</td>
</tr>
<tr>
<td>update</td>
<td>インストール済みのパッケージをアップデートする。すべてのパッケージアップデートする場合は、パッケージ名の指定は不要</td>
</tr>
<tr>
<td>check-update</td>
<td>インストール済みのパッケージでアップデート可能なものを表示する</td>
</tr>
</tbody>
</table></div>
<p>※check-updateはroot権限不要</p>
<h1 id="vimtutorコマンド"><a href="#vimtutor%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">vimtutorコマンド</a></h1>
<p>vimのチュートリアルができるコマンド<br />
<code>$vimtutor (オプション)</code></p>
<div class="table-responsive"><table>
<thead>
<tr>
<th>オプション</th>
<th>効果</th>
</tr>
</thead>
<tbody>
<tr>
<td>ja</td>
<td>日本語で起動</td>
</tr>
<tr>
<td>en</td>
<td>英語で起動</td>
</tr>
</tbody>
</table></div>
<p>※vimtutorはSSHで接続しないと日本語で表示されない。<br />
※途中で終了する場合は、コマンドラインモードから「q!」</p>
<h1 id="vimチュートリアルメモ"><a href="#vim%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%A1%E3%83%A2">vimチュートリアルメモ</a></h1>
<p>・テキストの追加(ノーマルモードで、追加したい場所にカーソルを合わせて「A」を押す)<br />
・de(カーソルの位置から空白を含まない単語の末尾まで)<br />
・d$(カーソルの位置から行末まで)<br />
・「U」で行全体の取り消しができる<br />
・カーソル下の文字を置き換えるためには「r」をタイプした後、それを置き換える文字をタイプする。<br />
・「cw」はカーソルの位置から語の終わりまで変更する。「c$」なら行の終わりまで変更する。<br />
・「:!dir」、「:!ls」でコマンドラインモードからディレクトリ内の一覧を見ることができる。<br />
・「:!del(ファイルネーム)」、「:!rm(ファイルネーム)」でコマンドラインモードからファイルを削除することができる。<br />
・「:w(ファイル名)」でコマンドラインモードからファイルがディスクに書き込まれる。<br />
・「:r(ファイル名)」でコマンドラインモードからファイルがディスクにより取り込まれ、カーソルの下の位置に挿入される。<br />
・「:r!dir」はdirコマンドの出力をカーソル位置下に読み込む。<br />
<strong>・「o」をタイプすると、カーソルの下の行を開けて、そこで挿入モードになる。「O」をタイプするとカーソルの上の行で挿入モードになる。</strong><br />
<strong>・カーソル上の文字の次からテキストを追加するには「a」を入力。行末に自動でテキストを挿入するには「A」を入力</strong><br />
<strong>・「R」をタイプすると、置換モードに入り、「Esc」を押すと抜ける。</strong><br />
・「:help」、「F1キー」を押すとヘルプウィンドウが表示される。<br />
・コマンドヘルプを検索するときは「:help cmd」と入力する。<br />
・別のウィンドウへジャンプするときは、「Ctrlキー -w」とタイプする。<br />
・ヘルプウィンドウを閉じるときは「:q」とタイプする。</p>
ko00w1
tag:crieit.net,2005:PublicArticle/17312
2021-05-31T11:04:49+09:00
2021-05-31T11:04:49+09:00
https://crieit.net/posts/5-vim
サーバ入門5 vim基本操作
<h2 id="なぜvimが必要か"><a href="#%E3%81%AA%E3%81%9Cvim%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%8B">なぜvimが必要か</a></h2>
<p>LinuxはWindowsと異なり、設定する値をテキストファイルに記述するものが多い。</p>
<h2 id="vimとは"><a href="#vim%E3%81%A8%E3%81%AF">vimとは</a></h2>
<p>Linuxで標準的に使われている<strong>テキストエディタ</strong>で、Windowsでいうところのメモ帳。<br />
Linuxで利用されるエディタとして「<strong>emass</strong>」や「<strong>nano</strong>」がある。</p>
<h2 id="vimの特徴 その1"><a href="#vim%E3%81%AE%E7%89%B9%E5%BE%B4%E3%80%80%E3%81%9D%E3%81%AE1">vimの特徴 その1</a></h2>
<p><strong>基本は「hjkl」キーでカーソル移動をする。</strong>「h」は←、「j」は↓、「k」は↑、「l」は→の操作となる。<br />
・ホームポジションから移動しない速度重視の設計<br />
・十字キーでも移動できるが、<strong>できないサーバもある</strong>。</p>
<h2 id="vimの特徴 その2"><a href="#vim%E3%81%AE%E7%89%B9%E5%BE%B4%E3%80%80%E3%81%9D%E3%81%AE2">vimの特徴 その2</a></h2>
<p><strong>モードで挙動が違う</strong></p>
<h3 id="ノーマルモード(Nomal mode)"><a href="#%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%28Nomal+mode%29">ノーマルモード(Nomal mode)</a></h3>
<p>・vim起動時に最初に入るモード<br />
・hjklのカーソル移動はノーマルモードでできる。<br />
・<strong>文字入力はできない(a~Zまですべてコマンドとして割り当てられている。)</strong><br />
・ほかの各モードから戻るには、「<strong>Esc</strong>」もしくは、<strong>「Ctrl+[」キー</strong>を押す。<br />
<コマンド><br />
x (カーソル上の1文字を削除)<br />
dd (カーソルのある行を削除)<br />
etc...</p>
<h3 id="コマンドラインモード(Command-line mode)"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%BC%E3%83%89%28Command-line+mode%29">コマンドラインモード(Command-line mode)</a></h3>
<p>ノーマルモード上で「:」キーを押すとコマンドラインモードへ移行する。<br />
<コマンド><br />
<strong>x(保存して終了)変更がないときはタイムスタンプの更新はない</strong><br />
<strong>q!(保存しないで強制終了) 変更があるときでも保存しないで終了する</strong><br />
etc...<br />
※慣れないうちは、保存の「x」と保存しないで終了の「q!」のコマンドを覚えておくとよい</p>
<h3 id="インサートモード(Insert mode)"><a href="#%E3%82%A4%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89%28Insert+mode%29">インサートモード(Insert mode)</a></h3>
<p>・文字入力や編集ができる<br />
・ノーマルモード上で「i」、「a」、「o」等のキーを押すと固有の動作をしてインサートモードへ移行する。<br />
※慣れないうちは「i」だけ覚えておけばOK<br />
<コマンド><br />
<strong>i(カーソルの位置からInsert modeへ)</strong></p>
<h3 id="ビジュアルモード(Visual mode)"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%28Visual+mode%29">ビジュアルモード(Visual mode)</a></h3>
<p>・文字の選択が行える<br />
・ノーマルモード上で「v」キー等を押すとビジュアルモードへ移行する。</p>
<h2 id="vimの起動"><a href="#vim%E3%81%AE%E8%B5%B7%E5%8B%95">vimの起動</a></h2>
<p>起動コマンドは、vimではなく「<strong>vi</strong>」<br />
例:vimでファイル「xyz」を作成 $vi xyz</p>
<h2 id="vimモード切替"><a href="#vim%E3%83%A2%E3%83%BC%E3%83%89%E5%88%87%E6%9B%BF">vimモード切替</a></h2>
<p>・開始直後は、ノーマルモードだが、現在が何モードなのか表示されない。<br />
・「i」キーを押せばインサートモードに移行、「Esc」キーでノーマルモードに戻る<br />
・「INSERT」の表示が消えれば、ノーマルモードに移行していることになる。</p>
<h2 id="カーソル移動"><a href="#%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB%E7%A7%BB%E5%8B%95">カーソル移動</a></h2>
<p>・「hjkl」キーでカーソルを移動する。<br />
・「<strong>w</strong>」や「<strong>b</strong>」を使うと、単語単位で高速移動ができる。</p>
<h2 id="保存・終了"><a href="#%E4%BF%9D%E5%AD%98%E3%83%BB%E7%B5%82%E4%BA%86">保存・終了</a></h2>
<p>・「:」キーを押してコマンドラインモードへ移行<br />
・左下に「:」の文字が表示されていればコマンドラインモード<br />
・「:」の後に「x」を入力して「Enter」を実行すると保存・終了が行われCLIに戻る。</p>
<h2 id="文字列の検索"><a href="#%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E6%A4%9C%E7%B4%A2">文字列の検索</a></h2>
<p>・ノーマルモードで、「<strong>/</strong>」キーを押して検索コマンドラインへ移行、次に<strong>検索したい文字を入力</strong><br />
・検索したい文字が複数存在する場合は、「<strong>n</strong>」キーを押すと次の位置へカーソルが移動する。</p>
<h2 id="文字及び行の削除"><a href="#%E6%96%87%E5%AD%97%E5%8F%8A%E3%81%B3%E8%A1%8C%E3%81%AE%E5%89%8A%E9%99%A4">文字及び行の削除</a></h2>
<p>・「x」キーを押すと、カーソルの位置の文字が1文字削除される。<br />
・1単語単位で削除する場合は「<strong>dw</strong>」、2単語の場合は「<strong>2dw</strong>」<br />
・行を丸ごと削除したい場合は、「<strong>dd</strong>」</p>
<h2 id="行コピー&ペースト"><a href="#%E8%A1%8C%E3%82%B3%E3%83%94%E3%83%BC%EF%BC%86%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%88">行コピー&ペースト</a></h2>
<p>・「<strong>yy</strong>」キーを押すとカーソル行の文字全部をコピーする。ペーストするには「<strong>p</strong>」(カーソルの下の行へペースト)キーを使う</p>
<h2 id="undo&redo"><a href="#undo%26amp%3Bredo">undo&redo</a></h2>
<p>・「<strong>u</strong>」キーを押すと<strong>undo(やり直し)</strong> が行われる。押した回数分undoが行われる。<br />
・「<strong>Ctrl+r</strong>」キーは<strong>redo(やり直しの取り消し)</strong> が行われる。押した回数分redoができる。</p>
<h2 id="行数表示と行ジャンプ"><a href="#%E8%A1%8C%E6%95%B0%E8%A1%A8%E7%A4%BA%E3%81%A8%E8%A1%8C%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97">行数表示と行ジャンプ</a></h2>
<p>行数表示や行ジャンプは、長文のテキストファイル編集時に役立つ。<br />
・「<strong>:</strong>」キーでコマンドラインモードへ行き、「<strong>set nu</strong>」と入力して「Enter」を押せば、行数が表示される。※解除したい場合は「<strong>set nonu</strong>」<br />
・行ジャンプはノーマルモードで「<strong>[指定する行番号]gg</strong>」で行える。行番号を指定しない場合は(<strong>ggのみ</strong>)は先頭行へ移動、「<strong>G</strong>」は最終行に移動する。</p>
ko00w1
tag:crieit.net,2005:PublicArticle/17246
2021-05-24T16:06:43+09:00
2021-05-24T16:12:20+09:00
https://crieit.net/posts/Vim-60ab50832803a
Vimの操作方法
<p>Vimはlinuxで文字入力をするときに使うもので操作が少し複雑なのでメモしておく</p>
<h3 id="インストール"><a href="#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">インストール</a></h3>
<pre><code>su -
yum -y install vim
</code></pre>
<p>を入力し、「完了しました」を出たらOK</p>
<pre><code>vimtutor ja
</code></pre>
<p>これを入力するとVimのチュートリアルに入れる</p>
<p>Vimの操作するモードは4種類あり、</p>
<ul>
<li>ノーマルモード</li>
<li>コマンドライン</li>
<li>インサートモード</li>
<li>ビジュアルモード<br />
が存在する</li>
</ul>
<h3 id="ノーマルモード"><a href="#%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ノーマルモード</a></h3>
<h4 id="特徴"><a href="#%E7%89%B9%E5%BE%B4">特徴</a></h4>
<p>文字入力不可<br />
hで左、jで下、kで上、lで右に移動できる<br />
EscまたはCtrl+[でノーマルモードに移行できる</p>
<h4 id="コマンド"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">コマンド</a></h4>
<div class="table-responsive"><table>
<thead>
<tr>
<th>コマンド</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>x</td>
<td>一文字削除</td>
</tr>
<tr>
<td>dd</td>
<td>一行削除</td>
</tr>
<tr>
<td>yy</td>
<td>一行コピー</td>
</tr>
<tr>
<td>p</td>
<td>ペースト</td>
</tr>
<tr>
<td>u</td>
<td>やり直し</td>
</tr>
<tr>
<td>(数字)gg</td>
<td>指定した数字の行に移動</td>
</tr>
<tr>
<td>G</td>
<td>最終行に移動</td>
</tr>
<tr>
<td>ZZ</td>
<td>保存して終了</td>
</tr>
</tbody>
</table></div>
<h3 id="コマンドライン"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3">コマンドライン</a></h3>
<h4 id="特徴"><a href="#%E7%89%B9%E5%BE%B4">特徴</a></h4>
<p>ノーマルモードで:を押すと移行</p>
<h4 id="コマンド"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">コマンド</a></h4>
<div class="table-responsive"><table>
<thead>
<tr>
<th>コマンド</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>x</td>
<td>保存して終了</td>
</tr>
<tr>
<td>w</td>
<td>保存</td>
</tr>
<tr>
<td>q!</td>
<td>保存しないで終了</td>
</tr>
<tr>
<td>set nu</td>
<td>行番号の表示</td>
</tr>
<tr>
<td>s/文字A/文字B/g</td>
<td>一行にある文字Aを文字Bに置き換え</td>
</tr>
<tr>
<td>%s/文字A/文字B/g</td>
<td>すべての文字Aを文字Bに置き換え</td>
</tr>
</tbody>
</table></div>
<h3 id="インサートモード"><a href="#%E3%82%A4%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89">インサートモード</a></h3>
<h4 id="特徴"><a href="#%E7%89%B9%E5%BE%B4">特徴</a></h4>
<p>文字の入力ができる<br />
ノーマルモードからi、a、oなどで移行</p>
<h3 id="ビジュアルモード"><a href="#%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89">ビジュアルモード</a></h3>
<h4 id="特徴"><a href="#%E7%89%B9%E5%BE%B4">特徴</a></h4>
<p>ノーマルモードでvで移行</p>
<h4 id="コマンド"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89">コマンド</a></h4>
<div class="table-responsive"><table>
<thead>
<tr>
<th>コマンド</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>d</td>
<td>選択した範囲を削除し、ノーマルモードに戻る</td>
</tr>
<tr>
<td>y</td>
<td>選択した範囲をコピーし、ノーマルモードに戻る</td>
</tr>
<tr>
<td>c</td>
<td>選択した範囲を削除し、インサートモードに移行</td>
</tr>
</tbody>
</table></div>
fizz198
tag:crieit.net,2005:PublicArticle/16594
2021-01-14T17:20:25+09:00
2021-01-22T22:32:23+09:00
https://crieit.net/posts/vim-5ffffec98788f
vimについて
<h1 id="前書き"><a href="#%E5%89%8D%E6%9B%B8%E3%81%8D">前書き</a></h1>
<p>Linuxので標準的に使われているテキストエディタである。<br />
ファイルを開き、編集することができる。</p>
<h1 id="コマンド入力方法"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E5%85%A5%E5%8A%9B%E6%96%B9%E6%B3%95">コマンド入力方法</a></h1>
<pre><code>$ vim [ファイル名]
</code></pre>
<p>ファイルが開かれる。</p>
<h2 id="特徴"><a href="#%E7%89%B9%E5%BE%B4">特徴</a></h2>
<ol>
<li><p>キー入力でファイル内を移動する。<br />
[k]キー:一つ上の行に移動する。<br />
[j]キー:一つ下の行に移動する。<br />
[h]キー:一つ左に移動する。<br />
[l]キー:一つ右に移動する。<br />
十字キーでも移動可能。</p></li>
<li><p>モード変更を行う。</p></li>
</ol>
<ul>
<li><p>ノーマルモード<br />
vimを開いた際に最初に入るモード。<br />
コマンドを用いた操作が可能。<br />
ESCキーやCtrl+「」などでほかのモードから戻れる</p>
<ul>
<li>使用可能コマンド<br />
xx・・・カーソル上の一文字を削除する。<br />
dd・・・カーソルのある行を削除</li>
</ul></li>
<li><p>コマンドラインモード<br />
:の後にコマンドを入力し実行ができる。<br />
代表的なコマンドは以下の通り。</p>
<ul>
<li>代表的なコマンド<br />
x・・・保存して閉じる。タイムスタンプの更新はしない<br />
w・・・保存する。タイムスタンプの更新も行う<br />
q・・・保存しないで閉じる。変更があった際は閉じれない。<br />
q!・・・保存しないで閉じる。変更があるときでも強制的に閉じる。<br />
set nu…行数を表示する。<br />
set nonu・・・行数の表示を閉じる。</li>
</ul></li>
<li><p>インサートモード<br />
このモードで文字の入力が可能</p>
<ul>
<li>代表的なコマンド<br />
i・・・このコマンドでインサートモードに入る。</li>
</ul></li>
<li><p>ビジュアルモード<br />
文字の選択が行われる。</p></li>
</ul>
kamakiri01234
tag:crieit.net,2005:PublicArticle/16592
2021-01-14T15:00:40+09:00
2021-01-14T15:00:40+09:00
https://crieit.net/posts/vim-5fffde082fafa
vim
<h1 id="vimとは"><a href="#vim%E3%81%A8%E3%81%AF">vimとは</a></h1>
<p>Linuxで標準的に使われるテキストエディタで、Windowsでいうところのメモ帳<br />
操作⽅法がメモ帳と⼤きく異なるため、初⼼者が扱うには、訓練が必要。</p>
<h1 id="vimの特徴 ①"><a href="#vim%E3%81%AE%E7%89%B9%E5%BE%B4+%E2%91%A0">vimの特徴 ①</a></h1>
<ul>
<li>基本はhjklキーでカーソル移動する</li>
<li>ホームポジションから移動しない、速度重視の設計</li>
<li>⼗字キーでも移動できますが、できないサーバもある<br />
<a href="https://crieit.now.sh/upload_images/06e7657931908c718f85b159511058265fffdb04a3705.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/06e7657931908c718f85b159511058265fffdb04a3705.png?mw=700" alt="image" /></a></li>
</ul>
<h1 id="vimの特徴 ②"><a href="#vim%E3%81%AE%E7%89%B9%E5%BE%B4+%E2%91%A1">vimの特徴 ②</a></h1>
<p><strong>ノーマルモード(Normal mode)</strong><br />
- vim起動時に最初に⼊るモード<br />
- hjklのカーソル移動はここでできる<br />
<strong>⽂字の⼊⼒はできない︕︕<br />
各アルファベットがコマンドのショートカットになっている</strong><br />
実はa~zまですべてコマンドとして割り当てられている︕<br />
- 他の各モードから戻るには <strong>「Esc」もしくは、「Ctrl + [」<br />
キーを押す</strong><br />
<a href="https://crieit.now.sh/upload_images/5bfe9f96714dfeaf42ed1b12ed64c3e35fffdbe01d5d9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5bfe9f96714dfeaf42ed1b12ed64c3e35fffdbe01d5d9.png?mw=700" alt="image" /></a></p>
<hr />
<p><strong>コマンドラインモード(Command-line mode)</strong><br />
- 以下のコマンドを実⾏できる<br />
- ノーマルモード上で <strong>「:」</strong> キーを<br />
押すとコマンドラインモードへ<br />
移⾏する<br />
<a href="https://crieit.now.sh/upload_images/e5dd050fc092da830799d1e6019766245fffdc700ca15.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e5dd050fc092da830799d1e6019766245fffdc700ca15.png?mw=700" alt="image" /></a></p>
<hr />
<p><strong>インサートモード(Insert mode)</strong><br />
- ⽂字の⼊⼒や編集ができる<br />
- ノーマルモード上で「i」、「a」、「o」等のキーを押すと<br />
固有の動作をしてインサートモードへ移⾏する<br />
<a href="https://crieit.now.sh/upload_images/73f3bbccc84b8abc681c068920a84e525fffdd23c3f03.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/73f3bbccc84b8abc681c068920a84e525fffdd23c3f03.png?mw=700" alt="image" /></a></p>
<hr />
<p><strong>ビジュアルモード(Visual mode)</strong><br />
- ⽂字の選択が⾏える<br />
- ノーマルモード上で「v」キー等を<br />
押すとビジュアルモードへ移⾏する<br />
<a href="https://crieit.now.sh/upload_images/d7ca369641dfc6aa81fd16bdc9f4493b5fffddb72b7e1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d7ca369641dfc6aa81fd16bdc9f4493b5fffddb72b7e1.png?mw=700" alt="image" /></a></p>
<hr />
<p><a href="https://crieit.now.sh/upload_images/8ab0874d57507acefcd2538cc2e2326b5fffddfda1677.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8ab0874d57507acefcd2538cc2e2326b5fffddfda1677.png?mw=700" alt="image" /></a></p>
Ususuke
tag:crieit.net,2005:PublicArticle/16097
2020-10-04T23:17:10+09:00
2020-10-04T23:17:10+09:00
https://crieit.net/posts/vimrc-GitHub
vimrcファイル(環境設定ファイル全般)はGitHubで管理するといいのではないか
<p>本記事は、 Qrunch からの移転記事です。</p>
<p>移転元: <a target="_blank" rel="nofollow noopener" href="https://morichan.qrunch.io/entries/uhFFiglG0UDfJIy0">vimrcファイル(環境設定ファイル全般)はGitHubで管理するといいのではないか - 雑木林</a></p>
<h1 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h1>
<p>皆さんは、出先にvimrcファイルがあれば良かったのに、という経験はありませんか?</p>
<p>偶然にも、私はそんなことが何度かありました。</p>
<h1 id="例1:インターンシップ"><a href="#%E4%BE%8B1%EF%BC%9A%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%83%E3%83%97">例1:インターンシップ</a></h1>
<p>それは、とあるインターンシップでのことです。</p>
<hr />
<p>回想はじめ</p>
<p>偉い人「AWSサーバ1つあげるから、これで何か作ってください」<br />
私「よっしゃいじり倒したろ、さてapacheの設定ファイルは......」<br />
私「Vimの設定がデフォルトで全然使えん!!!」</p>
<p>回想おわり</p>
<hr />
<p>さて、私はこの時、偶然にもGitHubにvimrcファイルを置いていたため、クローンしました。<br />
するとどうでしょう、行番号も碌に表示していなかったVimに、命が吹き込まれたのです。</p>
<p>私は、このインターンシップを大成功で収めることができました。</p>
<h1 id="例2:新しい業務用パソコン"><a href="#%E4%BE%8B2%EF%BC%9A%E6%96%B0%E3%81%97%E3%81%84%E6%A5%AD%E5%8B%99%E7%94%A8%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3">例2:新しい業務用パソコン</a></h1>
<p>それは、新しい業務用パソコンがたくさん届いた時のことです。</p>
<hr />
<p>回想はじめ</p>
<p>私「さて、環境構築するか」<br />
新パソコンA「Vim無いよ」<br />
新パソコンB「Vim無いよ」<br />
新パソコンC「Vim無いよ」<br />
私「......これ全部同じことしないとならんの?」</p>
<p>回想おわり</p>
<hr />
<p>さて、私はこの時、偶然にも(以下略)</p>
<p>私は、たくさんの新しい業務用パソコンにいち早くVim環境を整えることができました。</p>
<h1 id="例3:vimrc編集後"><a href="#%E4%BE%8B3%EF%BC%9Avimrc%E7%B7%A8%E9%9B%86%E5%BE%8C">例3:vimrc編集後</a></h1>
<p>それは、突発的にvimrcファイルを書換えた時のことです。</p>
<hr />
<p>回想はじめ</p>
<p>私「ふへへ、ついに最強のvimrcを書いてやったぜ」<br />
私「さて、これを私が利用している別のパソコンにも入れなきゃ」<br />
私「えーっと、家のデスクトップ、家のノート、新パソコンA、新パソコンB、新パソコンC......」<br />
私「......今日はそろそろ帰ろう」</p>
<p>回想おわり</p>
<hr />
<p>さて、私はこの時、偶然にもGitHubでvimrcファイルを管理していたため、新しいvimrcをpushしました。<br />
別のパソコンを使う際にpullすればいいだけですから、その日は何も考えずに帰りました。</p>
<p>数日後、別のパソコンを利用時にvimrcをpullするとどうでしょう、Vimが生まれ変わったのです。</p>
<p>私は、常に最新のvimrcをどこでも利用できるのです。</p>
<h1 id="おわりに"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB">おわりに</a></h1>
<p>vimrcは便利ですが、慣れてしまうとデフォルトのVimが苦痛になってしまいます。<br />
いち早く自分の環境に(PCを)適応させるため、GitHubで環境ファイルを管理するのは1つの手だと思います。</p>
<p>上記を活用して、快適環境の生活を過ごしませんか。</p>
<h1 id="追記"><a href="#%E8%BF%BD%E8%A8%98">追記</a></h1>
<p>GitHubで管理する前は、USBにvimrcを入れて生活していました。<br />
書換えた時に面倒なことになるのは、お察しの通りです。</p>
Morichan
tag:crieit.net,2005:PublicArticle/15806
2020-04-02T22:22:49+09:00
2020-04-02T22:36:13+09:00
https://crieit.net/posts/vim
vimでカーソルを表示行で上下移動できるようにする
<p> <code>.vimrc</code>に以下の記述を追加。<br />
検索して出てくるのは、なぜかノーマルモード用の設定しかないので、挿入モードでも同じになる設定を追加。</p>
<pre><code>"カーソルを表示行で上下移動する。物理行移動は<C-n>,<C-p>
nnoremap j gj
nnoremap k gk
nnoremap <Down> gj
nnoremap <Up> gk
inoremap <Down> <C-o>gj
inoremap <Up> <C-o>gk
</code></pre>
<p> <code>.vimrc</code>を更新後vimを再起動すれば、設定が反映される。</p>
真田 保
tag:crieit.net,2005:PublicArticle/15589
2019-12-08T07:00:07+09:00
2019-12-08T07:00:07+09:00
https://crieit.net/posts/Vim-5
Vimで個人的に便利だと思うマッピング 5つ
<p>こんにちは<br />
たまたまごです。<br />
Vim歴は2年ほどになります。<br />
Vim がないと生きていけない体になってしまいました!!<br />
そんな Vimmer が個人的に便利だと思うマッピングを5つ紹介します。</p>
<ul>
<li>1.保存、閉じる</li>
<li>2.上下の空白に移動</li>
<li>3.現在のウィンドウを新規タブで開く</li>
<li>4.ファイルの末尾に移動したら、そのまま中央に持ってくる</li>
<li>5.ビジュアルモードで末尾まで選択 (改行を含めない)</li>
</ul>
<p>一つ一つ見ていきましょう。</p>
<h2 id="1. 保存、閉じる"><a href="#1.+%E4%BF%9D%E5%AD%98%E3%80%81%E9%96%89%E3%81%98%E3%82%8B">1. 保存、閉じる</a></h2>
<p><a target="_blank" rel="nofollow noopener" href="https://github.com/thinca/config/blob/90ac8387dc6ce60c34aa459a5c2287d15950b429/dotfiles/dot.vim/vimrc#L1122-L1126">thincaさんのvimrc</a> から持ってきました。</p>
<pre><code>nnoremap <silent> <Space>w :<C-u>update<CR>
nnoremap <silent> <Space>W :<C-u>update!<CR>
nnoremap <silent> <Space>q :<C-u>quit<CR>
nnoremap <silent> <Space>Q :<C-u>quit!<CR>
</code></pre>
<h2 id="2. 上下の空白に移動"><a href="#2.+%E4%B8%8A%E4%B8%8B%E3%81%AE%E7%A9%BA%E7%99%BD%E3%81%AB%E7%A7%BB%E5%8B%95">2. 上下の空白に移動</a></h2>
<p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/Linda_pp/status/1108692192837533696">ドッグさんのツイート</a> から持ってきました。<br />
ざっくりとした上下移動は、これで移動しています。</p>
<pre><code>nnoremap <C-j> }
nnoremap <C-k> {
vnoremap <C-j> }
vnoremap <C-k> {
</code></pre>
<h2 id="3. 現在のウィンドウを新規タブで開く"><a href="#3.+%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%92%E6%96%B0%E8%A6%8F%E3%82%BF%E3%83%96%E3%81%A7%E9%96%8B%E3%81%8F">3. 現在のウィンドウを新規タブで開く</a></h2>
<p>よく使っています。</p>
<pre><code>nnoremap st <C-w>T
</code></pre>
<h2 id="4. ファイルの末尾に移動したら、そのまま中央に持ってくる"><a href="#4.+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E6%9C%AB%E5%B0%BE%E3%81%AB%E7%A7%BB%E5%8B%95%E3%81%97%E3%81%9F%E3%82%89%E3%80%81%E3%81%9D%E3%81%AE%E3%81%BE%E3%81%BE%E4%B8%AD%E5%A4%AE%E3%81%AB%E6%8C%81%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B">4. ファイルの末尾に移動したら、そのまま中央に持ってくる</a></h2>
<p>意外と便利です。</p>
<pre><code>nnoremap G Gzz
</code></pre>
<h2 id="5. ビジュアルモードで末尾まで選択 (改行を含めない)"><a href="#5.+%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E6%9C%AB%E5%B0%BE%E3%81%BE%E3%81%A7%E9%81%B8%E6%8A%9E+%28%E6%94%B9%E8%A1%8C%E3%82%92%E5%90%AB%E3%82%81%E3%81%AA%E3%81%84%29">5. ビジュアルモードで末尾まで選択 (改行を含めない)</a></h2>
<p>改行を含めたくないときが多いので、このようにマッピングしています。 (<code>set selection=include</code> としているためです。)</p>
<pre><code>vnoremap <Space>l $h
</code></pre>
<h2 id="おまけ"><a href="#%E3%81%8A%E3%81%BE%E3%81%91">おまけ</a></h2>
<p>おまけとして、個人的によく使うコマンドを2つ紹介します</p>
<h3 id="1. カレントバッファをシステムのアプリで開く"><a href="#1.+%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%88%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%82%92%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%81%A7%E9%96%8B%E3%81%8F">1. カレントバッファをシステムのアプリで開く</a></h3>
<p>HTMLをブラウザで確認したいときに便利です。</p>
<pre><code>command! ThisOpen call system('start ' . expand('%:p'))
</code></pre>
<h2 id="2. ファイルタイプの変更"><a href="#2.+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AE%E5%A4%89%E6%9B%B4">2. ファイルタイプの変更</a></h2>
<p><code>-complete=filetype</code> でファイルタイプを補完できるようにしているのがキモです。</p>
<pre><code>command! -nargs=1 -complete=filetype FileType exec 'set ft=<args>'
nnoremap <Space>ft :<C-u>FileType
</code></pre>
<h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2>
<p>以上になります。</p>
<p>このように自分でマッピングをしていくことで、どんどん Vim が快適に使えるようになっていくと思います。<br />
また、help を見てみたり、他の人の vimrc を見たりするのは大事だと改めて思いました。</p>
<p>みなさんも、どんどんマッピングをして、楽しく、快適に Vim に使えるようにしていきましょう!</p>
<p>Happy Vim Life !</p>
たまたまご
tag:crieit.net,2005:PublicArticle/14604
2018-11-15T10:25:03+09:00
2018-11-16T16:55:42+09:00
https://crieit.net/posts/vim-tmux
vimとかtmuxとかを使いこなそうとしない
<p>Google Cloud Shellの中でやれることをやる。高価なPCやサーバーを用意しなくてもブラウザだけで従来の「プログラミング」をすることができる。評価の定まった本に書かれたコードを書いて実行できる。いま始める人のためにピッタリ。</p>
<p>Google Cloud ShellにはWebエディターも用意されているけど複雑だから使わない。<br />
vimがインストール済みだからvimを使う。</p>
<pre><code class="bash">$ vim index.html
</code></pre>
<p>ややこしいことは考えずに、<br />
<code>ESC</code>と<code>i</code>と<code>:q!</code>と<code>:qw</code>だけで十分使える。<br />
ESCキーの代わりに使える<code>ctrl + [</code> が便利。</p>
<p>設定しなくても色が付いてるし、自動で閉じタグ書いてくれる。<br />
ただ、タブ幅が大きすぎるからvimrcファイルで設定する。</p>
<p><code>~/.vim/vimrc</code>ファイルを置く、中身は3行。</p>
<pre><code>source $VIMRUNTIME/defaults.vim
</code></pre>
<p>まずこれを書くこと。これがないとすっぴんで起動して、htmlのハイライトもされない。</p>
<pre><code>set tabstop=4
set shiftwidth=0
</code></pre>
<p>これでタブ1文字の表示がスペース4つ分になる。</p>
<p>index.htmlを書いたら、プレビューする。</p>
<p>Google Cloud Shellの「ウェブでプレビュー」は、インターネットからアクセスできるURLを用意してくれる。googleアカウントでログイン済みのアクセスだけをcloud shellの8080ポートへ通してくれる。<br />
ということで、8080ポートで待ち受けするWebサーバーを起動する。何を使ってもいいんだけど、インストールされててすぐ使えるからpython3。</p>
<pre><code>$ python3 -m http.server 8080
</code></pre>
<p>実行すると、画面から入力待ちのプロンプトが消えてWebサーバーのログが表示されるようになる。こうなるとvimが使えない。Webサーバーを起動したままで他のこともしたい。cloud shellの別のタブを使ってもいいけど、Google Cloud Shellはtmuxが導入済みで、こういう場面で役に立つ。</p>
<p><code>ctrl + b, c</code>を押すと、「Wellcome to Cloud Shell」が表示される。さっきまでの画面は<code>ctrl + b, n</code>で戻れる。迷子になったときは<code>ctrl + b, w</code>で画面の一覧が出せる。</p>
<p>これで、Webサーバーを起動させたままvimでhtmlファイルを編集できる。</p>
<p>vimを終了させずにファイルを保存するには、<code>:w</code></p>
あぜち(おばあちゃん)