CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
みなさんこんにちは。株式会社パイプラインの濱田です。前回はviを使ったテキストファイルの編集について、最低限覚えておきたいテクニックを取り上げました。今回は、vi内でのコピー・ペーストの効率化とアンドゥについて取り上げます。
今回の実習用にテキストファイルを作成します。前回までの実習で使用したファイルに上書きし、新たな内容を書き込みます。
echo "012" > ${HOME}/test-ctct.txt
そして、viでテキストファイルを開きます。
vi ${HOME}/test-ctct.txt
最初に、行数表示を行います。vi起動時はコマンドモードで起動しますので、「:set nu」をタイプしてからエンターキーを押下します。それでは、1行目の内容をviでコピー(ヤンク)して9行ペーストしましょう。コマンドモードで「yy (小文字でyを2回)」とタイプしてから「9p」をタイプします。
012 と書かれた行が10行になりました。それでは、次にこれを100行にしてみましょう。今の状態からですと、次の方法が考えられます。
1番目の方法は、自身で直前に1行目をヤンクして、その内容をviが覚えてくれていることがわかっているときに使えるコマンドです。しかし、時間の経過などで直前のコマンドで何をしたのか覚えておらず、ファイルの内容を見てから判断したい場合は、2番目の方法を実行するのがよいでしょう。
それでは実際に100行の012が連続しているか確認してみます。どちらの方法を実行しても、カーソルは2行目に位置しているでしょう。viの画面を閉じずに100行あるかどうかを確認するために、実際に100行目まで移動してみましょう。前回、上下左右カーソル移動のうち下方向への移動に「J」キーを押下すると説明しました。しかし、100行目まで移動するのに同じキーを押しっぱなしにして時間がかかるのも面白くありません。現在カーソル位置が2行目にあって100行目までカーソルを移動させたい場合、次の2通りの方法のうちいずれかを使うと便利でしょう。
先ほど100行目まで移動しましたので、100行目を1行削除してみましょう。行単位の削除はショートカットキー「dd (小文字でDを2回)」を用います。
次に、1行目から連続した99行を削除するため、いちどカーソルを先頭行へ移動させますので、「gg (小文字のGを2回)」と押下します。99行まとめて削除する場合は、「9」「9」「dd (小文字のDを2回)」と押下します。
直前のコマンド実行を取り消したい場合は、「u (小文字のU)」を押下します。
ここまで読み進めてきた勘の良い方はお気づきかと思いますが、行移動やコマンド実行など、複数回連続した同じコマンドを実行するために、コマンドの前に数字を入力する方法をとることができます。例えば、直前3コマンドぶんを実行取り消ししたい場合は3uとタイプするといったように、です。しかし、何かしらのコマンドを間違うということはどんな順番でどんなコマンドを実行したかを正確に覚えていることの方が少ないでしょうから、まとめてコマンド実行取り消しをするのではなく、1手1手取り消してテキストの内容を確認することをおすすめします。
次回はファイルとディレクトリのパーミッションについて取り上げたいと思います。
CTC教育サービスではLinuxをはじめ多数の研修コースが用意されています。ご自身の興味や業務の必要性にあったコースを受講してみてはいかがでしょうか。
https://www.school.ctc-g.co.jp/category/
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes