以前に知っておきたいシンプルなVimコマンド[終了]


378

私はいつもVimで新しいコマンドを学んでいますが、だれもがたまに何か新しいことを学ぶと確信しています。私は最近これについて学びました:

zz、zt、zb-画面の中央、上部、または下部にカーソルを置きます

何年も前に学びたいと思う他の便利でエレガントなコマンドは何ですか?


46
技術的には、zz、zt、zbはカーソルを中央/上/下に配置して画面を配置します。位置にカーソル中/上/下使用時にはM、H、またはL.どちらのコマンドのセットが有用です!
ピーター

1
それ以来、この投稿を数か月または1年前に読んだことが、毎日助けてくれました。この投稿のおかげで、dapは1時間に複数回段落を移動するために使用するものです。
Funkodebat 2013年

33
私は、非建設的とマークされているページからそれほど多くのトリックを取り上げたことはありません:)ありがとうございます。
Tasos Bitsios 2014

回答:


315

挿入モードから切り替えるCtrlC代わりにEscを使用できることを私は本当に知りたいと思います。それは私にとって本当に生産性の向上になりました。


93
Caps-LockをEscに再マップしました。両方の通常のEscキーとCtrl-Cよりも簡単だということ
カスパー

114
神聖ながらくた。15年間のviと私はこれを知らなかった...
Chris K

31
もう1つの人気は、ESCに「jj」を使用することでした。私はこれまでのところこのアプローチが好きです。:地図!jj <ESC>
クレイトロン2009

