Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Linux

Linuxのviで貼り付け時にコメントがある場合の注意点(コメントアウトされてしまう)

投稿日:2021年11月10日 更新日:

 

<目次>

(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」を押すと「挿入」←→「挿入(貼り付け)」と切り替わります。
 

Adsense審査用広告コード


Adsense審査用広告コード


-Linux

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

GitHubのアカウント作成の手順と初期設定をご紹介

  <目次> (1) GitHubのアカウント作成の手順と初期設定をご紹介  (1-1) STEP1:GitHubアカウント作成  (1-2) STEP2:SSH Keyの設定 (1) Gi …

Linux基礎コマンド(第1回) TeraTermログイン・pwd・cd

初めてLinuxを触る人向けにTeraTermのログイン方法からコマンドを入力する方法まで数回にわたり解説していきます。本記事はその第1弾です。 (0)目次&概説 >(1) Linuxのディレクトリ構 …

scpコマンドを使った異なるLinuxサーバ間のファイル転送の方法

異なるLinuxサーバ間(サーバA⇔サーバB)でファイルを転送する方法について書きます。 (0)目次&概説 >(1) 転送コマンドの構文 >(2) 転送コマンドの実行  >(2-1) 転送元の転送前( …

VNC ServerとGNOMEデスクトップの概念や基本的な仕組みについて

(0)目次&概説 (1) 記事の目的・概要 (2) アーキテクチャ  (2-1) VNC Serverとは?  (2-2) Graphical Desktop Environmentとは?  (2-3 …

CentOS6にVNCServerでリモート接続して日本語入力を可能にする方法

(0)目次&概説 (1) 記事の目的 (2) 日本語化の対応手順  (2-1) ibus系のインストール  (2-2) dbusインストール+エラー回避  (2-3) mocz系パッケージのインストー …

  • English (United States)
  • 日本語
Top