私はWSLのおかげでUbuntuのBashに来るWindowsユーザーです。今、私はいくつかのファイルを編集する必要があり、私は本当にViが嫌いです。私はそれに対処する必要がありますか、それともより簡単な代替手段がありますか?
私が探している機能は次のとおりです。
- CLIベース
- 使いやすい(入力と編集はメモ帳に似ている必要があります)
- シンプルな編集機能で十分です
Vimをマスターしようとしますが、今すぐ簡単に編集する必要があります!
私はWSLのおかげでUbuntuのBashに来るWindowsユーザーです。今、私はいくつかのファイルを編集する必要があり、私は本当にViが嫌いです。私はそれに対処する必要がありますか、それともより簡単な代替手段がありますか?
私が探している機能は次のとおりです。
Vimをマスターしようとしますが、今すぐ簡単に編集する必要があります!
回答:
代わりのエディターを探しているなら、あなたは一人ではありません。基本的に、人生は短すぎて学ぶことができずvi
、私はこれが生計を立てるソフトウェア開発者であると言います。ただし、2万人のプログラマーの1人にとっては問題なので、終了する方法を学ぶ必要があります。また、いくつかの頑固なサーバーでは他のエディターが見つからないため、基本的な追加/挿入操作を実行することは学ぶ価値があります。
今、あなたの質問への答えはおそらくnano
です。
自動化されたビルドスクリプトを実行している場合、git
他のコマンドを使用または実行していると、それらが意図vim
せずに開く場合があります。これを防ぐには、先に進む前に次を実行します。
export EDITOR=nano
EDITOR
先端のための余分なポイント
それは意見の問題です。
初心者はnanoを使用します。
vim(「vi改良」)には少し学習曲線がありますが、非常に強力です。vimまたは他のvimガイドまたはvimチュートリアルvimtutor
(vimに含まれる)については、この初心者ガイドを参照してください。
今のところ私はナノを強くお勧めします
nano -B /path/to/file/to/edit
-Bはバックアップを作成します
コマンドはコントロールキーで発行され、エディターウィンドウの下部にリストされます。
構文強調表示に関するガイドがあります:nanoで構文強調表示を有効にするにはどうすればよいですか?
emacs
両方の代替でvim
ありnano
、多くの利点もあります。emacs
nanoよりも複雑です。emacのツアーを見ることができます。
完全を期すために、Ven + Zenburnなどのテーマは非常に役立ちます。
vi/vim
。:)すべてのnixデバイスにあります。:)基本はそれほど難しくありません。
テキストエディターが望んでいたことをしていないことに不満を感じたことはありませんか?思い出せないことに怒りました...
- ...助けを見つける方法?
- ...:wqの意味?
- ...学部生として読んでいる小さなリスパーはいますか?
小さな、勇敢な世界が待っています!
お気に入りの軽量テキストエディタを推奨していますが、eXcellent、tiny、fast 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を選択しました。その機能のごく小さなサブセットのみを使用します。
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¬
ビジュアルモードに入ります。だまされてはいけません。エディタのように見えますが、それはまだインタラクティブなプログラミングシェルです。常にバッファを確認し、さらにいくつかのコマンドを見るだけです。ビジュアルモードでは、:は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 ...たぶん。
マウスをサポートするテキストエディターのような端末ベースのSublimeが必要な場合は、Micro、Slap、またはSuplemonを選択してください。
ただし、モーダルテキストエディターをお探しの場合は、Kakouneをご覧ください。