単純なvi / vimの代替として使用できるエディターは何ですか?


17

私はWSLのおかげでUbuntuのBashに来るWindowsユーザーです。今、私はいくつかのファイルを編集する必要があり、私は本当にViが嫌いです。私はそれに対処する必要がありますか、それともより簡単な代替手段がありますか?

私が探している機能は次のとおりです。

  • CLIベース
  • 使いやすい(入力と編集はメモ帳に似ている必要があります)
  • シンプルな編集機能で十分です

Vimをマスターしようとしますが、今すぐ簡単に編集する必要があります!


それは意見の問題です。初心者はnanohowtogeek.com/howto/42980/…を使用します。Vimは(viは改善された)学習曲線のビットを持っていますが、それは非常に強力である-を参照のlinux.com/learn/vim-101-beginners-guide-vimまたは任意のvimのガイドやvimのチュートリアル、vimtutor(vimの中に含まれています)
パンサー

この質問は非常に意見に基づくものとして終了する場合があることに注意してください。サイトのルールに合わせて書き直したいかもしれません(たとえば、vimの代替として何を使用できますか?)
アンドレア

3
意見に基づく質問としてこれを終了する投票。アドバイスの言葉:ナノから始めて、後でベビーステップでvimに移行します。Vimは基本的に任意のLinuxシステム上にあるので、それは長い目で見れば報われる
Sergiy Kolodyazhnyy

1
私のコメントのフォローアップとして、現在のタイトルはまだ議論の余地があり、締め切りにつながる可能性があります。人々はvim自体を「良い」と考えるかもしれません、そして、これは主観的です。代わりに「easier」という言葉を使用することをお勧めしますか?また、目的の機能をいくつか指定すると、質問の絞り込みに役立ちます。
アンドレアラザロット

2
@Josは、GUIプログラムを実行できるWSLについて話していますが、簡単ではありません。また、GUIエディターはすべてvimより簡単なので、質問は存在しません。
アンドレアラザロット

回答:


24

代わりのエディターを探しているなら、あなたは一人ではありません。基本的に、人生は短すぎて学ぶことができずvi、私はこれが生計を立てるソフトウェア開発者であると言います。ただし、2万人のプログラマーの1人にとっては問題なので、終了する方法を学ぶ必要があります。また、いくつかの頑固なサーバーでは他のエディターが見つからないため、基本的な追加/挿入操作を実行することは学ぶ価値があります。

今、あなたの質問への答えはおそらくnanoです。

自動化されたビルドスクリプトを実行している場合、git他のコマンドを使用または実行していると、それらが意図vimせずに開く場合があります。これを防ぐには、先に進む前に次を実行します。

export EDITOR=nano

1
ありがとう!EDITOR先端のための余分なポイント
sebagomez

3
「基本的に人生はviを学ぶには短すぎます」。生涯を過ごす必要はありませんが、vimが好きならできます。2時間かけてYouTubeで優れたチュートリアルを見て、ビデオから学んだ基礎を練習し続けました。Ask Ubuntuに関する私の回答の70%はvimで書かれています。
セルギーKolodyazhnyy

7
「人生が短すぎる」ということで、このエッセイには良い点があると思いました。Vimの学習における最大の(人工的な)障害の1つは、「ハードコア」ユーザーになるためにすぐに飛び込む必要があるという誤った前提です。あなたはしません。矢印キーを使用します。GUIショートカットを使用して、コピー/貼り付けを行います。挿入モードでハングアウトします。タブとレジスタ、およびベルとホイッスルを無視します(今のところ)。Vimでナノレベルの機能を使用するのは比較的迅速であり、必要に応じて、後で高度な機能をゆっくり追加できます。
RM

@RM GUIショートカット?
アンドレアラザロット

1
@Sergiy vimは、高度な機能を使用する場合に意味があります。nanoを使用するようにvimを使用する場合、nanoを使用し続けるだけです(実際のところ、クライアントコンピューターのようにソフトウェアを追加できないサーバーにいるときはvimを使用します)。
アンドレアラザロット

11

それは意見の問題です。

初心者はnanoを使用します。

vim(「vi改良」)には少し学習曲線がありますが、非常に強力です。vimまたは他のvimガイドまたはvimチュートリアルvimtutor(vimに含まれる)については、この初心者ガイドを参照してください。

今のところ私はナノを強くお勧めします

nano -B /path/to/file/to/edit

-Bはバックアップを作成します

コマンドはコントロールキーで発行され、エディターウィンドウの下部にリストされます。

構文強調表示に関するガイドがあります:nanoで構文強調表示を有効にするにはどうすればよいですか?

ナノ

emacs両方の代替でvimありnano、多くの利点もあります。emacsnanoよりも複雑です。emacのツアーを見ることができます。

完全を期すために、Ven + Zenburnなどのテーマは非常に役立ちます。

ゼンバーン


2
初心者だけでなく、基本的にvim対emacs戦争に参加したくないすべての人間。:P
アンドレアラザロット

1
+1私もnanoを使います。長い時間のユーザーであっても、viは古いクラップスのように見えます
xavier_fakerat

公平を期すために、vimをテーマにすることができます。.vimrcは非常に役立ちます。vimとemacsにはnanoでは利用できない高度な機能がありますが、高度な機能を使用しないと無駄です。簡単な基本編集にはnanoを使用しますが、全体的にはvim fanboiです。kippura.org/zenburnpage
パンサー

1
学ぶvi/vim。:)すべてのnixデバイスにあります。:)基本はそれほど難しくありません。
逃亡者

3
「emacsはnanoよりも複雑です。」:pこれは今年の控えめな表現かもしれません。
ダニエルジュール

3

Windowsのパワーユーザーとして、試した後vimnano私は間に複雑なものが必要であることがわかりました。私は試した平手打ちをし、だった、私が探していたという。

平手打ち画像

slapは、Sublimeに似た端末ベースのテキストエディタで、端末からの編集を簡単にするよう努めています。


インストール:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh

1
主要なセールスポイントであるファーストクラスのマウスサポート(SSH接続でも)
blueray

2

テキストエディターが望んでいたことをしていないことに不満を感じたことはありませんか?思い出せないことに怒りました...

  • ...助けを見つける方法?
  • ...: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プロジェクトとは一切関係ありません。


1
これは非常にきれいに見えます、私から+1。その量の感嘆符は邪魔ですが。:P
アンドレアラザロット

0

私も最初は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 ...たぶん。


3
すみませんが...これは質問に答えません。OPはvimの代替を要求し、回答はそれを提供する必要があります。
アンドレアラザロット

1
あなたがこの答えに入れた仕事を称賛しますが、それは実際には質問に答えていません-vimのチュートリアルとプラグはここにはまったく属していませんが、あなたのブログに属します。

この答えこそまさに、非常に多くの人々がヴィエマックの代替を求めている理由です-彼らが使用するのが不快であると言うほど、より多くの人々がそれらを使用しようと努力します。
シュクリアダムス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.