WSL のおかげで、UbuntuのBashにアクセスするWindowsユーザーです。今、私はいくつかのファイルを編集する必要があり、私はViが本当に嫌いです。私はそれに対処する必要がありますか、それともより簡単な代替手段がありますか?
私が探している機能は次のとおりです。
Vimをマスターしようとしますが、今すぐ簡単に編集する必要があります!
代わりのエディターを探しているなら、あなたは一人ではありません。基本的に寿命は短すぎてvi
を学習できず、これは生計を立てるソフトウェア開発者だと言います。ただし、shouldは 2万人のプログラマーのうちの1人 の問題であるため、終了する方法を学びます。また、いくつかの頑固なサーバーでは他のエディターが見つからないため、基本的な追加/挿入操作を実行することは学ぶ価値があります。
さて、あなたの質問に対する答えはおそらくnano
です。
git
を使用して、または他のコマンドを実行して自動ビルドスクリプトを実行している場合、vim
を意図せずに開く可能性があります。これを防ぐには、先に進む前に次を実行します。
export EDITOR=nano
それは意見の問題です。
初心者はnano https://www.howtogeek.com/howto/42980/the-beginners-guide-to-nano-the-linux-command-line-text-editor/ を使用します。
vim(viの改善)には少し学習曲線がありますが、非常に強力です- https://www.linux.com/learn/vim-101-beginners-guide-vim または任意のvimを参照してくださいガイドまたはvimチュートリアル、vimtutor(vimに含まれる)
今のところ私はナノを強くお勧めします
nano -B /path/to/file/to/edit
-Bはバックアップを作成します;)
コマンドはコントロールキーを使用して発行され、エディターウィンドウの下部にリストされます。
構文の強調表示に関するガイドについては、 nanoで構文の強調表示を有効にする方法
emacsはvimとnanoの両方に代わるものであり、多くの利点もあります。 emacsはnanoよりも複雑です。
https://www.gnu.org/software/emacs/tour/ を参照してください
windowsのパワーユーザーとして、vim
とnano
を試した後、その間に何か複雑なものが必要であることがわかりました。だから私は slap を試し、それがであったことを探していた。
slapは、Sublimeに似た端末ベースのテキストエディタで、端末からの編集を簡単にするよう努めています。
インストール:
curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh
テキストエディターが望んでいたことをしていないことに不満を感じたことはありませんか?思い出せないことに怒りました...
- ...助けを見つける方法?
- ...:wqの意味?
- ...学部生として読んでいる小さなリスパーはいますか?
小さな、勇敢な世界が待っています!
お気に入りの軽量テキストエディタを推奨していますが、非常に小さくて高速な xo
(exofrills) をお勧めします。
単一のPython 3ファイルであり、Pygmentsを使用した構文の強調表示を適切にサポートしています(ただし、Python以外では完全ではありません)。
また、非常にシンプルで便利なキーの組み合わせも用意されており、簡単に簡単に変更できます。
その他の機能:
- 1つのファイルで850行未満のコード!
- 構文の強調表示!
- 正規表現のマッチングと置換!
- 検索履歴のキャッシュ!
- WTFPLがライセンスされています!
- 完全にカスタマイズ可能!
- 原点以外の場所から始めましょう!
- 一列に並んだ言葉の間を飛び回る!
- ファイル内の任意の場所にジャンプします!
- ファイル全体の挿入!
- 初心者に優しい-言葉に慣れていないかもしれません!
- テキストをコピーして貼り付けます!
- 行と列のステータス!
- 非テキスト編集スペースは1行のみ!
- 保存と読み込みの両方!
Python3ソースは githubで であり、以下を使用してより簡単にインストールできます。
Sudo apt install python3-pip
Sudo pip3 install exofrills
exofrills:あなたのテキストは編集されました...しかし、あなたはまだ空腹です。
免責事項:私はexofrillsプロジェクトとは一切関係ありません。
私も最初はviに苦労していたことを否定することはできませんが、viは実際には非常に簡単に学ぶことができると主張することができると思います。 (私がUnixを使い始めたとき、選択肢はviまたはemacsでした。そのため、ed、edは非常に単純な行エディタであり、初期のUnix教科書を読んですでに学んでいたものです)。その機能のごく小さなサブセットのみを使用します。
Viを使用するための最初の引数は次のとおりです。viはすべてのシステムに存在し、使用するリソースが非常に少なく、不安定で低速の接続で使用できます。または、システムが破損しているため、矢印キーが正しく解釈されない場合(たとえば、terminfoの不適切な設定)。viを使用すると、問題の影響を受けずに、問題につながる構成ファイルを修正できます。
そして、viの便利なサブセットを学習する方法は次のとおりです。まず:viを対話型のターミナルGUI「エディター」と考えるのをやめ、テキストファイルを操作するためのプログラミング言語と見なします。最初は「vi」はVIsualモードの略で、viには非ビジュアルのexがあります。これは開始するのに適した場所です。シェルプロンプトでexと入力します(戻り値を表すために¬を使用します)。
$ ex¬
Entering Ex mode. Type "visual" to go to Normal mode.
:
Enterキーを押します。
:¬
E749: empty buffer
:
それで、何かを入れましょう。 「a¬」と入力し、テキスト行を入力してから、行にピリオドを単独で入力します。
:a¬
Hello World¬
.¬
:
これが追加コマンドでした。簡単、短く、ニーモニック。しかし、バッファに何があるのかを見るのはいいことです。
:%p¬
Hello World
:
それは明らかに印刷コマンドでした。 %は行範囲の略記です。各コマンドの前には、コマンドが適用される行番号または範囲があります。 %は「すべての行」を意味します。 $は最後の行を意味し、ピリオドは現在の行を意味します。数字はその特定の行を意味します。範囲はn、mで記述され、数値を加算または減算できるため、。+ 1、$-1は次の行から最後から2番目の行までを意味します。行番号だけで構成されるコマンドは、その行に移動します。私が使用するコマンドの残りの小さなサブセットは次のとおりです。
:1i¬
this text is inserted before line 1.¬
.¬
:
:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:
wは、すべての(または選択した範囲の)行をファイルに書き込みます。
:1d¬
行1を削除します。
:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!
sは正規表現を置き換えます。正規表現を知っているのはいいことです!
:q¬
E37: No write since last change (add ! to override)
qは終了します。 wqは書き込みおよび終了します。 q!書き込みなしで終了し、同様の方法で、w!可能であれば、ファイルへの書き込みを強制します。
クールなもの:
:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!
!コマンドとして、行をシェルコマンドにフィルターします。
そして最後に:
:vi¬
ビジュアルモードに入ります。だまされてはいけません。それはエディタのように見えますが、それはまだインタラクティブなプログラミングシェルです。常にバッファを確認し、さらにいくつかのコマンドを見るだけです。ビジュアルモードでは、aは:exモードからのプロンプトを示します。矢印キー(動作している場合)は動き回っていますが、動作していない場合はhjklが動きます! hは左、jは下、kは上、lは右。 0は最初の文字に移動し、^(ここでは正規表現を考えてください!)行の最初の非スペース文字に移動します。 $(再び正規表現!)は行末に移動します。 :999¬と入力すると、当然、exモードと同様に、行999に移動します。
「i」は挿入モードに入り、行ではなく文字で挿入し、「。¬」ではなくエスケープを押して終了します。 「I」は先頭に、「a」はカーソルの下の文字の後に、「A」は現在の行の終わりの後に挿入します。テキストの入力が終了したら、常にエスケープを押します。 「x」はカーソルの下の文字を削除し、「D」はカーソルから行末までを削除します。 「Y」は現在の行をヤンク(コピー)し、「P」はそれを貼り付けます。 「:pu」も同じですが、行番号を前に付けることができます。 「:ya」は「Y」に相当するexであり、これも行範囲に適用するのに便利です。マークコマンドもあると思いますが、覚えていないことは認めます。お見逃しなく。
上記は私が使用するものであり、私はおそらく非常に「効率的な」viユーザーではないことを知っています。一方、exの汎用性は、たとえば構成ファイルを編集するスクリプトに使用します。多数のconfファイルでホスト名foo.bar.comをwww.foobar.comに変更する必要がありますか?
for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done
私が言いたいのは、viの問題は、人々がそれを難しい編集者だと考えていることだと思うことです。必要なのは、あなたの考え方を少し変えて、それを非常にシンプルでありながら非常に強力な対話型プログラミング言語として見ることです。強力なため、使用可能なコマンドのサブセットを使用しても、エディターとしてだけでなく、Unixの他の部分とうまく統合された一般的なスクリプト可能なツールとして、非常に効果的に使用できます。 nanoがこれをすべて行うとは思わない-emacs ...たぶん。