27
CTRL- [を使用することもできます(どちらも小指なので、両手の少しの回転だけなので、気に入っています)。
ジェイソンダウン

42
@claytronのバリアントとして「jk」を使用します。知らないうちにすでにINSERTモードになっている場合、jkは元の場所にいるので、いつでもヒットできます(クレジット:他の誰か...私の考えではありません)。
カイル

197

私が学んだ最も最近の「すごい」トリックは、複雑な検索と置換を行う方法です。かなり頻繁に過去に、私は置換を行うために本当に複雑な正規表現を持っていました、そしてそれはうまくいきませんでした。より良い方法があります:

:set incsearch             " I have this in .vimrc
/my complicated regexp     " Highlighted as you enter characters
:%s//replace with this/    " You don't have to type it again

ここでの「トリック」(より良い単語が必要な場合)は、検索を使用して正規表現を作成し(「incsearch」が文字を入力すると強調表示される)、空のパターンを置換で使用する方法です。 patternのデフォルトは、最後の検索パターンです。

例:

/blue\(\d\+\)
:%s//red\1/

に相当:

:%s/blue\(\d\+\)/red\1/

見る:

:help 'incsearch'
:help :substitute

1
うわー...私はこのようなものを探していました
figurassa

1
ええ、私はこのことをもっと早く知りたいと思います。しかし、繰り返しますが、それは私がvimで新しく学んだことすべてについて私が言うことです。
ロバートマサイオリ

26
これを本当に愛する人は、<Ctrl-R>/を押して最後の検索クエリを挿入してみてください。(を参照:help i_CTRL-R)上記と同様に非常に便利ですが、検索結果の一部をキャプチャする必要があります。(このように:%s:/\\([fF]rank\\) and mary/marie and \1/g
idbrii 2010

4
:%s//...*(カーソル下の検索語)でも機能します。visual-star-searchと呼ばれるプラグインは、の機能を拡張して*、ビジュアル選択のテキスト全体を照合します。これにより、選択したテキストを簡単に検索および置換できます。たとえば、v3e(視覚的に3語を選択)*(検索)および:%s//replacement/g(すべての出現箇所を「置換")。私はこれを頻繁に使用するため、グローバル置換コマンドのマッピングがあります:nmap <Leader>s :%s///g<left><left>
Patrick Oscity 2013年

1
@idbrii読んでいる人はVim noobs(me)である可能性があるため、である%s:必要が:%sあり、私のシステムでは、\(\)代わりに必要でした\\(\\)
Charlie Gorichanaz

155

私は私の友人のために最もよく使用するコマンドのこのリファレンスを作成しました:

select                                   v
select row(s)                            SHIFT + v
select blocks (columns)                  CTRL  + v
indent selected text                     >
unindent selected text                   <
list buffers                             :ls
open buffer                              :bN (N = buffer number)
print                                    :hardcopy
open a file                              :e /path/to/file.txt
                                         :e C:\Path\To\File.txt
sort selected rows                       :sort
search for word under cursor             *
open file under cursor                   gf
  (absolute path or relative)
format selected code                     =
select contents of entire file           ggVG
convert selected text to uppercase       U
convert selected text to lowercase       u
invert case of selected text             ~
convert tabs to spaces                   :retab
start recording a macro                  qX (X = key to assign macro to)
stop recording a macro                   q
playback macro                           @X (X = key macro was assigned to)
replay previously played macro *         @@
auto-complete a word you are typing **   CTRL + n
bookmark current place in file           mX (X = key to assign bookmark to)
jump to bookmark                         `X (X = key bookmark was assigned to
                                             ` = back tick/tilde key)
show all bookmarks                       :marks
delete a bookmark                        :delm X (X = key bookmark to delete)
delete all bookmarks                     :delm!
split screen horizontally                :split
split screen vertically                  :vsplit
navigating split screens                 CTRL + w + j = move down a screen
                                         CTRL + w + k = move up a screen
                                         CTRL + w + h = move left a screen
                                         CTRL + w + l = move right a screen
close all other split screens            :only

*  - As with other commands in vi, you can playback a macro any number of times.
     The following command would playback the macro assigned to the key `w' 100
     times: 100@w

** - Vim uses words that exist in your current buffer and any other buffer you may have open for auto-complete suggestions.

「〜X」をリストして、名前Xのマークに移動します。これは私には機能しません。代わりに「 'X」(一重引用符)を使用します。

ワオ。あなたの絶対に正しい。ガイドを入力しているとき、目はチルドだけを見ていて、バックティックの上に光沢があると思います。それに応じて更新します。ヘッドアップをありがとう。
ブライアンニューマン2009

5
このリストはいいですが、このテーブルをどのように描いたのか本当に知りたいですか?VIMで?どのプラグイン?現在探しています。
ケント

6
VIMを使用しましたが、プラグインは使用していません。しかしながら; ブロック選択機能を使用すると、比較的簡単にできます。リストが役に立ったとうれしいです!〜ブライアン
ブライアン・ニューマン

11
ブロック選択のためのCtrl-Qは、CTRL-Vによる貼り付けを可能にするmswin.vimの特殊性です。ほとんどのvimユーザーはこの悪事を考慮し、mswin.vimを無効にします。「+ PまたはCtrl-R +は、ハードは、クリップボードの内容を挿入するために入力することではありません。
ブノワ

144

giは挿入モードに切り替わり、以前と同じ位置にカーソルを置きます。


29
これを知って私はとても幸せでしg;た。涙が出てきました:-)
Patrick Oscity 2013

@longdeqidaoはまったくありません。最後の挿入点に戻ります。だからあなたはあなたの心のコンテンツをスクロールすることができ、それはあなたが最後に挿入していた場所にあなたを引き戻すでしょう。
Cyber​​ Oliveira

9
参考までに、g; (上記の@PatrickOscityを参照)は、編集が行われた場所にカーソルを置きます。複数回使用して、履歴に戻ることができます。私のvimのヘルプは、奇妙な理由でこれについて言及していないため、ここでこれに注意してください。
PonyEars 2015

13
Vimの直感は、私を感動させることを止めることはありません。@PonyEarsが言及したのでg;、それの「反対」が見当がつかないかどうか試してみたのでg,、前後に進むことができます!
Cyber​​ Oliveira

a短いです。:)しかしgi、実際には非常に直感的であり、g通常は反対の操作です。
Erwin Rooijakkers

105
:q!

私が初めてviを始める前に、そのことを知っていればよかったのです。


23
emacsの人として、これは私が読んだ最もおかしいコメントです。あなたがそれがそうであることを意味していたかどうかはわかりません。あなたは今日私を幸せにしました。
pjammer

29
同じ日に初めてvimとemacsを試してみたが、終了方法もわからなかった。これらの人々の一体何が間違っ
physicsmichael 2013

13
+1。vimを初めて起動したときのデフォルトのメッセージは、「write:q to quit」です。私は笑そんなに時間節約だろう
ホセ・ラモン・

2
@JoséRamónしかし、それはありませんあなたがファイルを開くことなく、vimの入力した場合、デフォルトでは画面上に表示されます。これは最近追加されましたか?何年も前にvimを試してみたことをはっきり覚えていますが、それはすでにそこにありました。また:q!、バッファを保存せずに終了しようとした場合に使用するように指示します。
mechalynx 2014

5
@ivy_lynxはい、あなたは正しいかもしれませんが、ファイルなしでvimを開いた場合のみです。通常、vimを初めて開くのは、Unixで設定ファイルを編集する必要があるためです。そのため、「$ vim file」と記述しても、解決策を見つけることができません。それとも私だけですか?
ホセ・ラモン

56

^ XFは、現在のディレクトリのファイル名を使用して完了します。端末からのコピー/貼り付けや面倒な二重チェックは不要です。

^ XPは現在のファイルの単語を使用して完了します

:set scrollbindは、1つのバッファーを強制的に別のバッファーと一緒にスクロールします。たとえば、ウィンドウを2つの垂直ペインに分割します。それぞれに1つのファイルをロードします(おそらく同じファイルの異なるバージョン)。行い:set scrollbind、各中。1つをスクロールすると、両方のペインが一緒にスクロールします。ファイルの比較に最適です。


スクロールバインドを有効にしたら、無効にする方法は?
Amjith、2009

2
jinxed_coder:set noscbオフにして、オンにするために使用:set scbします(ではありません:scrollbind)。:h scrollbind
jmdeldin 2009

おっと。':set scrollbind'を修正しました。
ブライアンアグニュー

7
^ XPはファイル内の前の単語を優先して完了し、^ XNはファイル内の次の単語を優先して完了します。
u0b34a0f6ae 2009

また、file1を開いて:diffsplit file2vimを実行するか、vimをで開始することでファイルを比較することもできますvim -d file1 file2。Vimは自動的に2つのファイルをスクロールバインドします。
ブライアンマクチョン

51

コマンドのセット全体を使用して、括弧/括弧/引用符/タグ内のテキストを変更できます。グループの開始と終了を見つける必要がないことは非常に便利です。試すci(, ci{, ci<, ci", ci', ct変更するオブジェクトの種類に応じて。また、ca(, ca{, ...バリアントは角かっこ/引用符も削除します。

覚えやすい:かっこで囲まれたステートメント内の変更/かっこで囲まれたステートメントの変更


16
これはだけではありませんcd削除するには、これを行うことができます(例:di(またはda()、yヤンク、v選択など)
Nathan Fellman '18

こんにちは!これのドキュメントが使用していることを知りたいの:helpですが?どこにも見つかりません。> _ <
マテジ2012年

1
@ピーター私は以前にそれらをチェックアウトしましたが、特異な「内部+区切り文字」の動作についての言及を見つけることができませんでした。入っていることがわかりました:help motion.txt!ありがとう!
Matej

2
このヒントが、私が最初にviに切り替えた唯一の理由です:)
Justin L.

1
HTMLまたはXMLを編集している場合は、を使用citして現在のタグのコンテンツを変更できます。たとえばで<span>Some text</span>、カーソルが「m」の上にある場合はdit、取得することができます<span></span>
ジョナサン・ポッター

47
  1. Esc今までにプレスしないでください。その理由については、この回答をご覧ください。上記のように、Ctrl+ Cはより良い代替手段です。Caps Lockエスケープするためにキーをマッピングすることを強くお勧めします。

  2. Ctags互換言語を編集している場合、タグファイルや:taCtrl+ ]などを使用すると、複数のファイル間でもコードをナビゲートできます。また、タグファイルを使用したCtrl+ NおよびCtrl+ P補完は、キーストロークを削減するための優れた方法です。

  3. バッファーよりも幅が広いために折り返されている行を編集している場合は、gkとgjを使用して上下に移動できます。

  4. 悪い習慣を学ぶ前に、モーションコマンドの効果的な使用に集中してください。xaを何度も押す代わりに「dt」または「d3w」を使用するようなもの。基本的に、同じキーを繰り返し押すことに気付いたときは、同じことを達成するためのより良い/より速い/より簡潔な方法がおそらくあります。


11
Escapeを使用しないでください。それは異端です。Escapeは、仕事中でも仕事中でも、あなたの親友です。
xcramps

28
それがとても良い友達だとしたら、なぜキーボードから遠く離れているのでしょうか。
アンソニー

99%の人が使ったことがないからです。
Stefano Borini、

5
キーボードのエスケープは他のキーから数インチ離れています。見逃せません。
ブライアンカーパー、

15
#3は素晴らしい!まだ新しいことを学んでいます...
ブライアンニューマン

45

アスタリスクキーは*、カーソルの下の単語を検索します。

[+ Tabを押すと、カーソルの下にあるC関数の定義に移動します。(ただし、常に機能するとは限りません。)


1
* nixを使用している場合は、「man ctags」を試して、Cに加えて多くの言語で関数または変数の定義を見つける方法をvimに指示する「タグ」ファイルを生成する方法を学びます。定義を見つけるには、ctrl +]を使用します。カーソルの下にあるトークンを確認するか、:tag tokenToFindを使用して、認識しているトークンを検索します。"vim -t tokenToFind"でvimを起動して適切なファイルを開き、編集する必要のある関数にカーソルを置くこともできます。
Adam Liss、

23
#キーはカーソルの下の単語を逆方向に検索します
Funkodebat

github.com/bronson/vim-visual-star-searchは、ビジュアルセレクションのスター検索を可能にします。もう見逃したくない。
Patrick Oscity 2013

[ + Tab pathを必要なフォルダで拡張すると、常に機能しますset path+=path/to/files
dlmeetei

43

ZZ(のように動作します:wq

カーソルの位置について:常に画面の真ん中に留まるカーソルはかっこいいことがわかりました-

set scrolloff=9999

2
それを知りませんでした。:xそれも同様に
sa125 '25

18
完全に正確ではありません。のように機能し:x、変更がある場合にのみファイルを保存しますが、:wq常にファイルを保存します。
エリックB

ZQ(:q!のように機能)
xialu 2018

42

私のVimブレインストアに追加した最新のいくつか:

  • ^wi:ウィンドウを分割して、カーソルの下のタグにジャンプします。
  • cib/ciB:現在の括弧()または中括弧{}のセット内のテキストをそれぞれ変更します。
  • :set listchars=tab:>-,trail:_ list:他のスペースと視覚的に異なるタブ/末尾スペースを表示します。Pythonコーディングに非常に役立ちます。

4
これにはもっと投票が必要です! cib素晴らしいです。
マットパーカー

また、現在の単語を変更するciw(またはcaw、同じですが左手のみ)現在のW = oを変更するciW(rd)cの代わりにvと
同じ場合

5
CIBは「(CI」タイピングに相当します。また、あなたのvimrcが正しく設定されている場合、「CI [」、「CI {」、または()カッコ他のタイプのための「CIを<」、行うことができます。。
トム・ロード

2
また、タグ内のテキストを変更する「cit」。XML / HTMLを扱うときに非常に役立ちます。
Walter

必要に応じて、代わりに右中かっこを付けてサフィックスを付けることもできます。また、私はci}&について学びましたcit-すごい、これは非常に便利です。vi[m]とてもエキサイティングなプログラムを証明しています!
underscore_d


34

:shellはVimからシェルコンソールを起動します。たとえば、Vimを終了せずにスクリプトをテストする場合に便利です。シェルコンソールを使い終わったら、^ dを押すだけで、Vimと編集したファイルに戻ります。


:!sh難しすぎると思います。私が好む、それが現在のバッファまたは例えば使用からレジスタ/補完を使用してコンコマンドラインに簡単ですので、%/ %:h現在のファイル名に/ dirnameになど
sehe

1
これはとてもかっこいいです。私はそれを毎日使用しています。それ以前は、:wq、cliを実行し、同じファイルでvimを
再度開いてい

7
Ctrl-Zでシェルに切り替え、fg <ENTER>でvimに戻ります。
マリオG.

を入れmap <Esc>! :shell<CR>.vimrc、Alt +!またはAlt + Shift + 1でシェルを起動できます。(:!{cmd}{cmd}
記憶法

:shellただし、ネストされた新しいシェルレベルが開始されます。一方ctrl-zません。
wisbucky


31

vimcryption

vim -x filename.txt

パスフレーズを求められ、編集して保存します。これで、viでファイルを再び開くたびに、表示するパスワードを入力する必要があります。


これをDropboxと同期すると、本当に素晴らしいパスワードマネージャーが得られます;-)
Luis Nell

15
ただし、set cryptmethod=blowfish(7.3以降でのみ利用可能)でない限り、笑える強さのアルゴリズムを使用することに注意してください。詳細についてはhelp encryption、を参照してください。
AB

3
vim暗号化は使用しないでください。暗号化は適切ではありません。セキュリティが悪い場合は、なしの場合よりも最悪です。詳細:github.com/neovim/neovim/issues/694
rodrigoq 2014

2
dgl.cx/2014/10/vim-blowfish meta-tldr: "Vim 7.4.399で修正[ groups.google.com/forum/#!msg/vim_dev/D8FyRd0EwlE/bkBOo-hzTzoJ]、下位互換性の理由から必要新しいcryptmethodになるには、:set cm=blowfish2
underscore_d

28

Vim内からコードをビルドしてデバッグします!

構成

それほどではありません。Makefile現在のディレクトリにが必要です。

コンパイルします

Vimにいる間に、タイプ:makeしてシェルを起動し、プログラムをビルドします。出力がスクロールするときに心配しないでください。押すだけEnter終了したら Vimに戻ります。

魔法

Vimに戻ると、次のコマンドを自由に使用できます。

  1. :cl エラー、警告、およびその他のメッセージをリストします。
  2. :cc画面下部に現在のエラー/警告メッセージを表示し、コード内の問題の行ジャンプします。
  3. :cc nn番目のメッセージにジャンプします。
  4. :cn 次のメッセージに進みます。
  5. :cp 前のメッセージにジャンプします。

さらにあります。興味がある場合は、:help :ccVimから入力してください。


1
単にコードをコンパイルするだけではありません。つまり、Makefileで記述されたタスクはすべて、この目的に最適です。
ドワイトスペンサー

25

^ Pおよび^ N

前の(^ P)または次の(^ N)テキストを入力します。

^ Oおよび^ I

前の場所(^ O-「O」)に移動するか、次の場所(^ I-「O」のすぐ近くにある「I」)に移動します。

検索やファイルの編集などを行うと、これらの「ジャンプ」を前後にナビゲートできます。

マーク

ma(m-マーク、a-マークの名前)を押します。後でその位置に戻るには、`aと入力します。


1
うわー、^ Oと^ Iについては知りませんでした。:help jump-motions誰かがより多くの情報を必要とする場合に備えて、回答にetcを含める価値があるかもしれません。
DrAl 2009

ShowMarks vim.org/scripts/script.php?script_id=152を確認してください。それはあなたがあなたのすべての印がバッファのどこに、そして何が何であるかを思い出すのを助けます。\ mtで視覚化のオンとオフを切り替えることができます
テスター

^ Pと^ Nの違いが
わかり

@lajarre彼らは反対方向に利用可能な完了のリストを循環します
Patrick Oscity 2013

2
最後に編集したファイルをもう一度編集したいことに気付いた後、Vimを開くときに^ O ^ Oをよく使用します。巨大な時間節約!
Patrick Oscity 2013

24

%カーソルが引用符、かっこ、角かっこ、中かっこにあるときに押して、一致を見つけます。


20
カーソルがそれらのいずれにも重なっていない場合、カーソルはそれらの1つに当たるまで右に移動します。
Cyber​​ Oliveira

@レオ:ボーナスチップをありがとう!
Adam Liss

22

[文字](t)まで。範囲を受け入れるすべてのコマンドに役立ちます。私のお気に入りは、ct;またはct)、末尾のセミコロン/閉じ括弧までをすべて削除してから、挿入モードにすることです。

