Sublime Text 2およびVim内で特定の単語を検索して変更する


1

私はvimのキーバインドを一つずつ学ぼうとしています。早く上手くやるべきだと思ったのは、テキストの文字列を見つけて別のものに置き換えることです。

私はv / something / \ rsomethingelseをキー入力するWindowsのE-TextEditorでこれを成功させました

望ましい効果のため。

SublimeText 2のコマンドモードではそうではありません。コマンドモードになったら、vを押してエディターをビジュアルモードにし、/を入力すると、検索し、「何か」という単語を入力します。「/」を押すと、正規表現を終了する代わりに検索クエリの一部になります。選択されていますが、選択されていません。また、escや他のキーも考えられません。「何か」のインスタンスは検出されますが、以降の操作では選択されないことに注意してください。

この機能はSublimeText2に存在しないのですか、それとも何か不足していますか?


「テキストの文字列」の例を挙げてもらえますか?
ルーク

例えば@Idigas:私は(「notReally」)印刷する印刷機能印刷(「awfullyWide」)内の文字列を変更したい場合は言う
ニックだから、

回答:


7

Nik、Vimを習うか、Sublime Text 2を習います。

ST2のビンテージモードは、せいぜいSublime Textの制約でのVimの最も基本的な機能の優れた近似です。

たとえば、同じコマンドラインがないため、Vimの優れた検索/置換機能は提供されません。

そのためには、Ctrl+ を入力してアクセスできるST2独自の検索/置換メカニズムを使用する必要がありますh

あなたが入力すると/、「コマンドモード」で、あなたは、ウィンドウの下部に示す検索バーを持っています。ST2独自の検索バー(Ctrl+ からもアクセス可能f)であるため、置換バーのようにはまったく機能しません。Vimのコマンドラインとはあまり似ていません。

ビンテージモードとvimの類似点のリストは、それらの相違点のリストよりも数千時間短いので、一時停止して、実際に何をしたいかを考えることをお勧めします。

a) 非常に優れたテキストエディタであるSublime Text 2の使用方法を学ぶ

または

b) 2つの最高のテキストエディターの1つであるVimの使用方法を学びます(私は外交的です)。

選択a)すると、その機能のほとんどがST2独自の機能への1/1マッピングであるため、ビンテージモードをアクティブにする必要はありません。Vimの記事を見るのではなく、ST2がどのように機能し、ST2を最大限に活用する方法を学ぶことに時間を費やしてください。

b)最初のステップを選択する場合は、Terminal.appからアクセスできるvimチュートリアルを実行する必要あります:入力してvimtutor、それに従ってください。完了したらvimtutor(おそらく数回)、MacVimの最近のビルドをダウンロードして、新たな知識を適用し始めることができます。

この選択を行わないと、VimのほとんどがST2で機能せず、そこで機能するもののほとんどがVimを驚くほど小さなものにするため、どこにも導かれません。

最終的に、あなたの選択は無関係です。重要なのは、あなたがそれを作り、集中することです。


ありがとう!あなたは彼の愚かなことを見つけようとしています。-ええ、PeepcodeのビデオからMacVimのことを聞きました(実際、何らかの理由で、vimのフレーバーは互いにわずかに存在していると感じています)---あなたはこれ以上正しいことはできませんでしたフォーカスとテキストエディターが自分のやり方から抜け出すことについて。私に非常に固有の小さな理由の1つは、vimを使用することです、私はキーボードにとらわれず、Macに移動したばかりなので、そのキーボードで生きることができないので、これから編集できるかと思いましたちょうどa-z0-9と時折ctrl。
ニックソー

実際、Vimのフレーバーは1つだけです。膨大な数のオプションを使用して、または使用せずにコンパイルでき、多くのエキゾチックな設定がありますが、それでもVimを入手できます。MacVimは、VimをネイティブのMac OS X GUIにラップしたものです。Vimに本当に熱心な場合は、編集者と時間と労力を浪費することなく、ST2をドロップしてVimに飛び込む必要があります。
ロメインル

2

Nik、あなたの意図は最高だと確信していますが、これについては@romainiに(ほとんどの部分で)同意する必要があります。

VimSublime Text 2ST2)は、2つの異なるエディターに似ている(ただし、1つは他よりも多くのことを試みている)ことを目指しています。私はST2をあまり使用していませんが、 Vimはかなり使用しました。この種のものに優れているので、学ぶ価値は十分にあります。はい、時間がかかりますが、時間の経過とともに「新しいトリック」を学ぶと、物事はますます「論理的」になり始めます。

Vimの「力」はいくつかのことに由来しています。マッピング演算子/移動の 組み合わせ、および正規表現

たとえば、文字列を取得した場合:

print('AwfullyWide')
print('NotReally')

最初の行の先頭にあり、アポストロフィ内のコンテンツを置換したい場合。次のように入力してci'の略ですchange inside apostrophechangeされ、オペレータがinside 'ある運動(テキスト)オペレータが実行される時に、あなたが取得するprint('')あなたの中のテキストを置き換えることができた後。

この方法で作業するVimの方法は、「特定のテキストで何を達成したいのか」と自問する場合に最もよく考えられます。その後、それは意味を成し始めます。

もちろん、一度でやりたい場合は:%s/AwfullyWide/NotReally、単純な置換で同じ結果が得られます。もちろん、正規表現にはこの単純な置換よりもはるかに多くの可能性があります。


ST2のコマンドモードについて何か怪しいかもしれないと思いました。ここに理由があります、私は実際に窓にそれを言うために心を取り、切り替えてvimまたは死を考えました。しばらく前にpeepcodeとその上にもう1冊の本を購入しましたが、peepcodeのビデオから学んだコマンドが提供されているものとは異なることを漠然と覚えていますが、それは単に記憶が壊れているか何かだと思いました。SublimeTextのスニペットなどが好きだからです。魅力的なインターフェースを備えたVIMだと思いました。しかし、そのような徹底的な説明をありがとう!
ニックソー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.