<目次>
(1) Linuxのviで貼り付け時にコメントがある場合の注意点(コメントアウトされてしまう)
(1-1) 発生事象
(1-2) 原因
(1-3) 対処
(1-4) 切替えを簡易化するためのテクニック
(1) Linuxのviで貼り付け時にコメントがある場合の注意点(コメントアウトされてしまう)
(1-1) 発生事象
Linuxのviエディタでプログラムをペーストする際に、「//」(ダブルスラッシュ)や「#」(シャープ)等のコメントを意味する記号があった場合、以降の行も全てコメントとして見做されてしまい、自動で各行の先頭にダブルスラッシュやシャープが付与されてしまう事象が発生しました。
(図111)ペースト前は正常に認識されていた
(図112)ペーストすると、各行の前にダブルスラッシュが付与されてしまう
(1-2) 原因
viエディタには通常の「挿入」モードとは異なる、貼り付けに適した「挿入 (貼り付け)」モードがありますが、デフォルトではそのモードになっていないため、コメントがあると以降の行もコメントアウトされる等(※注1)の意図しない編集が発生していました。
(※注1)
「挿入 (貼り付け)」モードは、通常のモードにある多くの校正機能(自動整形、インデント)を無効化するため、大規模なテキストも、安全に貼り付ける事ができます。
(1-3) 対処
以下の手順で「挿入 (貼り付け)」モードに切替える事により、ソースコード等も正しく貼り付ける事ができます。
・①ペーストする前(通常モード)の状態で、下記コマンドを入力して「Enterを押下」します。
:set paste
(図131)
・②「i」で「挿入 (貼り付け)」モードに切替えます
(図132)
・③目的のテキストをコピーした状態で「右クリック」等で貼り付けます。
(図133)ダイアログが出るのでOKを押下
↓
正常に貼り付けができました。
(図134)
・④貼り付けが完了したら、「Esc」押下後に「:set nopaste」を入力して「Enter」キー押下で貼り付けモードを解除します。
:set nopaste
(図135)①
↓
(図135)②
↓
この状態で「i」を押下すると、通常の「挿入」モードになります。
(図135)③
(1-4) 切替えを簡易化するためのテクニック
上記の切替えは非常に頻繁に実施するため、毎回「:set paste」や「:set nopaste」を入力するのが面倒になってくると思います。そうした方のために、ショートカットキーで簡単に切替える手順をご紹介します。
・①viエディタのコマンドモードで以下のコマンドを入力して「Enter」を押下
:set pastetoggle=<F2>
※F2の部分はご自身の好きなキーに変更してご使用いただけます。
(図141)
・②「i」押下して「挿入」モードに変わると、以降は「F2」を押すと「挿入」←→「挿入(貼り付け)」と切り替わります。