また、Gggも便利です(それぞれ下と上に移動します)。


ここで最高のもの、他のいくつかも有用ですが、私はすべてのことをすでに知っていました
Funkodebat

1
またf代わりにt、その意志[アクション]アップを通じて、その文字。たとえば、関数の引数の先頭にカーソルがあると、df,それは削除されます(もちろん、適切な言語では)。
Actorclavilis 2013年

tとfは、キャメルケース変数の一部を編集するのに最適です。たとえば、行を複製しただけでfirstVariableをsecondVariableに変更する必要がある場合は、カーソルをfirstVariableの先頭に置き、ctV
Greg

1
TとFも機能しますが、反対方向です。
Fede

20

^r^w コマンドモードでカーソルの下に単語を貼り付けます。

これは、grepコマンドまたはreplaceコマンドを使用するときに非常に役立ちます。


必要な単語がそれだけの場合、通常モードの*はカーソルの下の単語を検索します。
idbrii 2010


17

基本的なビジュアルブロックモードのことは以前に知っていたらよかったのに。他の目的でVimを使用しない場合でも、一部のブロック操作のためだけにVimでファイルを開くと、時間を大幅に節約できます。この種のことを手作業で行うのに膨大な時間を費やしたと確信しています。

例として、シンボリック定数名のリストを一貫してリファクタリングする場合に特に便利だとわかりました。

