4

vimコマンドモードでファイルをコピーしていて、カーソルが行末にあるとしましょう。

:!cp path/to/original/file path/to/new/file

と入力してシェルでできるように、単語をジャンプして戻す方法はありますEsc bか?

4

4 に答える 4

5

「Esc b」は使用できません。これは、明らかに、入力したコマンドが破棄されるためです。ただし、いくつかのキーをバインドして移動することができます。

ここですでに回答されている質問:Vimのコマンドモードでのナビゲート

簡単な方法は、追加するだけです:

cnoremap <C-a> <Home>
cnoremap <C-e> <End>
cnoremap <C-p> <Up>
cnoremap <C-n> <Down>
cnoremap <C-b> <Left>
cnoremap <C-f> <Right>
cnoremap <M-b> <S-Left>
cnoremap <M-f> <S-Right>

あなたの .vimrc で

于 2012-09-07T09:52:34.930 に答える
2

For entering and editing complex commands, you may like working directly in the command line window which is accessed with the normal mode command q:. See :h 20.5 and :h q:. Or if you are already in command mode, you can access the command line window with C-f.

  • For example, in normal mode type q: to get into the command line window. (or type C-f from command line mode.
  • You can move around previous commands using standard motions and you can edit as usual.
  • When you want to execute a command that you just edited, press enter in normal mode in this command line window. The line your cursor is on will be executed as a command in
    the window you were in before you opened the command line window.

Another option to consider is to edit/yank the command from another buffer. You can do this by yanking the desired text and pasting it in command mode by typing C-R n, where n is the register you yanked to.

BTW: I like the mappings that @rks provided. But if you don't have these mappings, you can use the out of the box commands. Look up :h c_<S-Left> and :h c_<S-Right> and :h 20.1.

于 2012-09-07T20:28:30.683 に答える
2

素晴らしいvim機能はctrl-f. コマンド ライン モードからの入力(またはオプションで^f指定された任意のキー、デフォルト) は、通常モードからの入力と同じ効果があります。コマンド履歴全体をウィンドウに取り込み、それをバッファとして編集できるようにします。詳しくはお試しください。ceditctrl-fq::help cmdwin

于 2012-09-07T17:29:21.360 に答える
0

vim のコマンド モードでは、ctrl-left と ctrl-right の矢印のみを使用します。同じことがbashでも機能します-私はそこでesc-bメソッドを知りませんでした。

私のUbuntuおよびDebianシステムではこれに.vimrcファイルを編集する必要はありませんが、他のシステムではYMMVが必要です。おそらく、OS用にパッケージ化された標準構成に基づいています

于 2015-08-10T16:41:20.623 に答える