問題ID:22222について

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2018-9-1 22:54
AkoSaito  新米   投稿数: 2
viエディタのコマンドモードで、GとLの違いがよくわからないので、お教えいただけますでしょうか?

カーソルをファイルの最終行へ移動するコマンドは次のうちどれか。

h
H
gg
L
G

という問題で、正解はGになっています。

解説では、
G ファイルの最終行へ移動
L ファイルの最下行へ移動

と記載されておりますが、最終行と最下行はどちらもファイルの一番下の行なのでは?と思ってしまいます。
どのような違いがあるのでしょうか。
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2018-9-2 0:02 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
viはグラフィカルなエディタなんですね。
「今表示されてる画面」と「扱っているファイル全体」とは別で考えることができるんです。
例えば1〜26まで行がある以下のファイル
$ cat 22222.txt
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i
10 j
11 k
12 l
13 m
14 n
15 o
16 p
17 q
18 r
19 s
20 t
21 u
22 v
23 w
24 x
25 y
26 z
を11行しか表示できない端末でviを実行して開くとこう見えます。
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i
10 j
"22222.txt" 26L, 121C
このときにLを押すと「10 j」の行にカーソルが移動します。そしてGを押すと画面に表示のないファイルの最下行に移動します。
17 q
18 r
19 s
20 t
21 u
22 v
23 w
24 x
25 y
26 z ←ここにくる

あと、解説の表ではLは「画面の最下行へ移動」となっています。「ファイルの最下行」ではないですよ。

こんな感じでどうでしょう?
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2018-9-2 13:08
AkoSaito  新米   投稿数: 2
ご返信ありがとうございます。
とてもわかりやすく、理解することができました。

確かに、Lは「ファイルの最下行」ではなく、「画面の最下行」でしたね。失礼致しました。
ずっと勘違いしてしまっておりました。

おかげで助かりました。ありがとうございました!

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.