2017-01-05 3 views
4

は、カーソルがキャレットに位置してvimの中のテキストの行を考えると、ユーザーがコマンドモードになっている:vimで前の文字を削除するにはどうすればよいですか?

sales_tax: row["sales tax"] , 
____________________________^ 

],の間のスペースを削除する最速の方法は何ですか?あなたは、単にコマンドモードで(つまり移動は+デル文字を左)(シフト + Xである)

+0

あなたは挿入モードまたはコマンドモードになっていますか? –

+0

コマンドモード。両方のモードでそれを行う方法に対処する答えは、ボーナスになります。コマンドモードを指定する質問が更新されました。 – jerzy

+1

挿入モードになっている場合は、バックスペースキーを押すだけですが、コマンドモードコマンドを1回実行してすぐに挿入モードに戻ることができるctrl-oが便利です。 http://vim.wikia.com/wiki/Use_Ctrl-O_instead_of_Esc_in_insert_mode_mappingsを参照してください。 @ Axnyffの答えはここで最高です。 –

答えて

14

もオプションです。

3

シンプルhxXを使用する必要があります

+0

それはまだそれをdownvotingする正しい答えですか? –

+0

@ Meninx-メネンクス私の質問は「最速の方法は何ですか?」と述べました。 – jerzy

+0

@jerzy '明らかに、おそらくは危険な誤解をした(...)遭遇するたびに、あなたの下垂体を使用します。この答えは間違っていますか?それはいくつかの初心者のために便利かもしれません。 –

-1

すでに2つの大きな回答があります。バックスペースボタンが通常のモードの間に前の文字を削除したがっていると仮定しましょう。 (Axnyff's answerに述べたように)あなたが通常モードでBackspaceキーを打つ時はいつでもこれはXコマンドを発行するためにVimを教えてくれます

nnoremap <silent> <backspace> X 

:あなたの~/.vimrcファイルに次の行でその動作を変更することができます。私はこれが好きだと思う。今は私の~/.vimrcに住んでいます。

+0

私は「」/「」機能を使って私の心の中で本当にうまくマッチするバックスペースを個人的に見つけました。 'nnoremap ' –

+0

'backspace'が' X'ならば、 'backspace'は何ですか?個人的には、デフォルトの動作と衝突する再マップを避けるため、私はvimrcを持たないマシンにsshをインストールするときに非標準の機能に慣れません。 – jerzy

+0

デフォルトでは、バックスペースキーはノーマルモードで面白いことはしません。スペースバーがデフォルトで 'l '(カーソルを右に移動)にマップされるのと同様に、デフォルトでは' h'(カーソルを左に移動)します( ':help '参照)。他のコメント欄がバッファーで再生するように再マッピングされています。 –

関連する問題