(ビジュアルブロックモード入力Ctrl+のQ代わりに、Windows上で私のためCtrl+ V

カーソルを移動して、目的のブロックを強調表示します。

次に、I whatever textを押しEscて、すべての行のブロックの前にテキストを挿入します。

A代わりにIを使用して、すべての行のブロックの後にテキストを挿入します。

また、単にビジュアル選択のケースを切り替えるだけで、~時間を大幅に節約できます。

そしてdもちろん、単に列も削除します。



14

q <文字>-マクロを記録します。

そして

@ <same-letter>-再生します。

これらはVimで最も便利なコマンドです。コンピューターにたくさんの仕事をさせてくれるので、プログラムや何かを書く必要さえありません。


の使用はq問題を単純化しますが、使用する必要はありません。"たとえば、バッファを使用して、名前付きバッファにバッファコマンドを保存します。たとえば、a"ad$
Mei

@Mei qはマクロを記録します。マクロには、テキストだけでなくコマンドを含めることができるため、"ad$とは異なりqaます。
Brian McCutchon 2014

@Sortofabeginnerそれはここでは無関係です。QAバッファにコマンド「広告の$プットのテキストは、それを実行します。
メイ

2
@Mei qaはそれを実行しません。qa記録して@a実行します。あなたが、プレーンテキストでマクロを記述するレジスタに格納することができますことは事実であるaようなものと"ad$し、その後でそれを実行する@aが、これはかなり多くの作業です。カットアンドペーストとレコードアンドランには基本的な違いがあります。
Brian McCutchon 2014

どー!私はそれを知っていました。修正をありがとう
Mei

13

タブを使用して複数のファイルを開く

:tabe filepath

開いているファイル間を移動する

gt and gT or :tabn and :tabp

開いているセッションを保存して、後で開いているファイルのリストに戻ることができるようにします

:mksession session_file_name.vim

作成したセッションを開く

vim -S session_file_name.vim

一度にすべてのファイルを閉じる

:qa

最近学んだ別のコマンド

autocmd

イベントでコマンドを実行できるので、たとえば、次のようなものを使用してファイルを保存するときにコマンドmakeを実行できます。

:autocmd BufWritePost *.cpp :make

12

qxはキーストロークの記録を開始します。ほとんどすべての編集タスクを実行でき、Vimはそれを記憶しています。ヒットQ再び作業が終了している、とプレス@xあなたのキーストロークを再生します。これは、マッピングを作成するには複雑すぎる反復的な編集に最適です。x以外の文字を使用すると、多くの録音を作成できます。


5
また、同じ文字「x」が「q」レコードマクロコマンドと名前付きクリップボード(「x ...」)の間で共有されます。マクロのスニペットをファイルの周りに残して、名前付きクリップボード(たとえば、「xyy」にコピーできます。 )そして、それらを再生します(@x)。
サイバーオリベイラ

そして、これまでにawesomistマクロを作成した場合、「let @x = ""」を使用してそのクリップボードを_vimrcに貼り付け(「」内にマクロを配置)、それを永久に保存できます。
カーンズ、2013

11

私のお気に入りの1つは、ヘルプウィンドウを新しいタブに配置することです。

:tab help <help_topic>

これは新しいタブでヘルプを開き、Vimタブを愛する誰かとして、これは途方もなく便利です。


2
バッファはvimのタブです。それらは、vimワークフローによってより適切にサポートされます。タブがvimに追加されたのは、バッファを理解していない人が多すぎるためだと思います。
still_dreaming_1

そう言ってすぐにOK、vimでタブの使い方を見つけました。タブごとに1つのバッファーを使用している場合、バッファーについて学ぶ必要があることは事実です。これは、vimでのタブの使用方法ではありません。ほとんどの上級vimユーザーは、ほとんどのプログラムでタブが使用される方法でバッファを使用します。多くの人は、vimではタブはレイアウトと命名されるべきだったと考えています。それらは主に、ウィンドウの異なるコレクションを異なるタブで開くためのものです。また、特定のバッファを1つのタブでたくさん開いて、他のすべてのバッファを表示するために他のタブを使用することもできます。
still_dreaming_1

9

cw

単語の変更-カーソルの下の単語を削除し、挿入モードにして新しい単語を入力します。もちろん、これは他の移動キーでも機能するので、c $などを実行して行の終わりに変更できます。

f +文字

現在の行で次に出現する文字を検索します。したがって、vftを実行して、現在の行の次の "t"までのすべてのテキストを選択できます。これは別の移動キーなので、他のコマンドでも機能します。


9

:b [any portion of a buffer name]バッファを切り替える。したがって、「somefile1.txt」と「someotherfile2.txt」の2つのバッファがある場合、単にを使用して2番目のバッファに切り替えることができます":b 2.t<enter>"。必須ではありませんが、タブ補完もサポートしています。

タブ補完と言えば、この設定:set wildmode=full wildmenuも非常に役立ちます。コマンドモードの完全なタブ補完と、それを使用するときに可能なすべての一致の非常に役立つncursesスタイルのメニューを有効にします。


9

:%s、/検索、/置換、

/(スラッシュ)以外の文字を使用して、置換のパターンを区切ることができます。これにより、ファイルパスのスラッシュをエスケープする必要がなくなります。


2
ああ地獄はい。私sedはこれがあることを知っていましたが、知りませんでしたvim。もっと知る♒☆
beerbajay 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.