タグ付けされた質問 「vim」

Vimは無料でオープンソースのモーダルテキストエディターであり、ほとんどの主要なプラットフォームで利用できます。多くのテキスト編集タスクで高い効率が得られますが、学習曲線が急になります。基本を学ぶには、「:help vimtutor」を実行します。プログラミング以外の質問については、代わりにhttps://vi.stackexchange.com/を使用してください。

9
Vimで複数の行(2つのブロック)をマージする
Vimで行の2つのブロックをマージする、つまり、行n..mを取得してそれらをlinesに追加したいと思いますa..b。疑似コードの説明が必要な場合:[a[i] + b[i] for i in min(len(a), len(b))] 例: abc def ... 123 45 ... なるはず abc123 def45 手動でコピー&ペーストすることなくこれを行う良い方法はありますか?
323 vim 

12
挿入モードでテキストをトラバースする
滞在中挿入モードのVimで、矢印キーを使用するよりも、前方と後方の他のいくつかの文字を移動し、テキストをトラバースする方法はありますか? Iを押すとh、j、kおよびl挿入モードにある間、実際の文字ではなく、テキストを移動するの画面に印刷されています。 現時点で私が行っている方法は、Ctrl+ [(Esc)に頼ってテキストをトラバースすることです。しかし、明らかにそれは生産的ではありません。
321 vim  vi 


5
Vimを遅くしているプラ​​グインを確認するにはどうすればよいですか?
Vimプラグインをプロファイルする方法はありますか? 大きなものを開くと、MacVimが次第に遅くなります.py。すべてのプラグインの選択を解除し、1つずつ再選択して、どのプラグインが原因であるかを確認できることはわかっていますが、もっと速い方法はありますか? 私のdotvimはここにあります:https : //github.com/charlax/dotvim

9
Vimで垂直分割ウィンドウサイズを増やす方法
:vsplit(短縮形::vs)Vimビューポートを垂直に分割します。:30vsビューポートを分割し、新しいウィンドウを30文字幅にします。この30文字のウィンドウが作成されたら、サイズを31または29にどのように変更しますか? 水平ウィンドウありCtrl- W +行数を1つ増やします。列を1つ増やすための同等のコマンドは何ですか?
316 vim  window  viewport 

12
vimで2つの開いているファイルの位置を(スプリットで)入れ替えるにはどうすればよいですか?
vimで分割の任意のレイアウトを持っていると仮定します。 ____________________ | one | two | | | | | |______| | | three| | | | |___________|______| 交換する方法があるoneとtwo同じレイアウトを維持するとは?この例では簡単ですが、より複雑なレイアウトに役立つソリューションを探しています。 更新: もっと明確にすべきだと思います。前の例は、実際のユースケースを単純化したものです。実際のインスタンスで: 同じレイアウトを維持しながら、これらの分割の2つを交換するにはどうすればよいですか? 更新!3年以上後... sgriffinのソリューションを、簡単にインストールできるVimプラグインに入れました!お気に入りのプラグインマネージャーを使用してインストールし、試してみてください:WindowSwap.vim
313 layout  editor  split  vim 

18
Vimで行全体を上下に移動します
Notepad ++では、Ctrl+ Shift+ Up/ Downを使用して現在の行を上下に移動できます。Vimでこれに似たコマンドはありますか?私は無限のガイドを調べましたが、何も見つかりませんでした。 存在しない場合、アクションをそのキーの組み合わせにどのようにバインドできますか? 編集:Mykolaの回答は、バッファーの最初と最後の行を除いて、すべての行で機能します。最初の行を上または下の行に移動すると、その行が削除され、一番下の行を上に移動すると、ポーンのように最初に2つのスペースがジャンプします。誰でも何か改良を提供できますか?
311 vim  vi 

12
Vim:複数行にわたって同じ文字を挿入します
時々、複数の行にまたがるテキストの特定の視覚的なブロックを編集したい。 たとえば、次のようなテキストを使用します。 name comment phone email そして、それをこのように見せます vendor_name vendor_comment vendor_phone vendor_email 現在私が今それを行う方法は... を押しVてからj4回押して、ブロックの4行すべてを選択します。 でインデントし>ます。 で1文字戻りhます。 でビジュアルモードをブロックしますCtrlv。 をj4回押して、4行下を選択します。この時点で、空白の4x1ビジュアルブロック(4行と1列)を選択しています。 を押しCます。これは、左に1列インデントされていることに注意してください。 " vendor_"引用符なしで入力します。元に戻す必要がある余分なスペースに注意してください。 を押しEscます。これはEsc、挿入モードを終了するために使用する非常に数少ない時間の1つです。Ctrlc最初の行だけを編集します。 手順1を繰り返します。 逆方向にインデントし<ます。 単語の前に空白の列が少なくとも1列ある場合、インデントする必要はありません。で視覚ブロックをクリアする必要がない場合は、空白は必要ありませんc。 しかし、私がクリアする必要がある場合、インデントで必要な空白を作成せずに上記で実行したことを実行する方法はありますか? また、複数の行を一度に編集すると、Escover で挿入モードを終了することでしか機能しないのはなぜCtrlcですか? 次に、より複雑な例を示します。 name = models.CharField( max_length = 135 ) comment = models.TextField( blank = True ) phone = models.CharField( max_length = 135, blank = …
306 vim 

20
Vim内でターミナルを実行するにはどうすればよいですか?
私はEmacsに慣れていますが、Vimを試して、どちらが好きかを調べています。 Emacsについて私が気に入っている点の1つは、Emacs内で端末を実行できることです。これはVimの内部で可能ですか?Vimからコマンドを実行できることはわかっていますが、タブ内でターミナルを実行できるようにしたいと思います。
305 vim 


4
Vimdiffで差分セクションを展開/折りたたむ方法は?
私は今日vimdiffを使い始めて、Windowsベースのdiffエディターで当たり前にしてきたことのいくつかを実行したいと思っています(diffセクションを展開/折りたたむ、ファイルを完全に展開する/上に3つのコンテキスト行がある差分のみ、または以下など)。私は現在、次のコマンドだけを知っています: キーボードショートカット: do -他のウィンドウから現在のウィンドウへの変更を取得します。 dp -現在のウ​​ィンドウから他のウィンドウに変更を入れます。 ]c -次の変更にジャンプします。 [c -前の変更にジャンプします。 CTRL+ W、w-別の分割ウィンドウに切り替えます(少し後でキーを離した場合に備えて、CTRL+ W、CTRL+ Wも同じことを行いCTRLます)。 同様の機能を複製できるように、誰かが私を正しい方向に向けることができますか? たとえば、diffの周りの行を展開/折りたたみできると便利です。




6
Gitのテキストウィンドウを終了するにはどうすればよいですか?
私はWindowsを使用していますが、コミットする前に、Gitからテキストメッセージを入力するよう求められ、新しいテキストウィンドウが表示されます。 どうすればこれを終了できますか? 私はGitを学ぼうとしています。したがって、少しの助けが高く評価されます。
275 git  vim 

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