Lessを使用してVim編集モードに入る方法は?

Lessを使用してVim編集モードに入る方法は?

私はログや設定ファイルを見るときに読み取り専用にしたいので、主にlessを使います。

しかし、時にはVimモードに入り、読み取り専用で必要なファイルを変更することができます。どうすればいいのかわかりません。 (おそらく右クリックして貼り付けることができますが、それでも少ないです)。しかし、最も重要なのは、変更を加えずにこのモードを終了する方法がわからないことです。通常:q!動作しません。動作しません。終了します。

私が受け取ったメッセージを入力しようとすると、次のようになります:quit

E37: No write since last change (add ! to override)

Ctrl Cしかし、うまく:quit<Enter>いきません:

Type  :quit  and press <Enter> to exit Vim

これはコンソールで見られるものの一部ですが、制御することはできません。時々挿入モードに入ってファイルを修正していますが、どうやって停止するのかわかりません。

検索してみると、viではなくviの指示が表示され、コマンドは機能しませんでした。これまでのところ、私の唯一の解決策は、切断し、何も損傷しないことを望むことです。

最後に、これが再び発生しないように、より短い時間でこの機能をオフにする方法はありますか?

更新:いよいよ出かけることができます。さっきのように入力しましたが:q!下段に「録音中」と浮かびます。また、入力を開始すると挿入モードに切り替わります。私はまだそれに入る方法や録音プロンプトを取得する方法がわかりません。

roaimaが提案したように、私は以前持っていたマニュアルページを検索しました。v編集モードに入ることがわかりました。 ctrl + vが機能せず、右クリックも機能しないため、vを押す方法がわかりません。また、vを使用すると、1秒間点滅してページ下部にロードされます。私はすぐに入力することはできず、終了することもできないことに気づきました:q!。 Escを試してからCtrl + Cを押して:quitプロンプトを表示し、ここで:q!が機能しました。どうやら誤ってこのモードに入ったのか、どうやって安全に抜け出すのか、まだ恋しい感じだ。標準入力では編集が機能しないことがわかったので、誤って編集しないようless filename | lessにするための回避策です。

ベストアンサー1

less()のドキュメントを使用すると、man less入力するキーの組み合わせvi(または他の好みのエディタ)が次のようになることがわかりますv

v現在表示しているファイルを編集するには、エディタを呼び出します。VISUAL定義または定義されていない場合、エディタは環境変数から取得されます。EDITOR定義されていないか、VISUAL定義されていない場合、デフォルトは " vi"です。以下のヒントセクションの議論も参照してください。VISUALEDITORLESSEDIT

less/のように、を使用してテキストを検索できますvi。 (/vi Enterこれら2つの文字の次のインスタンスが見つかります。n次のインスタンス検索を使用してください。)常に、またはZZ終了:q!を使用してくださいvi

で述べたようにコメントless環境変数を設定してデフォルトのエディタ設定を上書きできますLESSEDIT

デフォルトは次のとおりですLESSEDIT

%E ?lm+%lm. %g

これはエディタ名、a +、行番号、最後にシェルエスケープファイル名に展開されます。

たとえば、次はエディタを設定しますfalse。つまり、ファイルの編集には使用できませんv

LESSEDIT=false less /var/log/syslog

また、less使用することができます標準入力、編集できません。ただし、これははるかに効率的ではなく、大容量ファイルの場合はメモリを消費する可能性があります。

less </var/log/syslog

設定を調べることもできますLESSSECURE=1

おすすめ記事